zoukankan      html  css  js  c++  java
  • 【大数据-文摘笔记】MongoDB、Cassandra 和 HBase 三种 NoSQL 数据库比较

    1.超过100种的NoSQL 数据库,该如何选择?

    目前市场主要围绕在三个NoSQL数据库上:MongoDB,Cassandra(主要由DataStax开发的,诞生于Facebook),和HBase的(和Hadoop紧密关联在一起,也被相同社区开发出来)。

    补充一点,故意排除Redis,主要是因为相对于大数据存储,它主要用于高速内存缓存数据应用。

    上图来自于 DB-Engines 各种数据库的流行度排名(https://db-engines.com/en/ranking_trend),可以看到前面几年基本上都是关系数据库 Oracle、MySQL、SQL Server 以及 PostgreSQL 的天下。MongoDB 排名第五名, Cassandra 排名十名,而 HBase 排名十七名。

    2.MongoDB:源于开发人员,为开发人员服务

    MongoDB 通常是开发人员第一个尝试的NoSQL数据库,因为它是很容易学习。(MongoDB以文档的形式存储数据,不支持事务和表连接。因此查询的编写、理解和优化都容易得多。)

    MongoDB是专门为OLTP(On-Line Transaction Processing,联机事务处理系统)模式。如果您需要复杂的事务处理,它不是一个好的选择。然而,MongoDB的简单性使其成为一个优秀的存储。

    3.Cassandra:规模化安全运行

    MongoDB赢得人心的原因是简单的开发应用,Cassandra赢得人心是因为易于管理的规模。

    Cassandra在机器拓展部署上,表现特别出色。Cassandra自带的备份机制,保证各个数据中心的数据安全。至于增加容量到集群,“你只需启动一台新机器,并告诉Cassandra那里的新节点,然后它完成其他剩下的事情。

    4.HBase:Hadoop的知心伙伴

    HBase,像Cassandra一样是个通过key-value面向列存储的服务。HBase提供了一个基于记录的存储层,能够快速随机读取和写入数据,正好弥补了Hadoop的缺陷,Hadoop侧重系统吞吐量,而牺牲I / O读取效率为代价。

    HBase可以利用任何数量服务器的磁盘、内存和CPU资源,同时拥有极佳的扩展功能,如自动分片。当系统负载和性能要求不断增加,HBase的可通过简单增加服务器节点的方式无限拓展。

    由于它与Hadoop的生态系统紧密集成,对于用户和应用程序来说,数据是容易获取的,可以通过SQL的方式查询(使用Cloudera的Impala,Phoenix,或Hive),甚至自由文本搜索(使用Cloudera Search)

    参考文档:

    MongoDB、Cassandra 和 HBase 三种 NoSQL 数据库比较

  • 相关阅读:
    Metropolis(大都会):以太坊网络的下一个阶段
    《区块链开发技术综述》乱弹
    Ext.Net学习笔记09:Ext.Net Store的用法
    Ext.Net学习笔记09:Ext.Net Store的用法
    Spring整合redis配置文件详解
    Spring整合redis配置文件详解
    Spring整合redis配置文件详解
    Spring整合redis配置文件详解
    Android环境配置----在Ubuntu上安装JDK
    Android环境配置----在Ubuntu上安装JDK
  • 原文地址:https://www.cnblogs.com/badboy200800/p/11126112.html
Copyright © 2011-2022 走看看