資料庫事務的四大特性(ACID)

2021-09-06 15:43:05 字數 1088 閱讀 8209

如果乙個資料庫支援事務的操作,那麼該資料庫必須具備以下四個特性(acid):

⑴ 原子性(atomicity)

整個事務中的所有操作,要麼全部完成,要麼全部不完成,不可能停滯在中間某個環節。事務在執行過程中發生錯誤,會被回滾(rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。

簡單來說:把金額"100"修改為"200"。若成功,金額為"200";若失敗,金額仍為"100"。

⑵ 一致性(consistency)

乙個事務可以封裝狀態改變(除非它是乙個唯讀的)。事務必須始終保持系統處於一致的狀態,不管在任何給定的時間併發事務有多少。

也就是說:如果事務多個併發,系統也必須如同序列事務一樣操作。其主要特徵是保護性和不變性(preserving an invariant)。

簡單來說:假設有五個賬戶,每個賬戶餘額是100元,那麼五個賬戶總額是500元,如果在這個5個賬戶之間同時發生多個轉賬,五個賬戶總額也應該還是500元,這就是保護性和不變性。

⑶ 隔離性(isolation)

隔離狀態執行事務,使它們好像是系統在給定時間內執行的唯一操作。如果有兩個事務,執行在相同的時間內,執行相同的功能,事務的隔離性將確保每一事務在系統中認為只有該事務在使用系統。這種屬性有時稱為序列化,為了防止事務操作間的混淆,必須序列化或序列化請求,使得在同一時間僅有乙個請求用於同一資料。

簡單來說:對於任意兩個併發的事務t1和t2,在事務t1看來,t2要麼在t1開始之前就已經結束,要麼在t1結束之後才開始。

⑷ 永續性(durability)

在事務完成以後,該事務對資料庫所作的更改便持久的儲存在資料庫之中,並不會被回滾。

例如:我們在使用jdbc運算元據庫時,在提交事務方法後,提示使用者事務操作完成。當我們程式執行完成直到看到提示後,就可以認定事務以及正確提交,即使這時候資料庫出現了問題,也必須要將我們的事務完全執行完成,否則就會造成我們看到提示事務處理完畢,但是資料庫因為故障而沒有執行事務的重大錯誤。

簡單來說:把金額"100"修改為"200",儲存更改後,即使資料庫出現錯誤,重新開啟後,金額也是"200"。

資料庫事務四大特性(ACID)

1 原子性 atomicity 原子性是指乙個事物內所有操作共同組成乙個原子包,要麼全部成功,要麼全部失敗回滾。也就是說事務的操作如果成功就必須要完全應用到資料庫,如果操作失敗則不能對資料庫有任何影響。2 一致性 consistency 資料庫事物的一致性就規定了事物提交前後,永遠只可能存在事物提交...

資料庫事務的四大特性 ACID

原子性 atomicity 事務是資料庫的邏輯工作單位,它對資料庫的修改要麼全部執行,要麼全部不執行。一致性 consistemcy 事務前後,資料庫的狀態都滿足所有的完整性約束。隔離性 isolation 併發執行的事務是隔離的,乙個不影響乙個。如果有兩個事務,執行在相同的時間內,執行相同的功能,...

資料庫事務的四大特性 ACID

原子性 atomicity 事務是資料庫的邏輯工作單位,它對資料庫的修改要麼全部執行,要麼全部不執行。一致性 consistemcy 事務前後,資料庫的狀態都滿足所有的完整性約束。隔離性 isolation 併發執行的事務是隔離的,乙個不影響乙個。如果有兩個事務,執行在相同的時間內,執行相同的功能,...