TiDB Server

TiDB Server架构

TiDB Server_第1张图片

TiDB作为SQL层,对外暴露MySQL协议的连接,负责接受客户端的连接,执行SQL的解析和优化,生成执行计划,到TiKV中,将数据读取,到TiDB Server中的缓存中去,再返回给用户

解析SQL,将实际的数据读取、请求,转化为TiKV节点

TiDB Server作用

  • 处理客户端的连接 Protocol Layer
  • SQL语句的解析与编译 Parse 、 Compile
  • 关系型数据与KV的转化
  • SQL语句的执行 Executor 、 DistSQL 、 KV
  • Online DDL 的执行 schema load、worker、start job
  • 垃圾回收
  • 热点小表缓存V6.0 cache table(表的数据量不大,不经常被修改、但是访问非常频繁,热点表)

SQL语句的解析与编译

parse生成AST

TiDB Server_第2张图片

将AST语法树传递给Compile,去优化

TiDB Server_第3张图片

关系型数据与KV的转化

编号作为主键(聚簇表,用表的主键)

TiDB Server_第4张图片

TiKV将表转化成键值对

TiDB Server_第5张图片

让key在整个数据库层面是唯一的,加一个表的编号:

你可能感兴趣的:(tidb)