AdSense

網頁

2020/8/4

資料庫 交易的重要特性 ACID

關聯式資料庫的交易(Database Transaction)有四個重要特性簡稱為ACID

ACID為下面四個英文的頭字縮寫

  • Atomicity(原子性)
  • Consistency(一致性)
  • Isolation(隔離性)
  • Durability(持久性)

Atomicity(原子性)

原子性是指在一次交易中所有對資料異動的操作視為一次操作。交易成功則全部的操作完成,交易失敗則全部的操作失敗。而交易失敗必須回復(rollback)到交易發生前的狀態。

例如交易中包含了新增一筆訂單資料、修改一筆會員資料、刪除一筆訂單資料,如果交易成功則上面的操作全部成功;如果其中任一操作失敗,則交易失敗。例如最後刪除資料時網路連線中斷導致失敗,則前面的新增及修改所異動資料必須回復到交易前的狀態。


Consistency(一致性)

一致性是指資料的完整性在交易前後不會被破壞,也就是符合資料庫的約束規則。


Isolation(隔離性)

隔離性是指同時間發生併行交易時,交易之間不會互相干擾造成資料錯誤。

隔離性又分以下層級,由低至高為:

  1. Read Uncommitted(未提交讀)
  2. Read Committed(提交讀)
  3. Repeatable Read(可重複讀)
  4. Serializable(可序列化)

Durability(持久性)

持久性是指交易成功後,資料狀態會永久地被保存在儲存媒介,不會因系統重啟或故障導致資料丟失。

例如新增多筆訂單資料的交易成功後,則新增的多筆訂單資料會永遠存在資料庫中。


沒有留言:

AdSense