测试结果
一、 场景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)的特点是弹性和可伸缩性。另外,它们可以存储大数据并与云计算系统协同工作。这些因素导致非关系数据库非常...本文概述了针对几种市面上最成熟也是最流行的NoSQL数据库性能测试的结果。
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 ...
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.云计算
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.云计算
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
- 列族存储数据库:如HBase、Cassandra等。 - 图数据库:如Neo4j、JanusGraph等。 #### 二、MongoDB概述 1. **MongoDB简介**: - MongoDB是一款开源的文档数据库,它使用BSON(Binary JSON)格式存储数据。 - ...
它支持包括Cassandra、MongoDB、HBase、Redis在内的多种NoSQL数据库。用户可以通过配置不同的workload(工作负载)和DB来模拟不同的应用场景,并且可以指定线程数和并发数等参数以适应不同的测试需求。 安装和配置...
15. MongoDB 的替代方案:Cassandra、CouchDB、Redis、Riak、Hbase 都是不错的选择。 16. Memcached:Memcached 是一个开源的、高性能的内存缓存软件,从名称上看 Mem 就是内存的意思,而 Cache 就是缓存的意思。...
2. NoSQL数据库种类繁多,如MongoDB、Cassandra、HBase等,每种都有其特定的应用场景和优势。 3. MySQL与MongoDB作为两种不同类型的数据库,主要区别在于数据表示、查询方式、事务处理、模式设计和性能。MySQL是...
特别是在Java、Java Enterprise Edition、SOA、Spring、Hibernate、Hadoop、Hive、Flume、Sqoop、Oozie、Spark、Shark、YARN、Impala、Kafka、Storm、Solr/Lucene以及NoSQL数据库如HBase、Cassandra、MongoDB、MPP...
网络 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....
- **面向列的数据库**:Cassandra、HBase、Hypertable。 - **优点**: - **处理速度快**:适合处理大规模数据的快速读写操作。 - **存储量大**:能够轻松应对PB级别的数据存储需求。 #### 三、HBase的特点 HBase...
- 示例产品:Cassandra、HBase、Riak。 - **文档型数据库**: - 特点:以文档形式存储数据,支持嵌套结构。 - 示例产品:CouchDB、MongoDB。 - **图数据库**: - 特点:以节点、边和属性的形式表示数据之间的...
而与Cassandra相比,HBase更注重一致性,适合需要强一致性的场景,而Cassandra则更侧重于高可用性和读写性能。 总的来说,HBase是一个强大且灵活的分布式数据库,适用于需要高效处理大规模结构化数据的场景。掌握...
3. 面向列的数据库:Cassandra、Hbase 属于这种类型 键值存储的保存方式有以下三种: 1. 临时性:“数据有可能丢失”,Memcached 属于这种类型 2. 永久性:“数据不会丢失”,Tokyo Tyrant、Flare 属于这种类型 3....
* 列存储型:HBase、Cassandra * 图数据库:Neo4j Redis、MongoDB、HBase、MySQL之间的差别是什么? * 数据的表示:Redis使用Key-Value,MongoDB使用文档型,HBase使用列存储型,MySQL使用关系型。 * 查询关系:...