首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

深入理解 MySQL BDB 系列(一):BDB 基礎架構與子系統介紹

     編輯:關於SqlServer

一、BDB 體系架構

1.1 BDB 整體架構

BDB 整體體系架構包含五大子系統(如圖 1.1 所示):

  1. 資料存取子系統
  2. 交易子系統
  3. 鎖子系統
  4. 記憶體池管理子系統
  5. 日誌子系統

BDB 完整架構圖

應用程式不一定需要完整五大子系統。若僅使用資料存取子系統,架構如圖 1.2 所示,僅涉及資料存取與記憶體池兩子系統(其餘三子系統在 BDB 內隱式調用)。

精簡架構圖

1.2 子系統詳細介紹

資料存取子系統

提供多種存取資料庫檔案的方法:

  1. B-tree
  2. Hash 檔案
  3. 定長記錄
  4. 變長記錄

對這四種存取類型,BDB 提供幾乎一致的介面。例如開啟資料庫皆使用 DB->open。

交易子系統

提供 ACID 交易保證,支援嵌套交易、死結偵測、交易復原。

鎖子系統

提供多粒度鎖定(頁面、記錄、資料庫層級),支援鎖升級、鎖超時、死結偵測。

記憶體池管理子系統

管理頁面快取(Buffer Pool),提供 LRU 淘汰、預讀、髒頁刷寫、檢查點協調。

日誌子系統

實現預寫日誌(WAL),支援崩潰復原、檢查點、日誌歸檔與複製。

五大子系統緊密協作:資料存取操作觸發鎖申請、日誌記錄、快取管理;交易提交需協調日誌強制寫入與鎖釋放;檢查點協調記憶體池與日誌子系統將髒頁持久化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved