【赵渝强老师】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集群中的数据;
  • 本地执行器会接收所有查询得到的数据,并最终将数据通过会话的上下文信息返回给客户端
相关推荐
喝养乐多长不高7 分钟前
深入探讨redis:缓存
数据库·redis·缓存·缓存穿透·缓存击穿·缓存雪崩·缓存预热
Lx3521 小时前
EXISTS 替代 IN 的性能优化技巧
后端·sql
大数据魔法师1 小时前
MongoDB(七) - MongoDB副本集安装与配置
数据库·mongodb
朝九晚五ฺ2 小时前
【MySQL基础】库的操作:创建、删除与管理数据库
数据库·sql·mysql
ephemerals__2 小时前
【Linux】基础文件IO
linux·运维·数据库
小哈里2 小时前
【DBA】MySQL经典250题,改自OCP英文题库中文版(2025完整版)
数据库·mysql·dba·开闭原则·ocp
英英_2 小时前
mysql分布式教程
数据库·分布式·mysql
珹洺2 小时前
数据库系统概论(十五)详细讲解数据库视图
android·java·数据库·sql
敲键盘的小夜猫3 小时前
Retrievers检索器+RAG文档助手项目实战
java·数据库·算法
✿ ༺ ོIT技术༻3 小时前
MySQL:视图+用户管理+访问+连接池原理
数据库·mysql