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组件
网友评论