301 + TiDB 架构原理与核心组件

课程名称:课程版本(101/201/301)+ 课程名称

学习时长:

150 分钟

课程收获:

本次学习理清了 TiDB 分布式整体架构,理解 PD、TiDB Server、TiKV 三大核心组件分工与数据存储调度机制,掌握分布式事务、Raft 协议在 TiDB 中的落地思路,能够从底层视角分析集群读写流程与瓶颈来源。

课程内容:

  1. 整体架构:TiDB 采用计算与存储分离架构,由 TiDB Server、PD、TiKV 三类核心组件构成,无共享设计实现水平横向扩展。
  2. TiDB Server(计算层):无状态 SQL 计算节点,接收客户端 SQL 请求,生成分布式执行计划,不持久化数据,可以多实例部署实现负载均衡。
  3. TiKV(存储层):分布式 KV 存储引擎,数据划分为 Region 作为最小存储单元;每个 Region 有多副本,依靠 Raft 协议保证多副本数据一致性与高可用。
  4. PD(调度层):集群元数据管理者,维护 Region 位置信息,收集集群负载,自动调度 Region 迁移实现负载均衡,分配全局事务时间戳。
  5. 核心特性:兼容 MySQL 协议,支持分布式事务(乐观事务),通过 MVCC 实现多版本并发控制,保证隔离级别。

学习过程中遇到的问题或延伸思考:

  • 问题 1:TiDB 的 Region 分裂、合并触发条件是什么,大量小 Region 会带来哪些集群负面影响?
  • 问题 2:TiDB 乐观事务与 MySQL 悲观锁实现区别,高冲突场景下乐观事务容易出现哪些报错?
  • 延伸思考 1:PD 负载均衡策略在热点 Region 场景下如何优化,能否人工干预调度?
  • 延伸思考 2:TiDB 分布式执行计划和单机 MySQL 执行计划的差异,哪些 SQL 容易产生跨节点数据 Shuffle,造成性能衰减?

学习过程中参考的其他资料

  • TiDB 官方 301 课程文档
  • TiDB 架构与 Raft 协议技术白皮书
  • TiDB 热点问题排查最佳实践文档
1 个赞

介绍的详细真实,感谢分享。