數據庫事務四大原則

 很多複雜的事務要分佈進行,但它們組成了一個整體,要麼整體生效,要麼整體失效。這種思想反應到數據庫上,就是多條SQL語句,要麼所有執行成功,要麼所有執行失敗。

數據庫事務由嚴格的定義,它必須滿足4個特性: 
原子性(Atomicity),一致性(consistency),隔離性(Isolation),持久性(Durability)。

原子性:

     表示組成一個事務的多個數據庫操作是一個不可分割的原子單元,只有所有的操作執行成功,整個事務才提交。事務中的任何一個數據庫操作失敗,已經執行的任何操作都必須被撤銷,讓數據庫返回初始狀態。

一致性

     事務操作成功後,數據庫所處的狀態和他的業務規則是一致的,即數據不會被破壞。如A賬戶轉賬100元到B賬戶,不管操作成功與否,A和B賬戶的存款總額是不變的。

隔離性

     在併發數據操作時,不同的事務擁有各自的數據空間,他們的操作不會對對方產生敢逃。準確地說,並非要求做到完全無干擾。數據庫規定了多種事務隔離界別,不同的隔離級別對應不用的干擾成都,隔離級別越高,數據一致性越好,但併發行越弱。

持久性:

     一旦事務提交成功後,事務中所有的數據操作都必須被持久化到數據庫中。即使在事務提交後,數據庫馬上崩潰,在數據庫重啓時,也必須保證能夠通過某種機制恢復數據。

在這些事務特性中,數據“一致性”時最終目標,其他特性都是爲達到這個目標而採取的措施、要求或手段。

     數據庫管理系統一般採用重執行日誌來保證原子性、一致性和持久性。重執行日誌記錄了數據庫變化的每一個動作,數據庫在一個事務中執行一部分操作後發生錯誤退出,數據庫即可根據重執行日誌撤銷已經執行的操作。對於已經提交的事務即使數據庫崩潰,在重啓數據庫時也能後根據日誌對尚未持久化的數據進行相應的重執行操作。
--------------------- 
作者:Emptor 
來源:CSDN 
原文:https://blog.csdn.net/qq_30243515/article/details/82557535 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章