mysql的邏輯結構圖將整個mysql分成四層,圖如下:
1.連線層
最上層是一些客戶端和連線服務,包含本地scoket同學和大多數基於客戶端/服務端工具實現的類似於tcp/ip的通訊,主要完成一些類似連線處理,授權認證,及相關的安全方案,在該層引入執行緒池的概念,為通過認證安全接入的客戶端提供執行緒,同樣在該層上可以實現基於ssl的安全鏈結,伺服器也會為安全接入的每個客戶端驗證它所具備的操作許可權
2.服務層
第二層架構主要完成大多數的核心服務功能,如sql介面,並完成快取查詢,sql的分析和優化及部分內建函式的執行,所有跨儲存引擎的功能也在這一層實現,如過程,函式等,在該層,服務層會解析查詢並建立相應的內部解析樹,並對其完成響應的優化確認查詢表的順序,是否利用索引等,最後生成相應的執行操作,如果是select語句,伺服器還會查詢內部的快取,如果快取空間足夠大,這樣就解決大量讀操作的環境中能夠很好的提供系統效能。
3.引擎層
儲存引擎層,儲存引擎真正負責了mysql中資料的儲存和提取,伺服器通過api與儲存引擎進行通訊,不同的儲存引擎具有的功能不同,這樣我們可以根據自己的實際需要進行選取,例如:myisam和innodb
4.儲存層
資料儲存層,主要講資料儲存在執行於裸裝置的檔案系統之上。並完成儲存引擎的互動(檔案系統)
當mysql客戶端傳送一條執行命令到mysql之後,mysql的每一層之間的工作銜接如下圖所示:
1、連線層
負責通過客戶端傳送的連線請求,並進行連線管理、連線線程管理
2、服務層
負責將客戶端傳送來的sql命令進行:初始化模組–> 使用者管理–> 命令分發–>查詢快取模組、日誌記錄模組、命令解析–>查詢優化、表變更模組、表維護模組、複製模組、狀態模組–>許可權控制模組–> 表管理模組–>與引擎層進行通訊
3、引擎層
負責執行儲存操作。並記錄與儲存引擎相關的資訊
mysql 多邏輯 Mysql的邏輯架構
mysql的邏輯架構圖 mysql是分層的 整體分為 connectors 連線驅動 enterprise management services utillties 服務管理器和一些工具 connection pool 連線池 sql interfice sql介面 parser 解析器 opti...
Mysql的邏輯架構
第一層,即最上一層,所包含的服務並不是mysql所獨有的技術。它們都是服務於c s程式或者是這些程式所需要的 連線處理,身份驗證,安全性等等。第二層值得關注。這是mysql的核心部分。通常叫做 sql layer。在 mysql據庫系統處理底層資料之前的所有工作都是在這一層完成的,包括許可權判斷,s...
MySQL的邏輯架構
1 第一層 連線層 實現與客戶端的連線,伺服器為安全接入的每個使用者客戶端驗證它的所具有的操作許可權,在該層引入了連線池。2.第二層 服務層 完成mysql的核心功能 sql介面 快取的查詢 sql的的分析優化 內建函式的執行。在該層mysql伺服器會解析查詢並建立相應的內部解析樹,並且確定對其完成...