MongoDB vs HBase vs Elasticsearch 简要对比

zhexy 整理特性 大数据 Markdown

MongoDB、HBase、Elastcsearch都是当今大数据存储领域非常火爆的NoSQL产品,但是彼此特性不一,使用的场景也不尽相同,下面依次整理三者的特性与优缺点。

MongoDB

MongoDB 是文档数据库的典型代表,是NoSQL领域最接近RDBMS的数据库。主要特性总结如下:

  • 表结构灵活可变,字段类型可以随时修改
  • 支持JSON结构管理数据
  • 支持事务,并且在4.0版本全面支持ACID

缺点:

  • 适合表结构经常改变,数据逻辑结构不负责,且不需要夺标查询的操作,支持数据量大: 对于多表联查或者复杂的聚合操作性能不高。

ElasticSearch

ES主要业务在于搜索领域,并且在近些年超越了Solr,位列搜索领域数据库第一。ES的特性主要如下:

  • 支持全文检索
  • 支持各种主流语种的分词器
  • 可以支持高性能复杂的聚合查询
  • 支持JSON结构管理数据

ES的缺点如下:

  • 字段类型无法修改
  • 写入性能相对HBase,MongoDB较低
  • 不支持事务,无法代替RDBMS

HBase

HBase是Hadoop家族的一部分,也是基于Google的BigTable论文实现。主要特性如下:

  • 列式存储,可以支持百万列存储
  • 支持多种压缩格式
  • 底层文件存储HDFS,高度依赖于Hadoop
  • **由Zookeeper管理跟踪RegionServer,保存根region地址 **
  • 扩展性极强

主要缺点如下:

  • 事务支持不完备,仅支持行级事务
  • 不适合复杂联表查询,聚合查询
  • 依赖很多,需要很多Hadoop组件

你可能感兴趣的:(MongoDB vs HBase vs Elasticsearch 简要对比)