课程名称:课程版本(101/201/301)+ 课程名称
学习时长:
150 分钟
课程收获:
本次学习理清了 TiDB 分布式整体架构,理解 PD、TiDB Server、TiKV 三大核心组件分工与数据存储调度机制,掌握分布式事务、Raft 协议在 TiDB 中的落地思路,能够从底层视角分析集群读写流程与瓶颈来源。
课程内容:
- 整体架构:TiDB 采用计算与存储分离架构,由 TiDB Server、PD、TiKV 三类核心组件构成,无共享设计实现水平横向扩展。
- TiDB Server(计算层):无状态 SQL 计算节点,接收客户端 SQL 请求,生成分布式执行计划,不持久化数据,可以多实例部署实现负载均衡。
- TiKV(存储层):分布式 KV 存储引擎,数据划分为 Region 作为最小存储单元;每个 Region 有多副本,依靠 Raft 协议保证多副本数据一致性与高可用。
- PD(调度层):集群元数据管理者,维护 Region 位置信息,收集集群负载,自动调度 Region 迁移实现负载均衡,分配全局事务时间戳。
- 核心特性:兼容 MySQL 协议,支持分布式事务(乐观事务),通过 MVCC 实现多版本并发控制,保证隔离级别。
学习过程中遇到的问题或延伸思考:
- 问题 1:TiDB 的 Region 分裂、合并触发条件是什么,大量小 Region 会带来哪些集群负面影响?
- 问题 2:TiDB 乐观事务与 MySQL 悲观锁实现区别,高冲突场景下乐观事务容易出现哪些报错?
- 延伸思考 1:PD 负载均衡策略在热点 Region 场景下如何优化,能否人工干预调度?
- 延伸思考 2:TiDB 分布式执行计划和单机 MySQL 执行计划的差异,哪些 SQL 容易产生跨节点数据 Shuffle,造成性能衰减?
学习过程中参考的其他资料
- TiDB 官方 301 课程文档
- TiDB 架构与 Raft 协议技术白皮书
- TiDB 热点问题排查最佳实践文档