本文主要对主流NoSQL进行对比,从各个方面进行对比,意在不同场景下选择正确的 NoSql 数据库。本文主要对比HBase、Cassandra、MongoDB、LevelDB、DoltDB。
| 集群 | 数据一致性 | 事务 | 扩展能力 | |
|---|---|---|---|---|
| HBase | 支持 | 强一致性 | 不支持 | 动态扩容 |
| Cassandra | 支持 | 可调节 | 轻量级 | 虚拟节点,数据迁移 |
| LevelDB | 不支持 | |||
| BoltDB | 不支持 | |||
| MongoDB | Replica Set,Master-Slave | 强一致性 | 支持 | 命名扩容 |
| 存储模型 | NoSQL类型 | 语言 | 描述 | 公司 | |
|---|---|---|---|---|---|
| HBase | HDFS | column-oriented | JAVA | 实时数据查询 | |
| Cassandra | CommitLog Memtable SSTable | column-oriented | JAVA | CQL支持 | |
| LevelDB | Log Memtable SSTable | key-value | 多写少读 | 内嵌数据库 | 开源 |
| BoltDB | 单文件 | key-value | Golang | 内嵌数据库 | 开源 |
| MongoDB | 文件 | document-oriented | C/C++ | 文档存储 | 开源 |
- HBase数据库在HRegionServer宕机恢复需要时间长。