1. 程式人生 > >資料庫事務的四個基本性質(ACID)?

資料庫事務的四個基本性質(ACID)?

資料庫事務概念

什麼是資料庫事務?

事務(transaction)是由指邏輯上對資料的的一組操作, 這組操作要麼一次全部成功,如果這組操作全部失敗,是不可分割的一個工作單位。

資料庫事務的四個基本性質(ACID)

1. 原子性(Atomicity)

事務的原子性是指事務是一個不可分割的工作單位,這組操作要麼全部發生,否則全部不發生。

2. 一致性(Consistency)

在事務開始以前,被操作的資料的完整性處於一致性的狀態,事務結束後,被操作的資料的完整性也必須處於一致性狀態。

拿銀行轉賬來說,一致性要求事務的執行不應改變A、B 兩個賬戶的金額總和。如果沒有這種一致性要求,轉賬過程中就會發生錢無中生有,或者不翼而飛的現象。事務應該把資料庫從一個一致性狀態轉換到另外一個一致性狀態。

3. 隔離性(Isolation)

事務隔離性要求系統必須保證事務不受其他併發執行的事務的影響,也即要達到這樣一種效果:對於任何一對事務T1 和 T2,在事務 T1 看來,T2 要麼在 T1 開始之前已經結束,要麼在 T1 完成之後才開始執行。這樣,每個事務都感覺不到系統中有其他事務在併發地執行。

4. 永續性(Durability)

一個事務一旦成功提交,它對資料庫的改變必須是永久的,即便是資料庫發生故障也應該不回對其產生任何影響。