ACID數據庫模型

ACID保護您的數據庫的數據

數據庫設計的ACID模型是數據庫理論中最古老也是最重要的概念之一。 它提出了每個數據庫管理系統必須努力實現的四個目標:原子性,一致性,隔離性和持久性。 不能滿足這四個目標中的任何一個的關係數據庫不能被認為是可靠的。 擁有這些特性的數據庫被認為符合ACID標準。

ACID定義

讓我們花點時間仔細檢查每個特徵:

ACID在實踐中的工作原理

數據庫管理員使用多種策略來強制執行ACID。

一種用於強制原子性和持久性的方法是預寫式日誌記錄 (WAL),其中任何事務細節首先被寫入到包含重做和撤消信息的日誌中。這確保了在任何類型的數據庫故障的情況下,數據庫可以檢查日誌並將其內容與數據庫的狀態進行比較。

用於解決原子性和持久性的另一種方法是陰影分頁 ,其中在要修改數據時創建陰影頁面。 查詢的更新被寫入影子頁面而不是數據庫中的真實數據。 數據庫本身僅在編輯完成時才被修改。

另一種策略稱為兩階段提交協議,在分佈式數據庫系統中尤其有用。 該協議將修改數據的請求分為兩個階段:提交請求階段和提交階段。 在請求階段,網絡上受交易影響的所有DBMS必須確認他們已收到並有能力執行交易。 一旦從所有相關的DBMS接收到確認,提交階段就會完成,其中數據實際上被修改。