学习目标
- 题解数据库整体架构
- 了解 TiDB Server 、TiKV 、TiFlash 、和 PD 的主要功能
文章末尾获取笔记、视频资料,持续更新
体系架构
- 水平扩容或者缩容
- 金融级高可用
- 实时 HTAP
- 云原生的分布式数据库
- 兼容 MySql5.7 协议

TiDB 体系架构图
组件
TiDB Server
TiDB Server 是 TiDB 分布式数据库的 SQL 层,是整个系统的入口。
功能
-
处理客户端的连接
-
SQL语句的解析、编译、生成执行计划
生成sql语句,然后在TiKV 或者 TiFLASH上执行
-
关系型数据与 KV 的转化
TiKV 存的数据是键值对,将数据表转换为 KV 键值对
-
SQL语句执行(DDL语句)
-
执行 online DDL
-
垃圾回收(默认时间10分钟)

TiDB Server
工作流程
客户端请求 ->
协议解析 ->
SQL 解析 ->
查询优化 ->
生成执行计划 ->
分布式执行 ->
返回结果
TiKV
TiKV是TiDB 分布式数据库的存储层
存储结构
Region (数据分片)
├── Leader
└── Followers (多个副本)
├── Follower 1
└── Follower 2
功能
- 数据持久化
- 副本的强一致性和高可用性
- MVCC (多版本并发控制)
- 分布式事务支持
- Coprocessor (算子下推)

TiKV 技术架构图
核心组件
如上图所示
RocksDB:底层存储引擎
Raft:分布式一致性协议实现
MVCC:多版本并发控制
Transaction:分布式事务处理
关键特性
- 数据分片 (Region)
- 按 Key Range 进行数据分片
- 每个 Region 默认大小约 96MB到140MB
- 超过阈值会自动分裂(Split)
- 负载均衡时会自动调度
- 复制与一致性
- 采用 Multi-Raft 模型
- 通常采用 3 副本或 5 副本
- 强一致性保证
- 自动故障转移
TiFlash
它是 TiDB 的列式存储引擎,专门用于 OLAP 分析场景
功能
-
异步复制
-
一致性
-
列式存储提高分析查询效率
-
业务隔离
-
智能选择
也可以手动指定sql选择 TiKV 或者 TiFlash
TiFlash 架构图
PD
功能
- 整个集群TiKV的元数据存储
- 分配全局ID和事务ID
- 生成全局时间戳TSO
- 收集集群信息进行调度
- 提供 TiDB Dashboard 服务

PD 技术架构图
测试

答案:
- B、F
- C
公众号回复 TIDB 获得笔记、视频
