写点什么

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

  • 2013-04-23
  • 本文字数:1371 字

    阅读完需:约 4 分钟

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

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

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

测试的 NoSQL 数据库包括 Aerospike Cassandra Couchbase (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

2013-04-23 03:139501
用户头像

发布了 321 篇内容, 共 119.6 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

架构实战营-模块4

Cingk

电商秒杀系统设计方案

Lane

模块四作业:千万级试卷结构设计

buoge

python--语句的多样性

加里都好

iOS官方瘦身方案ODR(二):换肤系统改造|践行 On-Demand Resources

LabLawliet

ios 独立开发者 apple 优化技巧 8月日更

读尽天下源码,心中自然无码

程序员阿杜

8月日更

架构实战营-毕业总结

笑春风

架构实战训练营模块四作业

NewBranSTONE

架构实战营

架构实战营 - 模块 4 - 设计千万级学生管理系统的考试试卷存储方案

雪中亮

架构实战营 #架构实战营

从0开始的TypeScriptの一:启航

空城机

typescript 大前端 8月日更

prometheus介绍与安装

Rubble

Prometheus 8月日更

架构实战营模块4作业

子豪sirius

架构实战营

FastApi-08-路径参数校验

Python研究所

FastApi 8月日更

二叉树遍历和分治

泽睿

算法 遍历 分治

模块四

Winston

模块四作业

king

阿里云-云开发平台计算篇——加强应用本身的计算能力

若尘

阿里云 云开发 8月日更

千万级学生管理系统试卷存储场景

张文龙

#架构实战营

软件测试基础面试常问问题

程序员阿沐

面试 软件测试 自动化测试 经验分享 测试工程师

番外3. Python OpenCV 中如何绘制各种图形?

梦想橡皮擦

8月日更

🏆【Git 实战专题】你知道git rebase如何让代码提交变得清晰明白吗?

洛神灬殇

git Rebase git rebase 8月日更

架构实战营基于redis哨兵模式的考试数据存储设计

慕溶枫

#架构实战营

毕业设计:设计电商秒杀系统

Johnny

架构实战营

毕业总结

梦寐凯旋

#架构实战营

架构实战营第四周作业——考试试卷存储

发酵的死神

架构实战营

printf函数的常用格式化输出

Changing Lin

8月日更

架构实战营总结

Lane

毕业设计

青鸟飞鱼

网络攻防学习笔记 Day99

穿过生命散发芬芳

态势感知 网络攻防 8月日更

架构实战营-毕业设计

笑春风

写作 7 堂课——【3. 碎片式写作】

LeifChen

时间管理 写作技巧 8月日更 碎片化 心流

NoSQL基准对比Aerospike、Cassandra、Couchbase和MongoDB_架构_Abel Avram_InfoQ精选文章