分布式数据库种类繁多,根据数据模型、架构设计和应用场景的不同,可以分为以下几大类:
1. 分布式关系型数据库(NewSQL)
结合传统关系型数据库的ACID特性与分布式扩展能力:
- Google Spanner:全球强一致的分布式数据库,支持跨地域部署。
- CockroachDB:兼容PostgreSQL的开源分布式数据库,强调高可用和水平扩展。
- TiDB:开源MySQL兼容的HTAP数据库(支持混合事务/分析处理),基于Raft协议。
- YugabyteDB:兼容PostgreSQL和Cassandra API的分布式数据库。
- OceanBase:蚂蚁集团开源的金融级分布式数据库,支持高一致性和高可用。
2. 分布式键值(Key-Value)存储
- Redis Cluster:分布式内存键值存储,支持分片和高可用。
- etcd:基于Raft协议的分布式键值存储,用于Kubernetes等系统的配置管理。
- DynamoDB:AWS托管的NoSQL数据库,支持自动分片和低延迟访问。
- Apache Ignite:内存优先的分布式键值存储,支持SQL和事务。
3. 分布式文档数据库
- MongoDB Sharding:通过分片实现水平扩展,支持JSON文档模型。
- Couchbase:分布式文档数据库,兼具内存缓存和磁盘存储。
4. 分布式列族(Column-Family)数据库
- Apache HBase:基于HDFS的分布式列存储,适合海量数据高吞吐场景。
- Cassandra:去中心化的列族数据库,支持跨地域复制和高可用。
5. 分布式图数据库
- Neo4j Fabric:支持分布式图数据分片。
- JanusGraph:开源分布式图数据库,支持后端存储(如HBase、Cassandra)。
6. 分布式时序数据库
- InfluxDB Cluster:专为时间序列数据设计的分布式数据库。
- TimescaleDB:基于PostgreSQL的分布式时序数据库扩展。
7. 分布式搜索引擎
- Elasticsearch:分布式全文搜索引擎,支持近实时数据分析。
- SolrCloud:Apache Solr的分布式模式。
8. 多模型分布式数据库
- ArangoDB:支持文档、图、键值多种数据模型。
- Azure Cosmos DB:微软全球分布的多模型数据库,支持SQL、MongoDB、Cassandra等多种API。
9. 区块链数据库
- BigchainDB:结合区块链特性的分布式数据库,支持去中心化数据管理。
10. 边缘计算/物联网专用
- EdgeDB:为边缘计算优化的分布式数据库。
- TDengine:专为物联网时序数据设计的开源分布式数据库。
选择建议
- 强一致性需求:Spanner、TiDB、OceanBase
- 高扩展性&最终一致:Cassandra、DynamoDB
- OLTP场景:CockroachDB、YugabyteDB
- OLAP/HTAP场景:TiDB、ClickHouse(分布式列式存储)
- 开源方案:TiDB、CockroachDB、Apache项目(HBase/Cassandra)
不同数据库在CAP定理(一致性、可用性、分区容忍性)中的权衡不同,需根据业务需求(如延迟、吞吐、成本)选择。
866

被折叠的 条评论
为什么被折叠?



