{T}

分布式数据库概述:定义与分类

0. 引言

分布式数据库是数据库与分布式系统理论结合的产物。理解分布式数据库,需要先认识其核心特征(数据分片数据同步),再从发展脉络把握分类与适用场景。本文建立分布式数据库的整体认知框架,为后续各章(分片复制、一致性、存储引擎、事务恢复、协调机制)打下基础。

1. 基本概念与核心特征

分布式数据库定义为:由多个独立实体组成、彼此通过网络互联的数据库。与集中式数据库相比,核心差异可归纳为两点:

核心特征机制解决的问题
数据分片将数据分散到多个节点突破单机容量限制,水平扩展
数据同步多副本/一致性协议保持数据一致恢复"用起来像单库"的一致性体验

1.1 数据分片

分片是分布式数据库的技术创新,可突破单机数据库的容量限制:

  • 水平分片:按行分割,数据被切割为数据组,分散到不同节点(如 TiDB 的 Region);
  • 垂直分片:按列切割,一个表的结构(Schema)被拆分为多个小结构。

1.2 数据同步

同步是分布式数据库的底线。数据库理论传统上建立在单机基础上,引入分布式后一致性原则被打破,必须通过同步技术恢复一致性——同步背后的推动力是对"一致性"的追求(复制、多数派协议、分布式事务详见后续章节)。

2. 发展脉络

图表渲染中…

2.1 商业数据库:Oracle RAC

  • 基于**共享存储(Shared-Disk)**架构:多个计算节点共享同一份底层存储;
  • 本质是向上扩展(Scale-Up):扩展能力受限于共享存储吞吐,成本与运维门槛高;
  • 意义:分布式数据库的"前传",验证了多节点协同的可行性。

2.2 分布式数据库的兴起

随着数据规模与并发压力快速增长,基于分片 + 多副本的分布式架构成为主流,催生 NoSQL、NewSQL 等不同路线(详见分类)。

3. 分类体系

3.1 按架构路线分类

类型代表产品特点
关系型分布式数据库TiDB、OceanBase兼容 SQL,支持事务与强一致性
NoSQLCassandra、MongoDB水平扩展能力强,弱化 ACID 约束
NewSQLSpanner、CockroachDB兼具 SQL 体验与水平扩展能力

3.2 NoSQL 按数据模型分类

模型代表特点
键值型Redis以 Key 寻址 Value,读写性能极高
文档型MongoDBJSON/BSON 文档存储,模式灵活
列族型Cassandra、HBase按列族存储,适合宽表与海量写入
图类型Neo4j节点与边表达关系,擅长关联查询

4. 相关概念辨析

概念说明
NewSQL兼顾 SQL 接口与水平扩展能力的数据库(Spanner、TiDB)
分布式 SQL将 SQL 语义下推到分布式存储层的架构
HTAP混合事务/分析处理:同一系统同时支持 OLTP 与 OLAP(TiDB、OceanBase 4.x)
SQL(关系型)以表组织数据,行/列表达实体与关系,ACID 强事务
NoSQL非关系型数据库统称,多模型、弱事务、天然水平扩展

SQL vs NoSQL 特征对比:SQL 强约束 Schema、完整 ACID、垂直扩展为主;NoSQL 弱约束、最终一致为主、天然水平扩展。两者并非替代关系,而是场景互补(详见《NoSQL 数据库有哪些典型应用?》)。

5. 与 CAP 的关系

分布式数据库的设计本质上是在**一致性(C)、可用性(A)、分区容错性(P)**之间权衡(详见《如何证明分布式系统的 CAP 理论?》):

  • CP 路线:TiDB、OceanBase(多数派协议,分区时少数派拒绝服务);
  • AP 路线:Cassandra、DynamoDB(最终一致,分区时持续可用);
  • 数据分片与数据同步的实现,正是 CAP 权衡在存储层的具体落地。

6. 小结

  • 分布式数据库 = **数据分片(扩展) + 数据同步(一致)**两大核心;
  • 发展脉络:共享存储(RAC)→ NoSQL → NewSQL → 云原生;
  • 分类维度:关系型/NoSQL/NewSQL,NoSQL 再分 KV/文档/列族/图;
  • 一切设计都是 CAP 权衡的落地,后续章节逐一展开。

下一章讲解数据分布:分片算法与多副本复制机制。