sql server查询历史进程_学习笔记 | SequoiaDB SQL查询语句执行过程

本篇笔记将为大家介绍 SequoiaDB 巨杉数据库查询 SQL 语句的执行过程,以及查询语句执行过程中实例层、协调节点、编码节点、数据节点各自承担的功能。

应用程序或用户想要从数据库查询需要的数据,首先通过 API 或 client 端连接数据库,将查询 SQL 语句发给数据库,数据库解析查询 SQL 语句,执行完成后将结果返回给应用程序或用户。

首先看一下大家熟悉的 MySQL 数据库。

47eef0d586b75b786f1a3640fb932f4d.pngMySQL 总体分为两层:MySQL server层和 InnoDB 等存储引擎层。MySQL server层负责请求处理和数据计算,InnoDB 存储引擎层只负责存储数据。SQL 语句的大体执行过程为:client 端把查询 SQL 语句发给 MySQL server 层,server 层负责语法解析、语义解析、生成执行计划、执行SQL语句。前三个过程单独在 server 层完成。执行 SQL 语句时,需要与 InnoDB 层进行交互,将对应的数据加载到 server 层的内存中,最终的计算还在 MySQL server 层实现。

RDBMS 类型的数据库的 SQL 语句执行过程都是相似的,通过对 MySQL 数据库的了解,我们更容易理解 SequoiaDB 数据库的查询 SQL 语句执行过程。

根据 SequoiaDB 巨杉数据库官方给出的架构图可以看出:

7477ab81fcfd0ea58559062c214c8abc.pngSequoiaDB 巨杉数据库总体分为“计算实例层” 和 “分布式数据库层” 两层。和 MySQL 数据库相比,它使用 SequoiaDB 分布式数据库层替代 InnoDB。实例层支持MySQL、PGSQL、SparkSQL等类型的实例,用于语法解析、语义解析、生成执行计划。SequoiaDB 分布式数据库层包括协调节点、编目节点、数据节点三部分,用于数据存储和计算。3b0bf9eaafc4c88ecf02f652755113d9.png

SequoiaDB 巨杉数据库的查询 SQL 语句的执行过程和 MySQL 大体一致,主要的区别在于执行 SQL 语句。下面详细介绍 SequoiaDB 数据库查询 SQL 语句的执行过程。

1) client通过user、password连接到 MySQL 实例层,将查询 SQL 语句发给 MySQL 实例层;2) MySQL 实例层对 SQL 语句进行语法解析、语义解析,并生成执行计划;3) MySQL 实例层将执行计划下发至协调节点;4) 协调节点收到执行计划后,进行解析,并从本地缓存或编目节点获取对应的集合信息;5) 协调节点将执行计划转发至集合所在的数据节点;6) 数据节点按照执行计划进行数据查询,并将结果返回给协调节点;7) 协调节点把结果汇总,传递给 MySQL 实例层;8) MySQL 实例层过滤后,将结果返回给 client。到此查询语句执行完成。从查询 SQL 语句的执行过程中,我们可以看到 SequoiaDB 执行查询 SQL 的关键要点:
  • MySQL实例层解析SQL,生成执行计划,几乎不参与计算。
  • 协调节点承接着与 MySQL 实例层、编目节点、数据节点的交互。
  • 数据节点承担数据计算和数据存储。
相信理解这一机制,会帮助大家更好地在查询类场景中应用好分布式数据库。

f7ef1674e23be329fbfb358780824088.png往期技术干货

巨杉Tech | 常见问题参数调优实践(数据库优化系列一)

社区投稿 | NUMA架构与数据库的一些思考(数据库优化系列二)你的数据库文件系统优化好了吗?(数据库优化系列三)分布式数据库的数据备份/恢复,这些你一定要了解社区投稿 | 巨杉数据库对接数仓数据实践与体验社区投稿 | SequoiaDB监控与开发实践分享巨杉Tech | 谈谈数据库内核调优

ea117e17a6c8fd13ea049e702549c121.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442450.shtml

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

相关文章

服务器主机linux安装mysql_linux服务器上安装mysql

mysql版本:mysql-5.6.44-linux-glibc2.12-x86_64.tarlinux操作系统和版本信息:1、检查linux服务器上是否已安全mysql[rootlocalhost ~]# rpm -qa|grep -i mysql未安装则无任何信息返回,若已安装则会返回已安装的版本信息,可通过--…

mysql中rownum分页_Oracle数据库中rownum分页

测试人员在项目测试中发现查询结果列表分页的时候,有的数据在好几页中重复显示,有的则一次都不显示,经过分析sql,原来问题出在测试人员在项目测试中发现查询结果列表分页的时候,有的数据在好几页中重复显示&#xff0c…

python买东西_Python实战之ATM+购物车

学python一个月以来的第一个工程级别项目!!!!!1.首先分析项目需求:模拟实现一个ATM 购物商城程序额度 15000或自定义---->注册功能实现购物商城,买东西加入 购物车,调用信用卡接口结账----->购物车,支付可以提现,手续费5%----->提现…

multi source replication mysql_MySQL 5.7多源复制(Multi-Source Replication)

MySQL5.7.6以后开始支持多源复制Multi-Source Replication,可以将多个主的库同步到一台slave上,从而增加从的利用率,出节省了机器,也可用于备份。首先设置master_info_repository和relay_log_info_repository两个参数,这存储同步信…

列模式 文本编辑器_UltraEdit 24.2 文本编辑器免费版

UltraEdit是由IDM官方最新出品的文本编辑器版本,它是一款性价比全球一流的文本、十六进制,HTML、PHP、Java 和 JavaScript程序文本编辑器,被认为是世界上最好的文本编辑器。UltraEdit可以满足您的所有需求,例如代码突出显示&#…

在linux中加固mysql_mysql在linux下的安装

安装环境:系统是 centos6.51、下载下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads下载版本:我这里选择的5.6.33,通用版,linux下64位也可以直接复制64位的下载地址,通过命令下载&#x…

mysql 加密 tde_tde加密 mysql 阿里云

本文介绍AliSQL和其他版本的功能对比。AliSQL介绍AliSQL是阿里云深度定制的独立MySQL分支,除了社区版的所有功能外,AliSQL提供了类似于MySQL企业版的诸多功能,如企业级备份恢复、线程池、并行查询等,并且AliSQL还提供兼容Oracle的…

mysql分区表达式_怎么定义 mysql hash分区使用的用 户定义的表达式

用户需要在 rule.xml 中定义 partitionLength[] 和 partitionCount[] 两个数组和 hashSlice 二元组。在 DBLE 的启动阶段,点乘两个数组得到模数,也是逻辑分片的数量并且根据两个数组的叉乘,得到各个逻辑分片到物理分片的映射表(物理分片数量由…

mysql 多条记录选择一套_2020-11-09-Mysql(练习题第一套)

遗留问题 select语句中的别名问题 group by 中的别名问题# sql-表 FACT_DAY_SC-字段 DEPT_ID varchar(20) 电厂TJSJ_DATE DATE 日期FSL number 日发电量create table FACT_DAY_SC(DEPT_ID varchar(20),TJSJ_DATE DATE,FSL LONG);insert into FACT_DAY_SC values (10001,2020-12…

wamp的mysql触发器教程_wamp里的mysql怎么做出这个

这个表怎么做这个是phpmyadmin,他是一个独立的程序,并不是wamp独有的,你也可以独立下载phpmyadmin来使用。首先,phpmyadmin你可以把他看作是一个php写的mysql管理工具。前端页面实际上就是HTML,和一般的网页没有什么区…

wx轮播图接口学习用json格式_零基础学小程序008----列表和轮播图的实现,小程序解析json数据...

点击下面网址进入系列教程上一节带领大家实现领简单的计算器,这节来带领大家学习小程序列表功能。本节知识点1,定义本地json文件2,本地文件引入3,小程序列表渲染实现4,解析本地json(为解析网络json做准备)学习之前先来…

云服务器怎么装mysql_云服务器(windows环境)安装mysql图文教程

1、首先进入的是安装引导界面2、然后进入的是类型选择界面,这里有3个类型:Typical(典型)、Complete(完全)、Custom(自定义)。这里建议选择“完全”(Complete)安装,这样可以自定义选择MySQL的安装目录,然后点“Next”下一步&#x…

oracle mysql分页查询_Oracle与MySQL的分页查询sql语句格式实例讲解

Oracle使用rownum进行分页&#xff1a;SELECT *FROM (SELECT a.*, ROWNUM rnFROM (SELECT * FROM table_name) aWHERE ROWNUM < pageIndex * pageSize)WHERE rn > (pageIndex - 1) * pageSize其中&#xff0c;pageIndex是页码&#xff0c;pageSize是每页的条数MySQLMySQL…

阿里mysql 二进制_Mysql binlog 之阿里canal

1、What is Canal&#xff1f;canal [kənl]&#xff0c;中文翻译为 水道/管道/沟渠/运河&#xff0c;主要用途是用于 MySQL 数据库增量日志数据的订阅、消费和解析&#xff0c;是阿里巴巴开发并开源的&#xff0c;采用Java语言开发&#xff1b;历史背景是早期阿里巴巴因为杭州…

java 基本类型 引用类型_Java中的基本类型和引用类型变量的区别

基本类型&#xff1a;基本类型自然不用说了&#xff0c;它的值就是一个数字&#xff0c;一个字符或一个布尔值。引用类型&#xff1a;是一个对象类型&#xff0c;值是什么呢&#xff1f;它的值是指向内存空间的引用&#xff0c;就是地址&#xff0c;所指向的内存中保存着变量所…

git 怎么提交忽略文件夹_git 设置忽略文件提交的几种方式

在使用git进行项目管理的时候,有时候一些安装包之类,或者自己本地项目使用的一些编译文件,在不需要提交到远程仓库时,可以通过以下几种方式设置忽略提交,包括文件夹和单个文件.之前自己项目里面采用了第二种方法进行了设置,但是时间久远竟然忘记了.....,导致我有一些文件始终无…

java获取行号_java – 如何获取一个方法的行号?

我想做同样的事情,经过一些研究,就解决了javassist.您将需要添加javassist(我使用版本3.15.0-GA).给定以下类确定“x”方法的位置.方法名称“x”是硬编码的,但是如果你和我在一样的船上,反射并不困难,所以我相信你可以得到一个方法名称列表,然后下面将让你得到行号的方法&#…

java测试类和类_【测试开发】从测试角度看Java异常类(错误和异常区别介绍)

在 Java 中&#xff0c;所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。Throwable 有两个重要的子类&#xff1a;Exception(异常)和 Error(错误)&#xff0c;二者都是 Java 异常处理的重要子类…

mysql 学生成绩等级_JSP+SSM+Mysql实现的学生成绩管理系统

项目简介本系统是基于JSPSSMMysql实现的学生成绩管理系统。主要实现的功能有教师管理、学生管理、课程管理、学生成绩管理。难度等级&#xff1a;中等技术栈编辑器Eclipse Version: 2020-03 (4.15.0)前端技术基础&#xff1a;htmlcssJavaScript框架&#xff1a;JQueryH-ui后端技…

java ajax 导出excel文件_springMVC(4)---生成excel文件并导出

springMVC(4)---生成excel文件并导出在开发过程中&#xff0c;需要将数据库中的数据以excel表格的方式导出。首先说明。我这里用的是Apache的POI项目&#xff0c;它是目前比较成熟的HSSF接口&#xff0c;用来处理Excel对象。其实POI不仅仅只能处理excel&#xff0c;它还可以处理…