ITPub博客

首页 > 数据库 > 国内数据库 > Tidb server功能(1)

Tidb server功能(1)

原创 国内数据库 作者:wanglinghua0907 时间:2024-05-28 18:00:44 0 删除 编辑

TiDB Server 主 要 功 能 处 理 客 户 端 的 连 接 SQL 语 句 的 解 析 和 编 译 关 系 型 数 据 与 KV 的 转 化 SQL 语 句 的 执 行 Online DDL 的 执 行 垃 圾 回 收 热 点 小 表 缓 存 V6 . 0

1. 处理客户端的连接

protocol layer

 

2.sql 语句的解析和编译

语句解析和编译( parse 、 compile )

解析

TiDB Server  select ' from T e 心 age A19  法 分 桁

 

编译

TiDB Server  AST  Compile  memBuffer  Blfiif%1J  &i+fae

 

前面语法解析完生成的 ast 语法树传给compile

验证( preprocess ) :合法性验证,表是否在数据库中存在等等

逻辑优化 :不需要的列消除(类似去重 distinct )、外连接变内连接、等等

物理优化:根据前面的结果,结合统计信息,去看走全表扫描还是走索引,走索引看走哪个索引。

结果产生执行计划给到后面。

 

3. 关系型数据与 KV 的转换

聚簇表:

编号为主键。

主键编号 + 表号 = 唯一 key ( T24_r1 )

 

T24  1982-09-28  T24  1996-04-12  T24  1982-09-28  T24  1977-03-12  T24  1992-07-19  T24  1978-09-12  KEY  2  3  4  5  6  Tom  . Jack  • Frank  Tony  Jim  1390811212  1801222187  1364571212  1391113134  1579915611  1713665011  78  91  90  65  51  97  VALUE

 

T24_r1 -  T24_r2 -  T24_r3 -  T24_r4 -  T24_r5  T24_r6  - - - - - - - - -Frank,  VALUE

 

 

region 就是 key value 的存储单位,默认 96m 。当他达到 144m 会有个 slipt (分裂)过程。

 

 

非聚簇表:

不用存在的主键做 key


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980685/viewspace-3016984/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: TiDB server架构
请登录后发表评论 登录
全部评论
Oracle ACE、sql server、oceanbase数据库专家,拥有7年以上的大型数据库运维经验,主方向oracle,擅长故障排除、诊断,大体量(TB)迁移,异常故障修复等。拥有丰富主导大型项目经验。服务行业包括:运营商、银行、金融业、政府单位、医疗、制造业、高校等等。

注册时间:2020-07-31

  • 博文量
    116
  • 访问量
    88785