`
m635674608
  • 浏览: 4929995 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

性能测试:SequoiaDB vs. MongoDB vs. Cassandra vs. HBase

 
阅读更多

测试结果

一、 场景1:单条记录导入

 

图2:单条记录导入场景

在单条记录导入场景中,SequoiaDB与MongoDB使用insert方法,writeConcern设置为Normal;HBase则设置客户端缓冲区为2KB。而在错误检验方式上,由于是单条记录插入,所以MongoDB必须在每次操作后检测返回值是否成功,因此不可以使用异步插入方式。

在图2的结果中可以看到,单条记录导入操作SequoiaDB最高,总吞吐量可以达到每秒钟近7万。而HBase与Cassandra则比较接近,在5-6万之间。MongoDB在该场景中表现较差,总吞吐量不到每秒1万。

在该场景中,YCSB在4台服务器上各启动24条线程,总共并发量为96线程。

二、 场景2:批量记录导入

 

图3:批量记录导入场景

批量记录导入场景的结果见图3。在该场景中,SequoiaDB与MongoDB使用各自提供的bulk insert方法;HBase则设置client buffer为4MB;Cassandra不提供批量数据导入方式。

在该测试中,批量导入数据为每批次3000条记录,每节点启动8条线程,总数32线程。

测试结果显示,SequoiaDB可以达到每秒钟近19万的导入速度,而MongoDB则与单线程导入的性能接近(1万左右),HBase也没有本质提升。

三、 场景3:单纯查询

 

图4:单纯查询场景

图4显示单纯随机查询的场景。在该场景中MongoDB表现最为突出,整体吞吐量达到每秒钟8万以上。SequoiaDB和Cassandra类似,大约为MongoDB的一半,在4万至5万之间徘徊。而HBase表现最差,未达到每秒1万的指标。

该场景每台物理服务器使用36条客户端线程,总数144条线程。

四、 场景4:查询导入平衡

 

图5:查询导入平衡场景

该场景主要模拟50%的插入和50%的查询业务(图5)。其中插入业务使用单条记录插入。

最终的结果显示,SequoiaDB的整体表现最优,平均达到每秒钟超过14000TPS,而MongoDB/HBase/Cassandra则比较接近,各自不到10000TPS。

五、 场景5:更新为主

 

图6:更新为主场景

如图6所示,更新为主场景模拟95%更新与5%查询的场景。该场景中,SequoiaDB表现最优,结果介于5万到6万之间每秒。

而MongoDB表现相对较弱,大约在5千每秒左右的数量级。

六、 场景6:查询为主

 

图7:查询为主场景

在查询为主的场景中,模拟95%查询+5%更新。在该测试中,SequoiaDB与Cassandra的性能接近单纯查询的场景,而更新操作对MongoDB的损耗相对较大,使其性能仅不到3万每秒。

HBase在随机读为主的场景下相对较慢。

七、 场景7:查询最新

 

图8:查询最新场景

查询最新场景为95%读+5%插入,并且读取的数据尽可能是刚刚写入的数据。

从图8中可以看出,SequoiaDB对于刚刚写入至内存中便读取的场景性能最佳,达到近4万每秒。

而MongoDB和Cassandra则相比场景6有明显下降,HBase依然性能较低。

结论

从第三部分的各个场景对比中可以看出,SequoiaDB数据库在数据插入场景中表现最为突出,甚至超过本身以插入性能著称的Cassandra,混合读写场景下性能也可圈可点。而业界普及率最高的MongoDB则在单纯读取性能上最为抢眼,远超其他。

HBase与Cassandra虽然在写入性能上远高于MongoDB,但是和SequoiaDB相比仍然逊色一筹;而在主键随机读操作方面,Cassandra的新版本和之前的版本比起来性能大幅度上升,基本做到和MongoDB处于同一水平线,而HBase则远不能和其他产品相比。

当然,这些比较也仅仅局限于YCSB所做的测试,而文档类数据库能够提供的二级索引等机制并非是YCSB所测试的。因此,文档类数据库能够提供比宽表类数据库更多的应用场景。

如此看来,对于宽表类数据库来说,如果在其最有优势的主场都败给了文档类数据库,这是否意味着,HBase和Cassandra最大的优势已经不再,文档类数据库会在各个领域的性能表现超越宽表呢?

 

http://www.csdn.net/article/2014-09-16/2821707-benchmark-test-of-MongoDB-SequoiaDB-HBase-Cassandra/2

分享到:
评论

相关推荐

    NoSQL性能评估(MongoDB,HBase,Cassandra):哪种数据库最适合你的数据?

    非关系数据库(经常被称为NoSQL)的特点是弹性和可伸缩性。另外,它们可以存储大数据并与云计算系统协同工作。这些因素导致非关系数据库非常...本文概述了针对几种市面上最成熟也是最流行的NoSQL数据库性能测试的结果。

    HBase.Design.Patterns

    The HBase design patterns apply equally well to Cassandra, MongoDB, and so on. In Detail With the increasing use of NoSQL in general and HBase in particular, knowing how to build practical ...

    Java核心知识点.PDF

    14.Hbase 15.MongoDB 16.Cassandra 17.设计模式 18.负裁均衡 19.数据库 20.一致性算法 21.JAVA算法 22.数据结构 23.加密算法 24.分布式缓存 25.Hadoop 26.Spark 27.Storm 28.YARN 29.机器学习 30.云计算

    Java 技术文档整理汇总大全

    14.Hbase 15.MongoDB 16.Cassandra 17.设计模式 18.负载均衡 19.数据库 20.一致性算法 21.JAVA算法 22.数据结构 23.加密算法 24.分布式缓存 25.Hadoop 26.Spark 27.Storm 28.YARN 29.机器学习 30.云计算

    JAVA核心面试知识整理

    14. HBASE 15. MONGODB 16. CASSANDRA 17. 设计模式 18. 负载均衡 19. 数据库 20. 一致性算法 21. JAVA 算法 22. 数据结构. 23. 加密算法. 24. 分布式缓存 25. HADOOP 26. SPARK 27. STORM 28. YARN 29. 机器学习 30...

    面试Java核心知识点整理

    [面试]Java核心知识点整理 ...14. Hbase 15.MongoDB 16.Cassandra 17.设计模式 18.负载均衡 19.数据库 20.一致性算法 21.JAVA算法 22.数据结构 23.加密算法 24.分布式缓存 25. Hadoop 26. Spark 27. Storm

    IT|Java|面试|宝典

    网络 9.zookeeper 10.kafka 11.rabbitmq 12.hbase 13.mongodb 14.cassandra 15.设计模式 16.负载均衡 17.数据库 18.一致性算法 19.java算法 20.数据结构 21.java算法 22.分布式缓存 23.hadoop 24.spark 25.storm 26....

    NoSQL性能测试包YCSB

    Yahoo 专门用于主流的 nosql 性能测试,java 编写,内集成 hbase,mongodb,cassandra,voldemort,redis。使用时注意需要将相应的数据库驱动复制到对应的数据库 lib 下面。

    Cassandra与HBase系统架构比对

    其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常...

    bigmap:一个封装了 hbase 和 mongodb 的 java 数据结构实现

    一个封装了 hbase、cassandra 和 mongodb 的 java 地图实现。 允许人们通过本机地图界面在这些 NoSQL 数据库中缓存对象。 它使 NoSQL 数据库的迁移变得容易。 这个想法也是为了让 Hazelcast 赚钱。 先决条件 您需要...

    第三届系统架构师大会全部的PPT

    Cassandra与HBase系统架构比对.pdf CDN运营支撑平台架构实践.pdf Defeat+Google+DNS:优化访问速度.pdf eBay数据仓库实践:元数据管理及应用.pdf Hadoop最新的研究重点和进展.pdf MongoDB简介与实践.pdf PowerHA+...

    benchmark:用于对 nosql 数据存储的插入、读取和查询进行基准测试的应用程序

    该项目旨在测试多种 NoSQL 数据存储库(如 MongoDB、Cassandra、HBase、Redis、Solr 等)的写入、读取和查询性能。 支持:MongoDB、Solr、Cassandra 在制品:HBase 跑步 先决条件: Java 混帐 cd /opt git ...

    Pro.Docker.148421829

    Next he moves on to NoSQL with chapter on MongoDB Cassandra, and Couchbase. Then he addresses the use of Docker in the Hadoop ecosystem with complete chapters on utilizing not only Hadoop, but Hive, ...

    spark-connect:Predictiveworks 的一个子项目,提供对 Cassandra、Elasticsearch、HBase、MongoDB、Parquet、JDBC 数据库和来自 Apache Spark 的其他数据源的通用访问

    Apache Spark 的公共访问层支持从多个 NoSQL 和 JDBC ... 以下大数据源支持读取请求: 卡桑德拉弹性搜索HBase MongoDB 实木复合地板此外,该项目还为与分析相关的数据源提供了越来越多的连接器: 谷歌分析 v3 Shopify

    JAVA核心知识点全集

    RabbitMQ、第十三章:Hbase、第十四章:MongoDB、第十五章:Cassandra、第十六章:设计模式、第十七章:负载均衡、第十八章:数据库、第十九章:一致性算法、第二十章:JAVA算法、第二十一章:数据结构、第二十二章...

    R.for.Programmers.Mastering.the.Tools.14987368

    Unlike other books about R, written from the perspective of statistics, R for Programmers: Mastering the Tools is written from the perspective of programmers, ...Appendix H: Installation of HBase

    JAVA核心知识点整理.7z

    留给自己当做 备份文档, 需要的自取. jvm java spring 微服务 网络 日志 Zookeeper Kafka RabbitMQ Hbase MongoDB Cassandra 设计模式 负载均衡 数据库 算法 Hadoop Spark Storm YARN

    Apress.Pro.Docker

    Next he moves on to NoSQL with chapter on MongoDB Cassandra, and Couchbase. Then he addresses the use of Docker in the Hadoop ecosystem with complete chapters on utilizing not only Hadoop, but Hive, ...

    使用Spark+Cassandra打造高性能数据分析平台

    摘要:Spark,强大的迭代计算框架,在...在对Spark内部实现有了一定了解之后,当然希望将其应用到实际的工程实践中,这时候会面临许多新的挑战,比如选取哪个作为数据仓库,是HBase、MongoDB还是Cassandra。即便一旦

    Pro Docker 无水印pdf 0分

    Next he moves on to NoSQL with chapter on MongoDB Cassandra, and Couchbase. Then he addresses the use of Docker in the Hadoop ecosystem with complete chapters on utilizing not only Hadoop, but Hive, ...

Global site tag (gtag.js) - Google Analytics