1. 程式人生 > >數據庫系統原理---事務

數據庫系統原理---事務

也不會 日誌記錄 發生 重做 發的 bili 失敗 隔離 圖片

事務

概念

??事務指的是滿足ACID特性的一組操作,可以通過commit提交,也可以通過RollBack回滾

技術分享圖片

ACID

1.原子性(Atomicity)

??事務被視為不可分割的最小單元,事務的所有操作要麽全部提交成功,要麽全部失敗回滾,回滾可以用回滾日誌來實現,回滾日誌記錄著事務所執行的修改操作,在回滾時反向執行這些操作就可以。

2.一致性(Consistency)

??數據庫在事務執行前後都保持一致性狀態。在一致性狀態下,所有事務對一個數據的讀取都是相同的。

3.隔離性(Isolation)

??一個事務所做的修改在最終提交以前,其他事務都是不可見的。

4.持久性(Durability)

??一旦事務提交,則其所做的修改將會永遠保存到數據庫中。即使系統發生崩潰,事務執行的結果也不會丟失,使用重做日誌來保持持久性。

??事務的 ACID 特性概念簡單,但不是很好理解,主要是因為這幾個特性不是一種平級關系:

  • 只有滿足一致性,事務的執行結果才是正確的。
  • 在無並發的情況下,事務串行執行,隔離性一定可以滿足。此時只要滿足原子性,就一定能滿足一致性。
  • 在並發的情況下,多個事務並行執行,事務不僅要滿足原子性,還需要滿足隔離性,才能滿足一致性。
  • 事務滿足持久化是為了應對數據庫崩潰的情況。

技術分享圖片

數據庫系統原理---事務