關聯式資料庫的交易(Database Transaction)有四個重要特性簡稱為ACID。
ACID為下面四個英文的頭字縮寫
- Atomicity(原子性)
- Consistency(一致性)
- Isolation(隔離性)
- Durability(持久性)
Atomicity(原子性)
原子性是指在一次交易中所有對資料異動的操作視為一次操作。交易成功則全部的操作完成,交易失敗則全部的操作失敗。而交易失敗必須回復(rollback)到交易發生前的狀態。
例如交易中包含了新增一筆訂單資料、修改一筆會員資料、刪除一筆訂單資料,如果交易成功則上面的操作全部成功;如果其中任一操作失敗,則交易失敗。例如最後刪除資料時網路連線中斷導致失敗,則前面的新增及修改所異動資料必須回復到交易前的狀態。
Consistency(一致性)
一致性是指資料的完整性在交易前後不會被破壞,也就是符合資料庫的約束規則。
Isolation(隔離性)
隔離性是指同時間發生併行交易時,交易之間不會互相干擾造成資料錯誤。
隔離性又分以下層級,由低至高為:
- Read Uncommitted(未提交讀)
- Read Committed(提交讀)
- Repeatable Read(可重複讀)
- Serializable(可序列化)
Durability(持久性)
持久性是指交易成功後,資料狀態會永久地被保存在儲存媒介,不會因系統重啟或故障導致資料丟失。
例如新增多筆訂單資料的交易成功後,則新增的多筆訂單資料會永遠存在資料庫中。
沒有留言:
張貼留言