1. 程式人生 > >事務(一)、事務概念入門

事務(一)、事務概念入門

事務(Transaction) 是由一系列對系統中資料進行訪問與更新的操作所組成的一個程式執行線邏輯單元;是指作為單個邏輯工作單元執行的一系列操作,要麼完全地執行,要麼完全地不執行。 事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。通過將一組相關操作組合為一個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程式更加可靠。一個邏輯工作單元要成為事務,必須滿足所謂的ACID(原子性、一致性、隔離性和永續性)屬性。

  • Atomicity原子性:一個事務的所有系列操作步驟被看成是一個操作,也就是一個原子操作。
  • Consistency一致性:如果兩個以上資料表有關聯,那麼更新一個表同時另外一個表也要一起更新。
  • Isolation隔離性:隔離狀態執行事務,使它們好像是系統在給定時間內執行的唯一操作。如果有兩個事務,執行在相同的時間內,執行相同的功能,事務的隔離性將確保每一事務在系統中認為只有該事務在使用系統。
  • Durability永續性:在事務完成以後,該事務對資料庫所作的更改便持久的儲存在資料庫之中,並不會被回滾。

銀行轉賬用例

李雷向韓梅梅轉賬100元

故事的原初

李雷和韓梅梅分別在資料庫中有一條記錄,假定李雷賬戶是pk=1 ,有200元; 韓梅梅的賬戶是pk=2,有100元。

一切的資料資源表現為持久的資料儲存。通俗來講所有人的錢只是銀行IT系統中資料庫的一條記錄;如果所有銀行的資料丟失並且無法恢復,所有人都的一無所有;真正實現了平等