深圳新闻类网站的建设,goggle营销型网站效果,网店运营与管理,做一个中英文双语网站建设多少钱本篇笔记将为大家介绍 SequoiaDB 巨杉数据库查询 SQL 语句的执行过程#xff0c;以及查询语句执行过程中实例层、协调节点、编码节点、数据节点各自承担的功能。应用程序或用户想要从数据库查询需要的数据#xff0c;首先通过 API 或 client 端连接数据库#xff0c;将查询 … 本篇笔记将为大家介绍 SequoiaDB 巨杉数据库查询 SQL 语句的执行过程以及查询语句执行过程中实例层、协调节点、编码节点、数据节点各自承担的功能。应用程序或用户想要从数据库查询需要的数据首先通过 API 或 client 端连接数据库将查询 SQL 语句发给数据库数据库解析查询 SQL 语句执行完成后将结果返回给应用程序或用户。首先看一下大家熟悉的 MySQL 数据库。MySQL 总体分为两层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 巨杉数据库官方给出的架构图可以看出SequoiaDB 巨杉数据库总体分为“计算实例层” 和 “分布式数据库层” 两层。和 MySQL 数据库相比它使用 SequoiaDB 分布式数据库层替代 InnoDB。实例层支持MySQL、PGSQL、SparkSQL等类型的实例用于语法解析、语义解析、生成执行计划。SequoiaDB 分布式数据库层包括协调节点、编目节点、数据节点三部分用于数据存储和计算。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 实例层、编目节点、数据节点的交互。数据节点承担数据计算和数据存储。相信理解这一机制会帮助大家更好地在查询类场景中应用好分布式数据库。往期技术干货巨杉Tech | 常见问题参数调优实践(数据库优化系列一)社区投稿 | NUMA架构与数据库的一些思考(数据库优化系列二)你的数据库文件系统优化好了吗(数据库优化系列三)分布式数据库的数据备份/恢复这些你一定要了解社区投稿 | 巨杉数据库对接数仓数据实践与体验社区投稿 | SequoiaDB监控与开发实践分享巨杉Tech | 谈谈数据库内核调优