Lesson 02—TiDB Server
一、TiDB Sever 架构
**Protocal Layer | Parse | Complise :**解析编译SQL
**Executor | DistSQL :**执行SQL执行计划
**Transaction | KV :**事务相关的执行计划
PD Client | TiKV Client : 负责与PD和TiKV之间的交互
schema | worker | start job: Online DDL语句不会阻塞读写
memBuffer : 用于缓存读取出来的数据集、元数据
二、SQL语句的解析和编译
三、关系型数据库与KV的转化
一个region 默认 96M,达到144M会分裂
四、SQL语句的执行
点查走KV,复杂SQL走DistSQL。
DistSQL 把对多个表的操作简化到一个表。
五、Online DDL 的执行
同一时刻只有一个TiDB中的Workers可以做DDL操作。
只有Owner可以执行DDL,每个TiDB 有Owner任期。
所有 start job 接收 DDL 语句,将DDL语句放到 job queue。
schema load 在当前 TiDB Server 成为Owner后,将最新所有表,信息同步到缓存中,根据这些信息执行job queue。
六、GC机制
每一个TiDB Server 中都有一个GC线程,由 GC Leader 控制。
GC Leader 计算一个 safe point ,一般每10分钟触发一次。
GC lifetime 一般是10分钟。
七、TiDB 缓存
tidb_mem_quota_query:限制SQL占用缓存的大小,控制每条语句默认使用的存储量
oom-action:当SQL内存使用超过以后,决定行为。
八、热点小表缓存
九、跳转链接
下面是我的笔记链接: