课程名称:TiDB 中的读写流程
学习时长:20
课程收获:对 TiDB 整体架构以及读写路程有大概的了解
课程内容:
整体架构
TIDB 说明
SQL 层,接收请求和执行SQL 分析和优化,实现分布式执行计划,下推执行请求
tikv 说明
PD 特性:
- TSO,分布式事务标识
- region & leader 调度
- ETCD 高可用
SQL执行流程和过程
上图描述的是执行过程
读写过程缺少图例,可以考虑后期自行补全
读流程
- 客户端建立连接(tidb)
- tidb获取SQL 请求
- tidb 解析和优化SQL,生成执行计划
- tidb 从PD 获取 事务时间标记
- tidb获取相关表和执行需要的元数据
- tidb 下推请求到 tikv (gRPC)
- tikv接收请求,并扫描数据,将扫描结果返回给tidb
- tidb汇总所有tikv返回的请求数据
- tidb将数据返回给客户端
写流程
- 客户端建立连接(tidb)
- tidb获取SQL 请求
- tidb 解析和优化SQL,生成执行计划
- tidb 从PD 获取 事务时间标记
- tidb获取相关表和执行需要的元数据
- tidb创建一个提交请求
- tikv 提交数据并使用两阶段提交,执行预写入和提交操作,同时tidb 获取 提交事务时间标记
- tikv发送执行结果到tidb
- tidb将结果返回给客户端
读写流程不一致的地方
TSO时间标记
- 读请求,只执行一次
- 写请求,执行二次