您好,登錄后才能下訂單哦!
這篇文章給大家介紹數據庫事務正確執行的四個基本要素分別是什么呢,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
ACID是數據庫事務正確執行的四個基本要素的縮寫,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。一個支持事務(Transaction)的數據庫系統,必需要具有ACID特性,否則在事務過程(Transaction processing)當中無法保證數據的正確性,交易過程極可能達不到交易方的要求。
原子性(Atomicity)
– 事務的所有操作,要么全部完成,要么全部不完成,不會結束在某個中間環節。
一致性(Consistency)
– 事務開始之前和事務結束之后,數據庫的完整性限制未被破壞。
隔離性(Isolation)
– 當多個事務并發訪問數據庫中的同一數據時,所表現出來的相互關系。
持久性(Durability)
– 事務完成之后,事務所做的修改持久化保存,不會丟失。
1.原子性
整個事務中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。
2. 一致性
在事務開始之前和事務結束以后,數據庫的完整性約束沒有被破壞。
3. 隔離性
隔離狀態執行事務,使它們好像是系統在給定時間內執行的唯一操作。如果有兩個事務,運行在相同的時間內,執行相同的功能,事務的隔離性將確保每一事務在系統中認為只有該事務在使用系統。
這種屬性有時稱為串行化,為了防止事務操作間的混淆,必須串行化或序列化請求,使得在同一時間僅有一個請求用于同一數據。
4. 持久性
在事務完成以后,該事務所對數據庫所作的更改便持久的保存在數據庫之中,并不會被回滾。
由于一項操作通常會包含許多子操作,而這些子操作可能會因為硬件的損壞或其他因素產生問題,要正確實現ACID并不容易。ACID建議數據庫將所有需要更新以及修改的資料一次操作完畢,但實際上并不可行。
目前主要有兩種方式實現ACID:第一種是Write ahead logging,也就是日志式的方式。第二種是Shadow paging。
關于數據庫事務正確執行的四個基本要素分別是什么呢就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。