独立于供应商的NoSQL数据库比较:Cassandra, HBase, MongoDB, Riak

12 第二页
第2页共2页

MySQL集群的性能低于10 ops/秒,延迟为400 ms。它在集群中的节点上分区,因此系统使用一个优化器将SQL命令转换为查询计划。该计划的执行被划分到多个节点中。对于范围扫描,B-tree索引用于在表达式>、<或BETWEEN中进行列比较。

Sharded MySQL基于连接器端的键散列,不支持集群上的真实范围扫描。虽然单个碎片的运行速度大约为10 ops/秒,但整个分片设置的运行速度接近40 ops/秒,延迟高达400 ms。MyISAM缓存索引块,但不缓存数据块。可能会因为从OS缓冲区缓存中重新读取数据块而产生开销。

Riak bitcask存储引擎不支持范围扫描。这可以通过使用eleveldb的二级索引和引用主键的特殊$key索引来完成。在导入了50,000,000条记录后,Eleveldb的性能开始下降,我们又回到了bitcask。

*工作负载G:大部分插入模式。工作负载设置:

1)插入/阅读:90/10

2)最新请求分发

HBase在包含大量写操作的工作负载下显示了最佳结果。卡桑德拉是第二。MySQL集群的NDB引擎也可以很好地管理密集型编写。

结论

正如您所看到的,没有完美的NoSQL数据库。每个数据库都有其优点和缺点,这些优点或多或少取决于您的偏好和任务类型。

例如,一个数据库可以展示出色的性能,但是一旦记录的数量超过了某个限制,速度就会急剧下降。这意味着这种特定的解决方案适合中等的数据加载和极快的计算,但不适合需要大量读写的作业。此外,数据库性能还取决于硬件的容量。

几乎不可能在一篇文章中包含所有的性能图并描述所有的内容。您可以下载研究的完整版本,其中包含单独的章节专门用于每个数据库,YCSB和Amazon EC2配置细节,以及附录和其他性能图表http://altoros.com/nosql-research

我们希望这项研究对使用NoSQL解决方案的开发人员和试图选择数据库的客户都有用。Altoros的研发团队将定期修订和更新这项研究的信息,以涵盖新的数据库和最受欢迎的产品的发布。

关于作者:Sergey Bushik是Altoros的高级研发工程师。他有超过七年的基于java的项目实施经验,包括大数据处理、数据挖掘和Hadoop计算。Sergey拥有许多Java证书,是Sun认证的Java平台企业架构师。他经常在国际会议上发表演讲——最近,他在大数据会议(Sunnyvale, Calif.)、GOTO哥本哈根2012、Hadoop晚会(东欧)等会议上发表演讲。

加入网络世界社区足球竞猜app软件脸谱网LinkedIn对最重要的话题发表评论。

版权©2012足球竞彩网下载

12 第二页
第2页共2页
工资调查:结果在