mysql架構 MySQL的基礎架構

2021-10-25 14:10:02 字數 871 閱讀 2184

mysql是關聯式資料庫,關聯式資料庫,顧名思義,是建立在關係模型基礎上的資料庫,我們現實世界中的各種實體以及實體之間的各種聯絡一般可用關係模型來表示。經過數十年的發展,關聯式資料庫在理論和工業實踐中都已經發展到很成熟的地步,可以說,目前的絕大部分應用,使用mysql都有成熟的解決方案。

資料庫的架構一般可以分為應用層,邏輯層,物理層,mysql也可以這樣理解.

對應於mysql:

應用層,負責和客戶端,使用者互動,需要和不同的客戶端和中間伺服器進行互動,建立連線,記住連線的狀態,響應它們的請求,返回資料和控制資訊(錯誤資訊,狀態碼等)。

邏輯層,負責具體的查詢處理、事務管理、儲存管理、恢復管理,以及其他的附加功能。查詢處理器負責查詢解析、執行,當接收到客戶端的sql查詢,資料庫就分配乙個執行緒來處理它,由查詢處理器生成執行計畫,交由計畫執行器來執行,執行器的部分操作還需要訪問更底層的事務儲存管理器運算元據,事務、儲存管理器主要負責我們的事務管理、併發控制、儲存管理,由我們的事務管理器來確保「acid」特性,由鎖管理器來控制我們的併發,由日誌管理器來確保我們的資料持久化,儲存管理器一般還包括乙個bufer管理器,由它來確定磁碟和記憶體緩衝之間的資料傳輸。

物理層,實際物理磁碟(儲存)上的資料庫檔案.如我們的資料檔案、日誌檔案等。

以下是mysql官方文件的乙個基礎架構圖,圖中的connectors可以理解為各種客戶端端,應用服務,圖中的connection pool 可以理解為應用層,負責連線、驗證等功能,圖中的management services &

utilities,sql inte***ce,parse,optimizer,cache & buffers,pluggable storage

engines可以理解為我們資料庫的大腦——邏輯層。圖最下方的files& logs可以理解為物理層。

MySQL基礎架構

mysql 基本架構示意圖 負責跟客戶端建立連線 獲取許可權 維持和管理連線。平常使用中要盡量使用長連線,但是當全部使用長連線後,mysql占用記憶體會漲的特別快,原因是mysql在執行過程中臨時使用的記憶體是管理在連線 物件裡面的,這些資源會在連線斷開的時候才釋放,大量長連線積累下來會導致記憶體占...

MySQL 基礎架構

mysql 架構分為兩部分,server層與儲存引擎。其中 server 包含 聯結器 查詢快取 分析器 優化器 執行器。儲存引擎架構模式為外掛程式式的,支援 innodb myisam memory 等多個儲存引擎,最常用的是 innodb。建立資料庫連線,驗證使用者名稱密碼是否匹配。讀取使用者許...

MySQL基礎架構

mysql可以被分為server層和儲存引擎層兩個部分。server層包括聯結器 查詢快取 分析器 優化器 執行器等,涵蓋mysql的大多數核心服務功能,以及所有的內建函式 如日期 時間 數學和加密函式等 所有跨儲存引擎的功能都在這一層實現,比如儲存過程 觸發器 檢視等。儲存引擎層直接處理資料。其架...