【赵渝强老师】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.mzph.cn/news/905095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

性能远超SAM系模型,苏黎世大学等开发通用3D血管分割基础模型

如果把人的身体比作一座庞大的城市,那么血管无疑就是这座城市的「道路」,动脉、静脉以及毛细血管对应着高速公路、城市道路以及乡间小道,它们相互协作,通过血液将营养物质、氧气等输送到身体各处,从而维持着这座「城市…

git高效杀器——cz-customizable 搭配 commitlint

What is cz-customizable and commitlint? cz-customizable 一款可定制化的Commitizen插件(也可作为独立工具),旨在帮助创建如约定式提交规范的一致性提交消息。commitlint commitlint 是一个用于检查 Git 提交信息的工具,它可以帮助开发者保持提交信息的规范性和一致性。…

Spark 中RDD、Job,stage,task的关系

目录 1. 概念定义1.1 Job1.2 Stage1.3 Task 2. 关系总结3. 示例分析代码示例执行过程 4. Spark中的运行流程5. 关键点5.1 宽依赖和窄依赖5.2 并行度5.3 性能优化 **6. 总结****1. RDD的核心作用****1.1 什么是RDD?****1.2 RDD与Job、Stage、Task的关系** **2. Job、…

Kubernetes基础(三十二):Worker节点启动全解析

Worker节点是Kubernetes集群的"肌肉",负责实际运行业务负载。本文将深入剖析Worker节点的完整启动流程,并揭秘生产环境中的关键优化点。 一、启动流程全景图 二、核心启动阶段详解 1. 系统初始化(0-30秒) 关键任务&a…

matlab实现模型预测控制

考虑扩展状态空间形式 缩写为 对于未来的预测,这里要注意,默认了最小预测时域为1,如果不为1,从k1到k最小预测时域的x的预测为0 模型预测控制matlab运行代码,可实现模型预测控制。 StateMPC是按照钱积新版《预测控制》…

Python_day22

DAY 22 复习日 复习日 仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。 作业: 自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码 kaggle泰坦里克号人员生还预测 一、Kaggle 基础使用步骤 注册与登录…

【软件测试】基于项目驱动的功能测试报告(持续更新)

目录 一、项目的介绍 1.1 项目背景 二、测试目标 2.1 用户服务模块 2.1.1 用户注册模块 2.1.1.1 测试点 2.1.1.2 边界值分析法(等价类+边界值) 2.1.1.2.1 有效等价类 2.1.1.2.2 无效等价类 2.1.1.2.3 边界值 2.1.1.2.4 测试用例设计 2.1.2 用户登录 2.1.2.1 测试…

QT中多线程的实现

采用官方推荐的 QObject::moveToThread 方式实现(相比继承 QThread 更灵活),包含耗时任务执行、主线程通信、线程安全退出等核心功能。 环境说明 Qt 版本:Qt 5.15 或 Qt 6(兼容)项目类型:GUI …

从知识图谱到精准决策:基于MCP的招投标货物比对溯源系统实践

前言 从最初对人工智能的懵懂认知,到逐渐踏入Prompt工程的世界,我们一路探索,从私有化部署的实际场景,到对DeepSeek技术的全面解读,再逐步深入到NL2SQL、知识图谱构建、RAG知识库设计,以及ChatBI这些高阶应…

maven如何搭建自己的私服(LINUX版)?

环境准备 安装 JDK :确保系统已安装 JDK 8 或更高版本。可以通过以下命令安装 JDK: 安装 OpenJDK :sudo apt update && sudo apt install openjdk-11-jdk 安装 Oracle JDK :需要添加第三方仓库,例如 WebUpd8 …

armv7 backtrace

ref: ARM Cortex-M3/M4/M7 Hardfault异常分析_arm hardfault-CSDN博客

探索 C++23 的 views::cartesian_product

文章目录 一、背景与动机二、基本概念与语法三、使用示例四、特点与优势五、性能与优化六、与 P2374R4 的关系七、编译器支持八、总结 C23 为我们带来了一系列令人兴奋的新特性,其中 views::cartesian_product 是一个非常实用且强大的功能,它允许我们轻…

SHAP分析!Transformer-BiLSTM组合模型SHAP分析,模型可解释不在发愁!

SHAP分析!Transformer-BiLSTM组合模型SHAP分析,模型可解释不在发愁! 目录 SHAP分析!Transformer-BiLSTM组合模型SHAP分析,模型可解释不在发愁!效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于SH…

牛客周赛 Round 92-题解

牛客周赛 Round 92-题解 A-小红的签到题 code #include<iostream> #include<string> using namespace std; string s; int main() {int n;cin >> n;cout << "a_";for (int i 0; i < n - 2; i )cout << b;return 0; }B-小红的模…

Java设计模式之建造者模式:从入门到精通

1. 建造者模式概述 1.1 定义与核心概念 **建造者模式(Builder Pattern)**是一种创建型设计模式,它将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。 专业术语解释表: 术语解释产品(Product)最终要构建的复杂对象建造者(Builder)定义创建产品各个…

各类有关NBA数据统计数据集大合集

这些数据我已上传大家在CSDN上直接搜索就可以&#xff01; 一、【2022-2023 NBA球员统计】数据集 关键词: 篮球 描述: 语境 该数据集每场比赛包含2022-2023常规赛NBA球员统计数据。 请注意&#xff0c;由团队更改产生了重复的球员名称。 * [2021-2022 NBA播放器统计]&#…

3、食品包装控制系统 - /自动化与控制组件/food-packaging-control

76个工业组件库示例汇总 食品包装线控制系统 这是一个用于食品包装线控制系统的自定义组件&#xff0c;提供了食品包装生产线的可视化监控与控制界面。组件采用工业风格设计&#xff0c;包含生产流程控制、实时数据监控和逻辑编程三个主要功能区域。 功能特点 工业风格UI设…

NPDP.新产品开发职业认证知识体系NPDP.BOK

第一章 新产品开发战略 1.2 战略及其层级--公司-经营--创新--新产品开发组合-新产品开发项目 “(战略能够)定义与传播一个组织的独特定位&#xff0c;说明应当如何整合组织的资源、技能与能力以获取竞争优势。”(波特&#xff0c;2008) “基于行业定位、机遇和资源,企业为实…

器件(八)—芯片封装中的开尔文源极

首先再次回顾一下MOS到底怎么导通的 在如上的结构中&#xff0c;栅极加压&#xff0c;让N和P-base间形成导电沟道&#xff0c;Vds间加正电压&#xff0c;流到N里的电子依靠这个电压一路飘洋过海&#xff0c;通过Gate给它开辟的沟道&#xff0c;从N到P-base&#xff0c;再从P-ba…

客服系统重构详细计划

# 客服系统重构详细计划 ## 第一阶段&#xff1a;系统分析与准备工作 ### 1. 代码审查和分析 (1-2周) - 全面分析现有代码结构 - 识别代码中的问题和瓶颈 - 理解当前系统的业务逻辑 - 确定可重用的组件 - 制作系统功能清单 ### 2. 技术栈升级准备 (1周) - 升级PHP版本到7…