BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

NoSQL基准对比Aerospike、Cassandra、Couchbase和MongoDB

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 孙镜涛 关注 2 他的粉丝 发布于 2013年4月24日. 估计阅读时间: 4 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

为了查看Aerospike、Cassandra、Couchbase和MongoDB这些数据库在处理插入吞吐量、最大吞吐量时的表现以及故障恢复期间的延迟时间和行为,最近的一个基准集合对这些数据库做了比较。

Thumbtack Technology发布了两个基准白皮书,其中包含了一些键—值存储的比较结果:超高性能 NoSQL基准: 分析持久性和性能权衡 (PDF) NoSQL故障恢复特性: AerospikeCassandraCouchbaseMongoDB (PDF)这两个基准都试图检测“直面客户的应用程序,它们需要非常高的吞吐量和低延迟时间,同时其信息又能够使用键-值模式表示”。

Thumbtack使用了一个改善版本的Yahoo! 云服务基准 (YCSB) ,该基准可以克服使用高容量多客户端时遇到的一些限制。YCSB的变化已经写入了第一个白皮书并且提交回了社区。

测试的NoSQL数据库包括AerospikeCassandraCouchbase (1.8 和2.0)和 MongoDB。第一个是商业化产品,最后一个是文档数据存储而不是键-值存储,但是因为“在我们遇到的客户端中经常考虑将它用于相似类型的应用程序中”,所以我们将之包含了进来。所有的数据库都使用其提供商提供的建议做了优化。测试系统使用SSD存储,而没有使用旋转磁盘。白皮书中详细记录了测试所使用的方法论、客户端、工作量配置以及硬件配置等信息。

Thumbtack承认它们和“Aerospike、Couchbase以及10gen有商业和(或)战略合作关系”,同时使用的硬件也是从Aerospike租用的。

下面列出了一些测试的基准结果。

插入吞吐量

数据库通过YCSB的加载路由执行了大量插入,载入了初始的工作集合。Couchbase在工作集合载入内存中时结果很好,但是在工作集合载入SSD时遇到了问题,Couchbase 1.8没有完成操作,而对Couchbase 2.0而言则必须使用较小的集合和异步模式。图中蓝色圆柱表示的就是Couchbase,Aerospike处在第二位。

1:插入吞吐量

注意:对Couchbase 2.0而言,SSD吞吐量使用的样本较小,同时是异步模式;而对Couchbase 1.8而言,即使减少数据集也不能加载。

最大吞吐量

该测试使用了一个“强持久性模型,在复制时使用了一个相对服务器的RAM而言非常大的数据集。该测试打算作为保证强持久性的事务型数据的使用典范”。

在这个图表中并没有Couchbase,因为使用同步复制时它无法完成测试。

2:最大吞吐量——SSD支持的数据集

在使用异步复制时,内存中的结果如下:

3:最大吞吐量——内存数据集

延迟时间/吞吐量

基准还测量了在不同级别的传输下读取和更新的延迟时间。下面的图表包含了一个完整视图和每个对应的缩放视图。

4a——4d:延迟时间/吞吐量结果(平衡负载)

故障恢复

Thumbtack还模拟了一个硬件错误,以便查看在一个节点无法工作时会发生什么:

注意:以上结果依赖于使用的驱动,像Hector这样较新的驱动能恢复到100%的吞吐量。同时假设监控脚本完美。

基准还测量了宕机时间,例如集群从发生错误开始到能够响应所需要的时间,所有数据库显示的值都合理:

6:宕机时间、异步复制和基于RAM的数据集

Thumbtack基准还包含了很多其他不同情况下的不同结果,但是此处并没有包含这些内容。

另一个NoSQL基准发布于2012年10月,其中对比了Cassandra、HBase、MongoDB和Rick。这些测试中还包含了MySQL,作为针对SQL技术的一个参考。

查看英文原文NoSQL Benchmark Compares Aerospike, Cassandra, Couchbase and MongoDB

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

难以置信 Cassandra 的性能 by sea blue

怎么从这个基准测试中看 Cassandra 相对其他几个测试的 NoSQL 有点 惨不忍睹 呢?能否从底层实现原理上来分析一下 Cassandra 相对其他 NoSQL 的差距的原因呢?

123 by 张章 鸥翔鱼游

看帖是学习,回帖是礼貌。。。

Re: 难以置信 Cassandra 的性能 by deng dereek

A*和couch都是写到内存就算成功的,而cassandra会有10s刷一次log

Re: 难以置信 Cassandra 的性能 by Wang Daniel

真心是。。 有点惊讶。。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

4 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT