ACID

交易的基本要求

一個交易可能包含對資料庫進行一連串 CRUD。

為了確保交易是可靠的,具備 ACID 的特性是基本要求

原子性 - Atomicity

一個事務中的所有操作(或運算),不是完全做完 (commit) 就是完全不做 (rollback)。

不會中斷在某個環節,若不幸中斷,則必須恢復到交易之前的狀態。

一致性 - Consistency

交易前與交易後都沒有破壞資料庫的完整性,也就是完全符合資料庫訂定的規則。

交易中產生得資料(或驗證狀態修改),錯誤發生時,已更改的資料或狀態必須恢復到交易之前。

隔離行為 - Isolation behavior

同一筆資料在事務尚未完成之前,不能讓其他其他的事務干擾其執行。

也就是預防並發情形( synchronization)可能造成的錯誤。

資料庫隔離級別

持續性 - Durability

交易一旦完成,資料的變更就永久有效,不會因為任何原因導致資料遺失。

即使系統故障也不影響,一般搭配資料庫備份,或透過 log 紀錄。

參考資料

https://openhome.cc/Gossip/EJB3Gossip/TransactionABC.html https://medium.com/@totoroLiu/%E8%B3%87%E6%96%99%E5%BA%AB-acid-bb87324035a8

Last updated

Was this helpful?