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 多条记录选择一套_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…

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

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

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

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

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

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

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

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

java swing 模拟发牌_用java设计一个发牌程序

展开全部// 发牌程序。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class CardBuffer //加互斥锁的缓冲区{private int value;private boolean isEmpty true; //value是否为空的信号量private int order0; //信号量,e68a8462616964757…

Java写文件导致io过高_161108、Java IO流读写文件的几个注意点

平时写IO相关代码机会挺少的,但却都知道使用BufferedXXXX来读写效率高,没想到里面还有这么多陷阱,这两天突然被其中一个陷阱折腾一下:读一个文件,然后写到另外一个文件,前后两个文件居然不一样?…

java接口测试框架搭建_接口自动化测试框架搭建

一、原理及特点参数放在XML文件中进行管理用httpClient简单封装一个httpUtils工具类测试用例管理使用了testNg管理,使用了TestNG参数化测试,通过xml文件来执行case。测试报告这里用到第三方的包ReportNG 项目组织用Maven二、准备使用工具:ecl…

java工厂模式 uml_深入浅出设计模式-简单工厂模式

模式定义简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式定义了一个创建对象的类,由这个类来封装实例化对象的行为。设计原则遵循的原则:依赖倒置原则迪…

java技术难点_Java核心技术第四章----对象与类重难点总结

一、类之间的关系类和类之间的关系,耦合度从高到低:is -a。继承、实现has-a。组合、聚合、关联user-a。依赖。要求是:高内聚、低耦合。继承(“is-a”)继承(Inheritance),即“is-a”关系,是一种用于表示特殊与一般关系的…

java日志级别的作用_Java系统日志级别对性能的影响性

先介绍下java系统的日志日志框架:是一种日志接口,不负责具体的日志输出形式(有点类似于JDBC),可以灵活的切换日志输出形式。常见的日志框架有slf4j、jcl,只提供Logger、LoggerFactory等接口日志系统:是应用实际使用的日…