【赵渝强老师】TiDB SQL层的工作机制

TiDB节点的SQL层,即TiDB Server,它负责将SQL翻译成Key-Value操作,将其转发给共用的分布式Key-Value存储层TiKV,然后组装TiKV返回的结果,最终将查询结果返回给客户端。这一层的节点都是无状态的,节点本身并不存储数据,节点之间完全对等。因此很容易实现失败迁移,从而支持容错。下图详细说明了TiDB SQL层的工作机制。

视频讲解如下
【赵渝强老师】TiDB SQL层的工作机制

TiDB节点的SQL层主要负责接收并执行客户端发送的SQL语句,其具体的执行过程如下:

  • 首先SQL层会从会话的上下文中判断该客户端是否能够访问数据库集群;
  • 接下来会将客户端的SQL语句发送给SQL解析器,SQL解析器负责解析SQL的语法和语义,并生成SQL语法树发送给逻辑优化器;
  • 逻辑优化器负责重写SQL语句以提高SQL的执行效率,并将生成的逻辑执行计划发送给物理优化器;
  • 物理优化器会根据数据库的统计信息生成最终的物理执行计划,并交给本地执行器和分布式执行器;
  • 本地执行器负责执行本地SQL,例如查询本地的缓存表;
  • 分布式执行器负责执行分布式SQL查询TiKV集群中的数据;
  • 本地执行器会接收所有查询得到的数据,并最终将数据通过会话的上下文信息返回给客户端
相关推荐
许彰午1 小时前
28-ORA-01110数据文件读取错误
数据库·oracle
凯凯姜1 小时前
MySQL 联合索引设计与索引失效
数据库·mysql
猫咪很可爱1 小时前
Oracle TEMP 表空间不足(ORA-01652)问题分析与优化实践
数据库·oracle
九零HTTP3 小时前
10月21号-CSDN配菜-IP池的5个坑
服务器·数据库·tcp/ip
Data-Miner3 小时前
需要做财务数据分析,有什么好用的工具?从准备到出报告的实操指南
大数据·数据库·数据分析
袋鼠云数栈4 小时前
让 SQL 解析不再重复造轮子:SqlParserX 正式开源
数据库·人工智能·sql·开源·数据治理
这个DBA有点耶4 小时前
期货 CTP 系统 Oracle RAC 迁移国产库实战:读写分离架构设计与性能对标
数据库·架构·dba
数据库安全4 小时前
AI数据访问安全 |如何控制AI访问权限,防止越权
数据库·安全
程序员老赵5 小时前
Docker 部署 Hue:轻松搭建数据库与数据仓库 SQL 查询平台
sql·docker·开源
这个DBA有点耶5 小时前
Redo Log循环写与checkpoint推进:长事务阻塞下的Checkpoint风暴完整链路
数据库·mysql·代码规范