本文主要对主流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宕机恢复需要时间长。