分布式数据库

定位:面向“海量数据、强一致事务、高可用、水平扩展、低延迟 OLTP/HTAP 场景”的数据库系统方法论与体系框架。核心关注:从数据库的本质 → 分布式本质 → 架构机制 → 性能与一致性 → 演进趋势 → 选型认知


1. 概述(Overview)

分布式数据库是为了解决单机数据库在容量、吞吐、可用性、节点故障、跨地域部署等方面的瓶颈,通过**分片(Sharding)+ 副本复制(Replication)+ 分布式协议(Consistency Protocol)**实现的一类关系型数据库。

它本质上是:“在不改变关系模型和事务语义的前提下,实现无限水平扩展的 OLTP/HTAP 数据引擎。”


2. 本质(Essence)

分布式数据库的本质可从三个不可分割的角度理解:

2.1 数据本质:分布式数据结构

==> 本质上是一个 分布式有序 KV + SQL 语义层

2.2 事务本质:跨节点一致性协议

事务 = 多操作组成的写集合分布式事务本质 = 多分区的共识协议执行

==> 所有分布式数据库都要解决两件事:

  1. **如何决定主副本是谁(Leader Election)**
  2. **如何保证跨节点读写顺序一致(Consistency Protocol)**

2.3 执行本质:海量节点的协作执行系统

==> 分布式数据库本质上是一个带 SQL 语义的分布式计算系统


3. 系统模型(Model)

构建分布式数据库的核心模型可以抽象为 6 个维度:

  1. **分区模型(Partition Model)**
  2. **复制模型(Replication Model)**
  3. **一致性模型(Consistency Model)**
  4. **事务模型(Transaction Model)**
  5. **查询模型(Query Execution Model)**
  6. **时钟模型(Clock Model / Timestamp Model)**

下面展开体系化描述。


4. 核心能力体系(Capability Architecture)

4.1 分区(Sharding)

本质

能力要素

  1. 分片维度:Range、Hash、Composite
  2. 分片路由:全局元数据、分布式目录
  3. 分片迁移:在线 Rebalance
  4. 分片再切分:Split/Move/Merge

体系能力图


4.2 副本复制(Replication)

本质

解决的是:高可用 + 容错 + 读扩展 + 数据持久性

核心能力


4.3 一致性(Consistency)

分布式数据库的真正难点。

概念体系

一致性等级

关键机制


4.4 分布式事务(Distributed Transactions)

本质

“多分片 + 多行 + 多操作”组成的写集合需要一次性提交成功。

主流事务协议

协议特征
2PC最基础,阻塞,无法自动恢复
3PC并不常用,理论多于工程意义
PercolatorGoogle/F1 模型,依赖全局时钟
SpannerTrueTime + 2PC
TiDBPercolator + TSO
CockroachDBMVCC + HLC + 并发推断

能力图


4.5 时间与时钟体系(Timestamp System)

重要性

时间决定了:

  1. **提交顺序**
  2. **MVCC 版本范围**
  3. **读写可见性**
  4. **事务冲突判定**

主流模型

时钟本质特征
TrueTimeGPS+原子钟依赖硬件,窗口不确定性
HLC本地物理时间 + 逻辑增量无需硬件,近似物理时间
TSO集中式时间分配器高并发要求服务可扩展
STP选主 + 多客户端授时分布式时间服务

4.6 查询执行(Query Engine)

基础模型:火山模型(Volcano Model)

优点:可组合性强缺点:虚函数调用成本 & 缺少 SIMD

升级模型

分布式执行关键能力


4.7 负载模型(Workload Model)

OLTP 行式存储

OLAP 列式存储

HTAP 融合


5. 架构风格(Architecture Styles)

5.1 PostgreSQL-XC 风格(存算一体)

5.2 NewSQL(KV 内核 + SQL 层)

对比本质


6. 可用性与高可用(High Availability)

可用性模型

  1. 多数派读写(Raft / Paxos)
  2. 多副本同步模型
  3. RPO/RTO 指标
  4. 跨 Region 容错
  5. 自动 failover
  6. 衰退节点隔离(Quarantine)

7. 性能体系(Performance Architecture)

性能来自三大方向:

7.1 存储性能

7.2 执行性能

7.3 分布式性能


8. 观测性与治理(Observability & Governance)

能力清单


9. 演进趋势(Evolution Trends)

演进方向描述
HTAP 深度融合不再是两个引擎,而是统一存储统一执行计划
AI 优化器自动选择索引、Join 策略、分区维度
存算一体 + 存算分离统一化通过分层 Cache 调和 OLTP/OLAP
零运维自治系统自治调度、自愈、自适应扩缩容
Global Scale跨洲强一致、低延迟,通过 HLC/TrueTime/Federated TSO

10. 选型方法论(Selection Framework)

根据业务场景确定分布式数据库类型:

10.1 按工作负载

场景推荐体系
高并发 OLTPKV/SQL NewSQL(TiDB/CockroachDB)
强一致跨地域TrueTime/HLC 体系(Spanner, CockroachDB)
OLTP + OLAP 融合HTAP(TiDB/TiFlash, StarRocks 未来形态)

10.2 按关键目标

目标关键机制
强一致性TSO / HLC / Raft
低延迟本地读、本地事务、计算下推
高可扩展性存算分离 + 分片自适应
实时分析列式存储 + 向量化

11. 总结(Summary)

分布式数据库不是某一类技术,而是一个 跨存储、计算、网络、时钟、事务的复杂系统。其本质是通过 分区 + 副本 + 一致性协议 + 全局时钟 + 分布式执行计划 实现强一致、高可用、无限扩展的数据管理能力。

==> 理解其本质的关键在于:"跨节点的一致性与冲突管理",永远是系统的核心难题与价值所在。

关联内容(自动生成)