sql server查询历史进程_学习笔记 | SequoiaDB SQL查询语句执行过程
本篇筆記將為大家介紹 SequoiaDB 巨杉數(shù)據(jù)庫查詢 SQL 語句的執(zhí)行過程,以及查詢語句執(zhí)行過程中實(shí)例層、協(xié)調(diào)節(jié)點(diǎn)、編碼節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)各自承擔(dān)的功能。
應(yīng)用程序或用戶想要從數(shù)據(jù)庫查詢需要的數(shù)據(jù),首先通過 API 或 client 端連接數(shù)據(jù)庫,將查詢 SQL 語句發(fā)給數(shù)據(jù)庫,數(shù)據(jù)庫解析查詢 SQL 語句,執(zhí)行完成后將結(jié)果返回給應(yīng)用程序或用戶。
首先看一下大家熟悉的 MySQL 數(shù)據(jù)庫。
MySQL 總體分為兩層:MySQL server層和 InnoDB 等存儲(chǔ)引擎層。MySQL server層負(fù)責(zé)請(qǐng)求處理和數(shù)據(jù)計(jì)算,InnoDB 存儲(chǔ)引擎層只負(fù)責(zé)存儲(chǔ)數(shù)據(jù)。SQL 語句的大體執(zhí)行過程為:client 端把查詢 SQL 語句發(fā)給 MySQL server 層,server 層負(fù)責(zé)語法解析、語義解析、生成執(zhí)行計(jì)劃、執(zhí)行SQL語句。前三個(gè)過程單獨(dú)在 server 層完成。執(zhí)行 SQL 語句時(shí),需要與 InnoDB 層進(jìn)行交互,將對(duì)應(yīng)的數(shù)據(jù)加載到 server 層的內(nèi)存中,最終的計(jì)算還在 MySQL server 層實(shí)現(xiàn)。RDBMS 類型的數(shù)據(jù)庫的 SQL 語句執(zhí)行過程都是相似的,通過對(duì) MySQL 數(shù)據(jù)庫的了解,我們更容易理解 SequoiaDB 數(shù)據(jù)庫的查詢 SQL 語句執(zhí)行過程。
根據(jù) SequoiaDB 巨杉數(shù)據(jù)庫官方給出的架構(gòu)圖可以看出:
SequoiaDB 巨杉數(shù)據(jù)庫總體分為“計(jì)算實(shí)例層” 和 “分布式數(shù)據(jù)庫層” 兩層。和?MySQL?數(shù)據(jù)庫相比,它使用 SequoiaDB 分布式數(shù)據(jù)庫層替代 InnoDB。實(shí)例層支持MySQL、PGSQL、SparkSQL等類型的實(shí)例,用于語法解析、語義解析、生成執(zhí)行計(jì)劃。SequoiaDB 分布式數(shù)據(jù)庫層包括協(xié)調(diào)節(jié)點(diǎn)、編目節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)三部分,用于數(shù)據(jù)存儲(chǔ)和計(jì)算。SequoiaDB 巨杉數(shù)據(jù)庫的查詢 SQL 語句的執(zhí)行過程和 MySQL 大體一致,主要的區(qū)別在于執(zhí)行 SQL 語句。下面詳細(xì)介紹 SequoiaDB 數(shù)據(jù)庫查詢 SQL 語句的執(zhí)行過程。
1) client通過user、password連接到 MySQL 實(shí)例層,將查詢 SQL 語句發(fā)給 MySQL 實(shí)例層;2) MySQL 實(shí)例層對(duì) SQL 語句進(jìn)行語法解析、語義解析,并生成執(zhí)行計(jì)劃;3) MySQL 實(shí)例層將執(zhí)行計(jì)劃下發(fā)至協(xié)調(diào)節(jié)點(diǎn);4)?協(xié)調(diào)節(jié)點(diǎn)收到執(zhí)行計(jì)劃后,進(jìn)行解析,并從本地緩存或編目節(jié)點(diǎn)獲取對(duì)應(yīng)的集合信息;5)?協(xié)調(diào)節(jié)點(diǎn)將執(zhí)行計(jì)劃轉(zhuǎn)發(fā)至集合所在的數(shù)據(jù)節(jié)點(diǎn);6)?數(shù)據(jù)節(jié)點(diǎn)按照?qǐng)?zhí)行計(jì)劃進(jìn)行數(shù)據(jù)查詢,并將結(jié)果返回給協(xié)調(diào)節(jié)點(diǎn);7)?協(xié)調(diào)節(jié)點(diǎn)把結(jié)果匯總,傳遞給 MySQL 實(shí)例層;8) MySQL 實(shí)例層過濾后,將結(jié)果返回給 client。到此查詢語句執(zhí)行完成。從查詢 SQL 語句的執(zhí)行過程中,我們可以看到 SequoiaDB 執(zhí)行查詢 SQL 的關(guān)鍵要點(diǎn):- MySQL實(shí)例層解析SQL,生成執(zhí)行計(jì)劃,幾乎不參與計(jì)算。
- 協(xié)調(diào)節(jié)點(diǎn)承接著與 MySQL 實(shí)例層、編目節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)的交互。
- 數(shù)據(jù)節(jié)點(diǎn)承擔(dān)數(shù)據(jù)計(jì)算和數(shù)據(jù)存儲(chǔ)。
往期技術(shù)干貨
巨杉Tech | 常見問題參數(shù)調(diào)優(yōu)實(shí)踐(數(shù)據(jù)庫優(yōu)化系列一)
社區(qū)投稿 | NUMA架構(gòu)與數(shù)據(jù)庫的一些思考(數(shù)據(jù)庫優(yōu)化系列二)你的數(shù)據(jù)庫文件系統(tǒng)優(yōu)化好了嗎?(數(shù)據(jù)庫優(yōu)化系列三)分布式數(shù)據(jù)庫的數(shù)據(jù)備份/恢復(fù),這些你一定要了解社區(qū)投稿 | 巨杉數(shù)據(jù)庫對(duì)接數(shù)倉數(shù)據(jù)實(shí)踐與體驗(yàn)社區(qū)投稿 | SequoiaDB監(jiān)控與開發(fā)實(shí)踐分享巨杉Tech | 談?wù)剶?shù)據(jù)庫內(nèi)核調(diào)優(yōu)總結(jié)
以上是生活随笔為你收集整理的sql server查询历史进程_学习笔记 | SequoiaDB SQL查询语句执行过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win11正在拉拢游戏玩家 杀手锏功能来
- 下一篇: 阿里mysql 二进制_Mysql bi