分布式数据库
→ 返回 数据库
分布式数据库在存储层或 SQL 层原生提供分片、高可用、水平扩展,应用往往仍用标准 SQL / JDBC,而不必自行维护分库路由。与「单机 MySQL + 分库分表 + ShardingSphere」是两条常见演进路径。
两条扩展路径
路径 A:应用/中间件分片(渐进)
MySQL 单库 → 主从 → ShardingSphere 分库分表 → 多组 MySQL
路径 B:分布式数据库(原生)
TiDB / OceanBase / Vitess / CockroachDB … 集群内部分片 + 副本 + 自动故障转移
| 维度 | 分库分表 + 中间件 | 原生分布式数据库 |
|---|
| 对应用 | 需分片键、忌跨片 JOIN | 多数兼容 MySQL/PG 协议,透明度更高 |
| 运维 | 自管分片、扩容迁移 | 集群组件与副本由产品管理 |
| 事务 | 跨片靠 Seata / 业务补偿 | 集群内分布式事务(Raft / 2PC 等) |
| 适用 | 已有 MySQL、团队熟悉分片 | 数据量持续增长、要 HTAP 或 K8s 原生 |
基础理论:分库分表、主从复制、数据库事务(含分布式事务)。
本目录文档
产品选型速览
| 产品 | 类型 | 协议/生态 | 典型场景 |
|---|
| TiDB | 原生分布式 SQL | MySQL 兼容 | 海量 OLTP、实时分析(HTAP) |
| Vitess | MySQL 分片集群 | MySQL | 超大规模 MySQL、K8s、PlanetScale |
| ShardingSphere + MySQL | 中间件分片 | MySQL | 存量 MySQL、可控迁移 |
| MongoDB | 文档库原生分片 | Mongo API | 文档模型、灵活 Schema |
| ClickHouse | 列存分布式 | SQL | OLAP、日志分析 |
| OceanBase | 原生分布式 SQL | MySQL / Oracle 租户 | 金融级、国产替代、多活 |
| CockroachDB | 原生分布式 SQL | PostgreSQL 兼容 | 全球多活、Serializable、PG 生态 |
与架构 / 中间件 / Java
学习顺序
- MySQL + 分库分表
- ShardingSphere 或 TiDB / OceanBase / CockroachDB 择一深入
- 分布式事务 + Seata(跨服务场景)
- 数据迁移:数据传输