資料庫事務,原子性、一致性、隔離性、永續性

暴走的山交發表於2020-10-24

資料庫事務,原子性(Atomic)、一致性(Consistency)、隔離性(Isolation)、永續性(Durabiliy)

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

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

原子性:

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

一致性

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

隔離性

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

永續性:

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

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

     資料庫管理系統一般採用重執行日誌來保證原子性、一致性和永續性。重執行日誌記錄了資料庫變化的每一個動作,資料庫在一個事務中執行一部分操作後發生錯誤退出,資料庫即可根據重執行日誌撤銷已經執行的操作。對於已經提交的事務即使資料庫崩潰,在重啟資料庫時也能後根據日誌對尚未持久化的資料進行相應的重執行操作。

[新增連結描述](https://blog.csdn.net/qq_30243515/article/details/82557535)

看到最後的幫忙點個?? 謝謝,這個對我真的很重要!
在這裡插入圖片描述

相關文章