课程名称:101+1.6 Read and Write data in the TiDB database platform
学习时长:
5
课程收获:
了解tidb的读写流程,并结合官方文档,深化了解了各个进程作用和参数调控。
课程内容:
学习目标:
了解TIDB的整体架构。
了解TIDB的读写流程
学习内容:
1.1 介绍TIDB平台
Tidb,tikv,pd基础组件,TIPARK,TIFLASH。
- 分布式KEY VALUE存储引擎
- SI隔离
- RAFT协议
- 不依赖分布式文件系统
分布式事务ID,TSO,路由管理。通过ETCD提供高可用。
1.2 读请求流程
1)SQL执行流程
- 客户端与TIDB建立链接,发送请求
- TIDB接收请求
- TIDB进行PARSE和COMPLIES,并生成执行计划
- 通过PD获取START_TS
- 获取表元数据,并将生成的执行计划发送给若干执行器
- 通过GRPC将请求发送给coprocessor
- TIKV接受请求,查询数据,并返回给TIDB
- TIDB接受结果,整理汇总数据
- TIDB将结果返回给客户端
1.3 写请求流程
- 客户端与TIDB建立链接,发送请求
- TIDB接收请求
- TIDB进行PARSE和COMPLIES,并生成执行计划
- 通过PD获取START_TS
- 获取表元数据,并将生成的执行计划发送给若干执行器
- TIDB提出COMMIT请求
- TIKV发起二阶段提交(prewrite/commit)依据percolator模型,在二阶段获取COMMIT_TS。
- tiKV返回结果给TIDB
- TIDB返回结果给CLIENT