MySQL的體系結構
概述

猛眼一看這個結構體系圖好像很繁瑣,其實這個體系和我們在做web開發時的三層架構是有些類似的,
用戶發起一個請求到控制處理層,控制處理層呼叫service服務進行服務處理,service服務再呼叫dao層為service提供資料層的支持回傳對應的資料(內容),最終回應給用戶,
類似這樣,詳細的來分析這個結構圖,先講這個結構圖分成兩部分,如下圖所示:

1、Connectors:連接層,可以把它看成一個客戶端
2、MySQL Server:服務層,可以把它看成MySQL服務端
在連接層有很多發起或建立連接的工具,像我們熟悉JDBC等,
我們以JDBC為例,操作者在客戶端(Connectors 連接層)通過JDBC訪問與服務器端建立連接,此時我們將服務器端(MySQL Service 服務層)細分為4部分,詳細如下圖:

當客戶端向服務器端發起請求的時候,它首先會到
1中(Connection Poll:連接池)來獲取一個連接,在連接池中會對連接進行校驗、獲取連接最大數以及快取等操作,
連接建立成功之后,接著到了
2中,2中主要完成大多數的核心服務功能,如:
Management Service & Utilities:管理服務及工具,這個模塊主要可以完成資料的備份和恢復、集群、安全及系統配置相關
SQL Interface:SQL介面,在這個模塊中支持執行我們封裝的DML,DDL陳述句、存盤程序,存盤函式、視圖、觸發器等
Parser:SQL決議器,它用來決議將要被執行SQL陳述句,進行先關的過濾
Optimizer:優化器,在SQL陳述句決議完成后,MySQL內部會對SQL陳述句進行優化處理
Cache & Buffers:快取層,SQL陳述句優化完成后,如果是select陳述句的話可能還會來到這里進行快取查詢,如果有快取記錄的話就直接回傳資料,
2中的操作完成后,繼續往下走,來到3(Pluggable Storage Rngines:插件式的存盤引擎,我們可以根據我們的需要去選擇對應的存盤引擎作為MySQL資料的啟動器),3中加載存盤引擎(引擎=>驅動),最終將操作落到4上(存盤層 File System:檔案系統),這時候就要操作檔案系統了,檔案系統就落在電腦的磁盤中,在檔案系統中處理存盤的表結構和資料之外,還存盤了索引、二進制日志、錯誤日志、查詢日志、慢查詢日志等
整個MySQL Server的組成:
1、
Connection Pool: 連接池組件2、
Management Services & Utilities: 管理服務和工具組件3、
SQL Interface: SQL介面組件4、
Parser: 查詢分析器組件5、
Optimizer: 優化器組件6、
Caches & Bu?ers: 緩沖池組件7、
Pluggable Storage Engines: 存盤引擎8、
File System: 檔案系統
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/245190.html
標籤:其他
