簡介
ACID,是指數據庫管理系統(DBMS)在寫入或更新資料的過程中,為保證事務(transaction)是正确可靠的,所必須具備的四個特性:原子性(atomicity,或稱不可分割性)、一緻性(consistency)、隔離性(isolation,又稱獨立性)、持久性(durability)。
在數據庫系統中,一個事務是指:由一系列數據庫操作組成的一個完整的邏輯過程。例如銀行轉帳,從原賬戶扣除金額,以及向目标賬戶添加金額,這兩個數據庫操作的總和,構成一個完整的邏輯過程,不可拆分。這個過程被稱為一個事務,具有ACID特性。ACID的概念在ISO/IEC 10026-1:1992文件的第四段内有所說明。
四大特性
Atomicity(原子性)
一個事務(transaction)中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。事務在執行過程中發生錯誤,會被恢複(Rollback)到事務開始前的狀态,就像這個事務從來沒有執行過一樣。n
Consistency(一緻性)
在事務開始之前和事務結束以後,數據庫的完整性沒有被破壞。這表示寫入的資料必須完全符合所有的預設規則,這包含資料的精确度、串聯性以及後續數據庫可以自發性地完成預定的工作。n
Isolation(隔離性)
數據庫允許多個并發事務同時對其數據進行讀寫和修改的能力,隔離性可以防止多個事務并發執行時由于交叉執行而導緻數據的不一緻。事務隔離分為不同級别,包括讀未提交(Read uncommitted)、讀提交(read committed)、可重複讀(repeatable read)和串行化(Serializable)。n
Durability(持久性)
事務處理結束後,對數據的修改就是永久的,即便系統故障也不會丢失。
參見
關系型數據庫
InnoDB
PostgreSQL