ACID


ACID (简体)

ACID,是指在資料庫管理系統DBMS)中事務所具有的四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation,又稱獨立性)、持久性(Durability)。

在資料庫系統中,一個事務是指由一系列資料庫操作組成的一個完整的邏輯過程。例如銀行轉帳,從原賬戶扣除金額,以及向目標賬戶添加金額,這兩個資料庫操作的總和構成一個完整的邏輯過程,不可拆分。這個過程被稱為一個事務,具有ACID特性。

  • 原子性
整個事務中的所有操作,要麼全部完成,要麼全部不完成,不可能停滯在中間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。
  • 一致性
在事務開始之前和事務結束以後,資料庫的完整性約束沒有被破壞。
  • 隔離性
兩個事務的執行是互不干擾的,一個事務不可能看到其他事務運行時,中間某一時刻的數據。
  • 持久性
在事務完成以後,該事務所對資料庫所作的更改便持久的保存在資料庫之中,並不會被回滾。

ACID的概念在ISO/IEC 10026-1:1992文件的第四段內有所說明。

實現

由於一項操作通常會包含許多子操作,而這些子操作可能會因為硬體的損壞或其他因素產生問題,要正確實現ACID並不容易。ACID建議資料庫將所有需要更新以及修改的資料一次操作完畢,但實際上並不可行。

目前主要有兩種方式實現ACID:第一種是Write ahead logging,也就是日誌式的方式。第二種是Shadow paging。

相關條目

外部連結


資料庫管理系統(DBMS)檢視  討論  編輯  歷史 )

概念
數據庫 • 數據庫模型 • Database storage • 關係模型 • 分散式資料庫 • ACID • 空值
關係資料庫 • 關係代數 • 關係演算 • 資料庫正規化 • 參照完整性 • 關係資料庫管理系統 
主鍵, 外來鍵, 代理主鍵, 超鍵值, 候選鍵 

Objects
觸發器 • 視圖 • 資料庫表 • 指標 • Log • Transaction • 資料庫索引 
存儲程序 • Partition

SQL
Select • Insert • Update • Merge • Delete • Join • Union • Create • Drop
  Begin work • Commit • Rollback • Truncate • Alter

資料庫管理系統的實施

實施類型
Relational • Flat file • Deductive • Dimensional • 階層式 • 對象資料庫 • Object relational • Temporal • XML data stores

資料庫產品
對象型 (對比) • 關係型 (對比)

資料庫成分
Query language • Query optimizer • Query plan • ODBC • JDBC



! __







Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History