Mysql逻辑架构介绍
生活随笔
收集整理的這篇文章主要介紹了
Mysql逻辑架构介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、整體架構圖
MySql和其它數據庫相比,它的優勢在于它的架構可以在多種不同場景中應用并且發揮良好。
這一點主要體現在引擎層上,MySql的引擎是可拔插式的,業務處理和引擎是分離的,因此可以根據不同的業務需求選擇不同的引擎來進行處理,甚至現有的引擎都不符合你的需求,你可以定制MySql引擎。
二、架構各層介紹
2.1、連接層
主要是完成一些類似于連接處理、授權認證、及相關的安全方案等處理,包含本地 sock 通信和大多數基于客戶端/服務端工具實現的類似于 tcp/ip 的 通信。
線程池的概念就是為通過安全認證接入的客戶端提供線程。
2.2、服務層
服務層平常也稱之為邏輯處理層。服務層主要包含以下幾點:
| Management Serveices & Utilities | 系統管理和控制工具 |
| SQL Interface | SQL 接口。接受用戶的 SQL 命令,并且返回用戶需要查詢的結果。比如 select from 就是調用 SQL Interface。 |
| Parser | SQL 解析器。SQL 命令傳遞到解析器的時候會被解析器驗證和解析。 |
| Optimizer | SQL 查詢優化器。SQL 語句在查詢之前會使用查詢優化器對查詢進行優化,比如有 where 條件時,優化器來決定先投影還是先過濾。 |
| Cache & Buffer | SQL 查詢緩存。如果查詢緩存有命中的查詢結果,查詢語句就可以直接去查詢緩存中取 數據。這個緩存機制是由一系列小緩存組成的。比如表緩存,記錄緩存,key 緩存, 權限緩存等 |
2.3、引擎層
存儲引擎層,存儲引擎真正的負責了 MySQL 中數據的存儲和提取,服務器通過 API 與存儲引擎進行通信。因為MySql的引擎是可拔插式的,我們在使用時可根據不同的業務場景可選擇不同的引擎。
在mysql官網上對于自定義存儲引擎也有所介紹。編寫自定義存儲引擎
2.4、數據存儲層
這個就是我們平常所說的物理存儲啦,主要就是把數據存儲到運行mysql的服務器中的文件系統中,并且能夠完成和存儲引擎的交互。
后文
踩坑今天還沒寫出來,先發個存稿,明天繼續肝。
紙上得來終覺淺,絕知此事要躬行。
大家好,我是博主寧在春:主頁
一名喜歡文藝卻踏上編程這條道路的小青年。
希望:我們,待別日相見時,都已有所成。
學習視頻:B站周陽老師MySQL進階
總結
以上是生活随笔為你收集整理的Mysql逻辑架构介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 「后端小伙伴来学前端了」记录自己的踩坑第
- 下一篇: 「后端小伙伴来学前端了」Element修