Mysql的体系结构概览
整個MySQL Server由以下組成
Connection Pool : 連接池組件
Management Services & Utilities : 管理服務和工具組件
SQL Interface : SQL接口組件
Parser : 查詢分析器組件
Optimizer : 優化器組件
Caches & Buffers : 緩沖池組件
Pluggable Storage Engines : 存儲引擎
File System : 文件系統
1)連接層
最上層是一些客戶端和鏈接服務,包含本地sock 通信和大多數基于客戶端/服務端工具實現的類似于 TCP/IP的通信。主要完成一些類似于連接處理、授權認證、及相關的安全方案。
在該層上引入了線程池的概念,為通過認證安全接入的客戶端提供線程。
同樣在該層上可以實現基于SSL的安全鏈接。
服務器也會為安全接入的每個客戶端驗證它所具有的操作權限。
2)服務層
第二層架構主要完成大多數的核心服務功能,如SQL接口,并完成緩存的查詢,SQL的分析和優化,部分內置函數的執行。
所有跨存儲引擎的功能也在這一層實現,如過程、函數等。
在該層,服務器會解析查詢并創建相應的內部解析樹,并對其完成相應的優化如確定表的查詢的順序,是否利用索引等,最后生成相應的執行操作。
如果是select語句,服務器還會查詢內部的緩存,如果緩存空間足夠大,這樣在解決大量讀操作的環境中能夠很好的提升系統的性能。
3)引擎層
存儲引擎層,存儲引擎真正的負責了MySQL中數據的存儲和提取,服務器通過API和存儲引擎進行通信。
不同的存儲引擎具有不同的功能,這樣我們可以根據自己的需要,來選取合適的存儲引擎。
4)存儲層
數據存儲層,主要是將數據存儲在文件系統之上,并完成與存儲引擎的交互。
和其他數據庫相比,MySQL有點與眾不同,它的架構可以在多種不同場景中應用并發揮良好作用。
主要體現在存儲引擎上,插件式的存儲引擎架構,將查詢處理和其他的系統任務以及數據的存儲提取分離。
這種架構可以根據業務的需求和實際需要選擇合適的存儲引擎。
總結
以上是生活随笔為你收集整理的Mysql的体系结构概览的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 触发器——创建||更新||删除||查看
- 下一篇: 优化SQL步骤——查看SQL执行频率 |