课程名称: TiDB 4.0 新手指南 1.6 Read and Write data in the TiDB database platform(TiDB 中的读写流程)
学习时长:
10 min
课程收获:
了解TiDB的读写流程
课程内容:
Part I TiDB整体架构
TiDB
TiDB server 组件是无状态的SQL层,负责接收客户端的SQL请求,解析,优化并生成分布式执行计划发布给TiKV组件。可以启动多个tidb组件达到负载均衡的目的,但是tidb本身不提供这样的功能,需要借助第三方软件(HAProxy/LVS)或者硬件(F5)
TiKV
基于RocksDB实现的分布式强一致KV存储引擎,不依赖分布式文件系统。
具有高度分层的特性,最底层是RocksDB KV存储,在上层实现了Raft协议,在Raft层之上实现了MVCC,在MVCC之上并最终实现了事务
PD
整个TiDB集群的大脑,主要负责分配分布式事务ID,以及region和leader的调度
SQL处理流程
首先SQL转换为AST,根据AST生成逻辑执行计划,然后对逻辑执行计划进行优化,优化完成之后,根据CBO优化器选择实际执行的执行计划,最后根据执行计划将对应的请求发送到TiKV节点
Part II TiDB 读请求处理流程
Part III TiDB 写请求处理流程
学习过程中参考的其他资料
- 1.6 Read and Write data in the TiDB database platform(TiDB 中的读写流程)
https://university.pingcap.com/courses/TiDB%204.0%20新手指南/chapter/101-章节/lesson/Read-and-Write-data-in-the-TiDB-database-platform