【TiDB 4.0 PCTA 学习笔记】- 1.6 Read and Write data in the TiDB database platform(TiDB 中的读写流程)@2班+董沛霖

课程名称:101+ 1.6 Read and Write data in the TiDB database platform(TiDB 中的读写流程)

学习时长:10min

课程收获:对 TiDB 整体架构以及读写路程有大概的了解

课程内容:

基础架构介绍(同1.4内容)

请求处理的一般流程

SQL–>抽象语法树–>逻辑执行计划–>优化执行计划(CBO)–>执行查询

读请求处理流程

  1. 客户端连接TiDB并发送请求
  2. TiDB接受请求
  3. TiDB解析并优化客户端提交的SQL
  4. TiDB从PD获取start_ts
  5. TiDB根据执行计划和元信息生成一系列执行器
  6. TiDB通过gRPC发送协同处理请求到TiKV
  7. TiKV接受请求并过滤数据,再将数据返回TiDB
  8. TiDB接收并整理汇总TiKV发送来的数据
  9. TiDB将最终结果返回给客户端

写请求处理流程(1-5同读请求处理流程)

  1. 客户端连接TiDB并发送请求
  2. TiDB接受请求
  3. TiDB解析并优化客户端提交的SQL
  4. TiDB从PD获取start_ts
  5. TiDB根据执行计划和元信息生成一系列执行器
  6. TiDB发起commit请求
  7. TiKV进行二阶段提交,在commit阶段还会从PD获取commit_ts
  8. TiKV将结果返回给TiDB
  9. TiDB将结果返回给客户端

读&写来处理流程的主要区别

  1. 读只需要向PD获取一次TSO,写则有两次
  2. 写涉及到二阶段提交和分布式事务

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