MySql邏輯結構簡介


結構示意圖:

如上圖,可把數據庫的結構分成四層,見下圖及文字說明

 

 

 一、連接層
提供客戶端和連接服務,包含本地Sock通信和大多數基於客戶端/服務端工具實現的類似於TCP/IP的通信,主要完成一些類似於連接處理、授權認證、及相關的安全方案,在該層上引入了線程池的概念,為通過認證安全接入的客戶端提供線程,同樣在該層上可以實現基於SSL的安全鏈接。服務器也會為安全接入的每個客戶端驗證它所具有的操作權限。
注:分配數據庫連接線程池,控制數據庫的連接和關閉等資源。

二、業務邏輯處理層
主要完成大多數的核心服務功能,如SQL接口,並完成緩存的查詢,SQL的分析和優化及部分內置函數的操作。所有跨操作引擎的功能也在這一層實現,如過程,函數等。在該層服務器會解析查詢並創建相應的內部解析樹,並對其完成相應的優化如確定查詢表的順序,是否利用索引等,最后生成相應的執行操作。如果是SELECT語句,服務器還會查詢內部的緩存,如果緩存空間足夠大,這樣在解決大量讀操作的環境中能夠很好的提升系統的性能。
注:提供SQL操作的接口,對SQL腳本按一定規則進行解析,並通過SQL優化器優化執行順序,對於查詢的語句還會進入緩存區,提升系統的性能。

第三層:數據存儲引擎層
存儲引擎真正的負責了MySQL中數據的存儲和提取,服務器通過API與存儲引擎進行通信,不同的存儲引擎具有的功能不同,這樣我們可以根據自己的實際需要進行選選取。

注:存儲引擎都是可插拔的,每個存儲引擎所提供的服務都有所差異,所以我們需要根據具體的業務需要,選擇合適的存儲引擎,常用的只有兩種MyISAM和InnoDB。

第四層:數據存儲層
主要是將數據存儲在運行於裸設備的文件系統上,並完成與存儲引擎的交互。

 注:將數據存儲到磁盤上,並協同存儲引擎對數據進行讀寫操作。

 

總結:

數據庫邏輯結構共分為四層,分別是連接層(線程連接池)、業務邏輯處理層(SQL解析讀取)、數據存儲引擎層(存儲引擎)、數據存儲層(數據存儲)

和其它的數據庫相比,MySQL有點與眾不同,它的架構可以在多種不同場景中應用並發揮良好作用,主要體現在存儲引擎的架構上,插件式的存儲引擎架構將查詢處理和其它的系統任務以及數據的存儲提取相分離,這種架構可以根據業務的需求和實際需要選擇合適的存儲引擎。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM