`

Cassandra HBase和MongoDb性能比较

阅读更多

详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp68
这是一篇基于亚马逊云平台上对三个主流的NoSQL数据库性能比较,在读写两个操作不同的组合情况下性能表现不同。

横坐标是吞吐量,纵坐标是延迟,这是一对矛盾,吞吐量越大,延迟越低,代表越好。

1. 纯粹插入,Cassandra领先,见下图:


2.WorkloadA: 读修改操作各占一半情况下的修改性能:MongoDB明显延迟增加,落败:


3.WorkloadB:读修改操作各占一半情况下的读性能:Cassandra落后


4.WorkloadB: 95%的read和5%的update以读为主的场景下修改性能:MongoDB落后:


5.WorkloadB: 95%的read和5%的update以读为主的场景下读取性能:
三者差不多,HBase好些:


6.WorkloadC 100%的read:


7.WorkloadD 5%的插入和95%的读的场景下插入性能,Cassandra表现最好。


8.WorkloadD 5%的插入和95%的读的场景下读性能,Cassandra表现最好。


9.WorkloadF 50%的read-modify-write 和50%的read,读取性能:


10.WorkloadF 50%的read-modify-write 和50%的read,修改性能,MongoDB表现最差


11.WorkloadF 50%的read-modify-write 和50%的read,read-modify-write性能,MongoDB表现最差


12.WorkloadG 90%的插入insert和10%的读取,插入性能:


总体个人总结:HBase比较中庸些,适合各种场景,Cassandra适合读写分离的场景,写入场景使用Cassandra,比如插入操作日志,或领域事件日志的写入;而MongoDB适合做读写分离场景中的读取场景,Cassandra与MongoDB之间使用定时同步,适合一致性要求不是特别强的业务。

分享到:
评论

相关推荐

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

    非关系数据库(经常被称为NoSQL)的特点是...为了向客户的项目提供最好的NoSQL方案,Altoros针对几种NoSQL数据库测试了多种工作负荷下的性能。本文概述了针对几种市面上最成熟也是最流行的NoSQL数据库性能测试的结果。

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

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

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

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

    NoSQL性能测试包YCSB

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

    HBase Essentials

    作者Nishant Garg凭借其在软件架构和开发领域的丰富经验,特别是在Java、Java Enterprise Edition、SOA、Spring、Hibernate、Hadoop、Hive、Flume、Sqoop、Oozie、Spark、Shark、YARN、Impala、Kafka、Storm、Solr/...

    MongoDB面试专题.pdf

    - 列式存储:如Cassandra、HBase - 图数据库:如Neo4j NoSQL数据库的优点包括但不限于: - 高性能:在处理大量数据时,NoSQL可以提供更高的性能。 - 高可用性:很多NoSQL数据库支持分布式部署,容错能力强。 - 易...

    几种主流No SQL的测试和比较

    对于FEATURELIST字段,MongoDB和HBase被考虑作为存储选项。MongoDB提供了灵活的文档存储结构,适合Schema-free的需求;而HBase则以其强大的列族存储能力和横向扩展性,适用于大数据量存储场景。对于勋章维度和Sku...

    Hbase架构简介、实践

    HBase社区选择了一致性和分区容忍性(CP),这意味着在发生分区时,系统会选择保证数据的一致性而非可用性;相比之下,Cassandra则选择了可用性和分区容忍性(AP)。 #### HBase的主要适用场景 HBase特别适合以下...

    YCSB之HBase压力测试.pdf

    它支持包括Cassandra、MongoDB、HBase、Redis在内的多种NoSQL数据库。用户可以通过配置不同的workload(工作负载)和DB来模拟不同的应用场景,并且可以指定线程数和并发数等参数以适应不同的测试需求。 安装和配置...

    Cassandra-架构讲解

    Cassandra是一款高性能、高可用性的分布式NoSQL数据库,其架构设计主要应对...这些设计使得Cassandra能够在大规模分布式环境中展现出优越的性能和良好的可伸缩性,适用于需要处理大量数据和高并发读写场景的应用。

    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 ...

    Cassandra关键技术详解[整理].pdf

    大数据促进了 NoSQL 的迅速繁荣,出现了大量的技术多样的 NoSQL 系统,这些 NoSQL 系统主要可以分为三大类:即文档系统(MongoDB)、键值系统(Cassandra、Hbase)和图系统(Neo4J)。 1.2 Cassandra NoSQL 数据库...

    2021Java字节跳动面试题——面向字节_MongoDB.pdf

    - **列族数据库**:如Cassandra、HBase,适用于大数据分析和实时查询。 - **图形数据库**:如Neo4j,专门处理具有复杂关系的数据。 #### 知识点三:MySQL与MongoDB之间的差异 - MySQL是一种关系型数据库管理系统...

    JAVA_MongoDB面试专题.pdf

    3. MySQL与MongoDB作为两种不同类型的数据库,主要区别在于数据表示、查询方式、事务处理、模式设计和性能。MySQL是关系型数据库,支持ACID特性,适合事务处理;而MongoDB是非关系型数据库,更注重灵活性和高扩展性...

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

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

    藏经阁-Spark_ Data Science as a Service.pdf

    Sparkle还提供了RESTful API来控制所有方面的操作,并具有连接多种数据源的能力,如Cassandra、Hbase、MongoDB等。 Sparkle 的架构 Sparkle 的架构主要由三个部分组成: * Perpetual Spark Engine:这是Sparkle ...

    MongoDB 24 道面试题及答案.docx

    MongoDB设计的是轻量高性能的,因此没有传统的锁和复杂的事务的回滚,但是可以使用事务机制来确保数据的一致性。 为什么MongoDB的数据文件那么庞大? MongoDB会积极的预分配预留空间,防止文件系统碎片。 什么是...

    JAVA核心知识点整理[微信公众号:bugstack虫洞栈]=>推荐.pdf

    jvm、java集合、java多线程并发、java基础、spring原理、微服务、netty与rpc、网络、日志、zookeeper、kafka、rabbitmq、hbase、mongodb、cassandra、设计模式、负载均衡、数据库、一致性算法、java算法、数据结构、...

Global site tag (gtag.js) - Google Analytics