本篇笔记将为大家介绍 SequoiaDB 巨杉数据库查询 SQL 语句的执行过程,以及查询语句执行过程中实例层、协调节点、编码节点、数据节点各自承担的功能。
应用程序或用户想要从数据库查询需要的数据,首先通过 API 或 client 端连接数据库,将查询 SQL 语句发给数据库,数据库解析查询 SQL 语句,执行完成后将结果返回给应用程序或用户。
首先看一下大家熟悉的 MySQL 数据库。

RDBMS 类型的数据库的 SQL 语句执行过程都是相似的,通过对 MySQL 数据库的了解,我们更容易理解 SequoiaDB 数据库的查询 SQL 语句执行过程。
根据 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 实例层、编目节点、数据节点的交互。
- 数据节点承担数据计算和数据存储。
往期技术干货