当前位置: 首页 > news >正文

【赵渝强老师】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集群中的数据;
  • 本地执行器会接收所有查询得到的数据,并最终将数据通过会话的上下文信息返回给客户端

《TiDB数据库从零开始》

http://www.dtcms.com/a/183170.html

相关文章:

  • 数据分析2
  • 物联网、数字化工厂与智能智慧技术未来发展方向
  • 光的本质(以暗物质维度粒子为介质的能量传导)
  • Kubernetes应用发布方式完整流程指南
  • Java代理
  • ERP学习(二):用友软件产品之系统管理
  • 网络原理(Java)
  • 文生视频模型速读:LTX-Video
  • [ctfshow web入门] web67
  • SolidWork-2023 鼠標工程
  • 宝塔服务安装使用的保姆级教程
  • 客户端建立一个连接需要占用客户端的端口吗
  • C++学习-骑士巡游问题
  • 独立按键控制LED
  • C++(6):逻辑运算符
  • 基于C语言的TCP通信测试程序开发指南
  • [ctfshow web入门] web71
  • 对话 BitMart 新任 CEO Nenter (Nathan) Chow:技术创新、全球扩张和社区赋能
  • TIME - MoE 模型代码 3.3——Time-MoE-main/time_moe/datasets/time_moe_window_dataset.py
  • 【排错】dify1.3.1插件市场安装报错问题
  • 协议路由更改路径配置
  • 计算机设计大赛山东省赛区软件开发赛道线上答辩复盘
  • 记录一次window2012r2安装配置oracle11g的过程-出现的错误以及解决方法
  • GPT-4o, GPT 4.5, GPT 4.1, O3, O4-mini等模型的区别与联系
  • 嵌入式学习笔记 - 运算放大器的共模抑制比
  • Java 原生实现代码沙箱之Java 程序安全控制(OJ判题系统第2期)——设计思路、实现步骤、代码实现
  • Java基础:代理
  • JavaScript篇:async/await 错误处理指南:优雅捕获异常,告别失控的 Promise!
  • Linux系统下安装mongodb
  • ensp的华为小实验