课程名称:课程版本(101)+TiDB 中的读写流程
学习时长:10分钟
课程收获:TiDB SQL处理流程、TiDB读写请求流程
课程内容:
1、TiDB架构
2、TiKV:
- Raft协议保证事务一致性
- MVCC保证多版本控制
- MVCC之上事务层实现事务相关
3、PD组件
- 分配分布式事务ID
- 实现Region与Leader的调度
- 通过ETCD实现高可用
4、TiDB中SQL处理流程
SQL->AST抽象->生成执行计划->执行计划优化->根据优化计划将请求发送到对应节点
- 客户端连接到TiDB并发送请求
- TiDB从请求中获取SQL
- 解析SQL并生成优化计划
- TiDB从PD中获取统计信息
- 获取表元数据信息并将执行发送到节点
- TiDB通过gRPC与TiKV进行交互通信
- TiKV接收到请求,查询数据并返回给TiDB
- TiDB接收到请求并处理结果
- TiDB将结果返回给客户端
5、TiDB的写请求:写请求中会涉及到二阶段提交和分布式事务有关的内容
- 客户端连接到TiDB并发送请求
- TiDB从请求中获取SQL
- 解析SQL并生成优化计划
- TiDB从PD中获取统计信息
- 获取表元数据信息并将执行发送到节点
- TiDB会生成commit请求
- TiKV使用two-phase commit提交来commit数据
- TiKV发送请求到TiDB
- TiDB再将数据返回给客户端