分布式数据库

返回 数据库

分布式数据库在存储层或 SQL 层原生提供分片、高可用、水平扩展,应用往往仍用标准 SQL / JDBC,而不必自行维护分库路由。与「单机 MySQL + 分库分表 + ShardingSphere」是两条常见演进路径。


两条扩展路径

路径 A:应用/中间件分片(渐进)
  MySQL 单库 → 主从 → ShardingSphere 分库分表 → 多组 MySQL

路径 B:分布式数据库(原生)
  TiDB / OceanBase / Vitess / CockroachDB … 集群内部分片 + 副本 + 自动故障转移
维度分库分表 + 中间件原生分布式数据库
对应用需分片键、忌跨片 JOIN多数兼容 MySQL/PG 协议,透明度更高
运维自管分片、扩容迁移集群组件与副本由产品管理
事务跨片靠 Seata / 业务补偿集群内分布式事务(Raft / 2PC 等)
适用已有 MySQL、团队熟悉分片数据量持续增长、要 HTAP 或 K8s 原生

基础理论:分库分表主从复制数据库事务(含分布式事务)。


本目录文档

文档说明
TiDB国产 HTAP、MySQL 兼容、TiKV + Raft
OceanBase金融级、MySQL/Oracle 租户、Paxos
Vitess分布式 MySQL、K8s 友好、vtgate
CockroachDBPG 协议、Serializable、多区域

产品选型速览

产品类型协议/生态典型场景
TiDB原生分布式 SQLMySQL 兼容海量 OLTP、实时分析(HTAP)
VitessMySQL 分片集群MySQL超大规模 MySQL、K8s、PlanetScale
ShardingSphere + MySQL中间件分片MySQL存量 MySQL、可控迁移
MongoDB文档库原生分片Mongo API文档模型、灵活 Schema
ClickHouse列存分布式SQLOLAP、日志分析
OceanBase原生分布式 SQLMySQL / Oracle 租户金融级、国产替代、多活
CockroachDB原生分布式 SQLPostgreSQL 兼容全球多活、Serializable、PG 生态

与架构 / 中间件 / Java

主题文档
架构选型数据库架构
分片中间件ShardingSphere
分布式事务Seata数据库事务
分布式 ID分布式 ID
CDC 同步CDCCanal
Spring 集成ShardingSphere 集成分布式与数据层
高并发落库数据层设计

学习顺序

  1. MySQL + 分库分表
  2. ShardingSphereTiDB / OceanBase / CockroachDB 择一深入
  3. 分布式事务 + Seata(跨服务场景)
  4. 数据迁移:数据传输