温馨提示:本文由厦门大学计算机系林子雨翻译自英文网站,转载请注明出处。
Amazon RDS和Xeround云数据库的详细比较
翻译:厦门大学计算机系林子雨(http://www.cs.xmu.edu.cn/linziyu) 翻译时间:2012年4月28日星期六
英文原文地址:http://xeround.com/cloud-database-comparison/amazon-rds-feature-comparison/
和通常的理解不同的是,Amazon RDS并不是一个真正弹性的云数据库服务,而是MySQL数据库在EC2平台上的实现,换句话说,它仅仅是一个运行在普通EC2机器实例上面的MySQL数据库。相反,Xeround是一个纯粹的云数据库,它提供了自动可扩展、弹性、高可用性,而且具备了DBaaS(Database-as-a-Service)的简单、自动和易用的特点。
Xeround和Amazon RDS之间的主要区别:
Xeround |
Amazon RDS |
基于规则的自动可扩展,不需要停止服务 |
手工扩展,需要停止服务 |
根据实际使用情况付费 |
根据每个实例来付费,存在过度消费问题 |
从来不会失败,即使Amazon实例出现问题。Xeround提供了一个高可用性、自我修复的数据库,不需要对外停止服务。 |
不能保证不停止服务,包括计划中的和非计划中的。 |
无限的数据库尺寸 |
受到Amazon RDS实例尺寸的限制 |
数据库配置不会改变应用程序的代码 |
|
对于高负荷的MySQL应用而言,Xeround可以比RDS提供高出700%的吞吐量和1/10的延迟。 |
|
Xeround云数据库和Amazon RDS之间的详细比较:
Feature/Function |
Xeround Cloud DBaaS |
Amazon RDS |
MySQL on EC2 |
MySQL兼容性 |
√ |
√ |
√ |
可扩展性 |
|
|
|
|
√ |
部分(读副本) |
部分(读副本) |
备注:Xeround云数据库的吞吐量和尺寸,可以实现线性的扩展和缩减,而且对读和写而言都是如此。相反,Amazon RDS只提供了部分读副本可扩展性,即通过增加更多的读副本来实现扩展,这对于读操作而言,可以实现更大的吞吐量,但是对于OLTP而言,并非如此。而且,这种方法会带来ACID兼容性问题。 |
|||
|
√ |
╳ |
╳ |
备注:Xeround云数据库可以实现基于负载的扩展和缩减,而不需要对应用做任何改变。 |
|||
|
√ |
╳ |
╳ |
备注:Xeround云数据库提供了自动的吞吐量弹性扩展,可以根据负载的变化而动态扩展或缩减吞吐量,不需要停止服务,也不需要对应用做任何改变。 |
|||
|
√ |
╳ |
╳ |
备注:Xeround云数据库支持完整的应用透明性,在扩展的时候,不需要进行代码的变更。而在Amazon RDS中,在进行扩展的时候,应用必须负责对负载进行均衡。这就需要在代码中嵌入某种负载均衡机制。 |
|||
簇 |
|
|
|
|
对称(没有主从之分) |
主/读副本 |
多主/主从 |
备注:对称簇模型,意味着所有的节点都是平等的。记录会在服务器之间平等地进行分发和复制。所有的副本都是主记录(master record)。 |
|||
|
没有冲突 |
没有冲突 |
在多主方式中可能存在冲突 |
备注:当在多个节点上对相同的数据进行更新时,服务器之间的数据同步操作是异步执行的,会存在冲突,而且这个冲突不好解决。这会违反ACID四性。 |
|||
|
√ |
对于Master可以并发,但是,对于读副本会有延迟 |
对于Master可以并发,但是,对于Slave会有延迟 |
备注:当采用异步复制技术时,在Master上执行的操作传播到其他副本上时,总会存在一定程度的延迟。这就使得读取副本时,会产生不一致性。 |
|||
可用性和恢复性 |
|
|
|
|
√ |
╳ |
╳ |
备注:Xeround云数据库可以自动确定和隔离失败,并且可以自动从服务器失败中恢复,而不需要应用去感知到失败的发生。 |
|||
|
√ |
可选 |
可选 |
备注:Xeround云数据库是分布式的,会维护数据的多个副本。因此,在失败时,数据库会利用现有的资源继续工作,不管这种失败是网络故障、硬件故障还是软件故障。新的资源会立即被分配去保证服务的可用性。 |
|||
分布性 |
|
|
|
多分区 |
√ |
√ |
√ |
备注:Xeround云数据库可以分布在多个可用的区域,既可以保证每个分区之间的低延迟,也可以在某个分区发生失效时,由其他分区继续提供对外服务。 |
|||
缓存 |
|
|
|
读/写 |
√ |
部分读 |
部分读 |
备注:Xeround对读和写都进行内存缓存。对于Amazon而言,只会对部分读进行数据缓存。 |
|||
DBaaS&Web管理界面 |
√ |
√ |
╳ |
备注:Xeround云数据库可以通过服务的方式获得,具备网页控制管理界面和自动配置功能。 |
|||
基于使用的付费 |
√ |
╳ |
╳ |
备注:Xeround是基于实际使用情况来付费。当你需要时,数据库会自动扩展,而你不需要时,会自动收缩,你只需要为你实际使用的部分进行付费,不需要过度消费,也不需要为高峰期预留处理能力。 |
(厦门大学计算机系林子雨 翻译)