课程名称:课程版本(101)+ 1.6 Read and Write data in the TiDB database platform(TiDB 中的读写流程)
学习时长:8分钟
课程收获:对于TiDB的SQL执行过程以及读写请求处理有了明确的了解,这是对SQL处理分析有所帮助的
课程内容:
1.TiDB框架介绍以及组件的介绍
2.SQL执行流程
SQL语句->抽象为语法树->生成逻辑执行计划->优化执行计划->经过成本模型计算->生成实际执行计划->将对应请求发送给TiKV节点
2.TiDB的读请求处理过程
客户端建立连接发送请求->TiDB接收请求->TiDB解析编译SQL并生成和优化执行计划->TiDB与PD交互获取start_ts信息->TiDB根据元数据和执行计划生成执行器->通过gRPC方式发送coprocessor请求到TiKV->TiKV收到请求遍历数据并返回给TiDB->TiDB接收返回数据并整理汇总->TiDB将结果返回给客户端
3.TiDB的写请求处理过程
客户端建立连接发送请求->TiDB接收请求->TiDB解析编译SQL并生成和优化执行计划->TiDB与PD交互获取start_ts信息->TiDB根据元数据和执行计划生成执行器->TiDB发起commit请求->TiKV数据二阶段提交且TiDB在commit阶段得到commit_ts->TiKV返回结果给TiDB->TiDB将结果返回给客户端
学习过程中参考的其他资料
- [TiDB与gRPC的那点事]https://blog.csdn.net/cpongo4/article/details/89121505
- [TiKV 源码解析系列文章(十四)Coprocessor 概览]https://segmentfault.com/a/1190000020881153
- [浅析TiDB二阶段提交]https://blog.csdn.net/n88lpo/article/details/105235997