溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫事務(wù)正確執(zhí)行的四個基本要素分別是什么呢

發(fā)布時間:2021-11-16 15:25:59 來源:億速云 閱讀:1013 作者:柒染 欄目:MySQL數(shù)據(jù)庫

這篇文章給大家介紹數(shù)據(jù)庫事務(wù)正確執(zhí)行的四個基本要素分別是什么呢,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

ACID是數(shù)據(jù)庫事務(wù)正確執(zhí)行的四個基本要素的縮寫,即原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。一個支持事務(wù)(Transaction)的數(shù)據(jù)庫系統(tǒng),必需要具有ACID特性,否則在事務(wù)過程(Transaction processing)當(dāng)中無法保證數(shù)據(jù)的正確性,交易過程極可能達(dá)不到交易方的要求。

原子性(Atomicity)
– 事務(wù)的所有操作,要么全部完成,要么全部不完成,不會結(jié)束在某個中間環(huán)節(jié)。
 一致性(Consistency)
– 事務(wù)開始之前和事務(wù)結(jié)束之后,數(shù)據(jù)庫的完整性限制未被破壞。
隔離性(Isolation)
– 當(dāng)多個事務(wù)并發(fā)訪問數(shù)據(jù)庫中的同一數(shù)據(jù)時,所表現(xiàn)出來的相互關(guān)系。
持久性(Durability)
– 事務(wù)完成之后,事務(wù)所做的修改持久化保存,不會丟失。


1.原子性 
整個事務(wù)中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個環(huán)節(jié)。事務(wù)在執(zhí)行過程中發(fā)生錯誤,會被回滾(Rollback)到事務(wù)開始前的狀態(tài),就像這個事務(wù)從來沒有執(zhí)行過一樣。

2. 一致性 
在事務(wù)開始之前和事務(wù)結(jié)束以后,數(shù)據(jù)庫的完整性約束沒有被破壞。

3. 隔離性 
隔離狀態(tài)執(zhí)行事務(wù),使它們好像是系統(tǒng)在給定時間內(nèi)執(zhí)行的唯一操作。如果有兩個事務(wù),運(yùn)行在相同的時間內(nèi),執(zhí)行相同的功能,事務(wù)的隔離性將確保每一事務(wù)在系統(tǒng)中認(rèn)為只有該事務(wù)在使用系統(tǒng)。
這種屬性有時稱為串行化,為了防止事務(wù)操作間的混淆,必須串行化或序列化請求,使得在同一時間僅有一個請求用于同一數(shù)據(jù)。

4. 持久性 
在事務(wù)完成以后,該事務(wù)所對數(shù)據(jù)庫所作的更改便持久的保存在數(shù)據(jù)庫之中,并不會被回滾。
由于一項(xiàng)操作通常會包含許多子操作,而這些子操作可能會因?yàn)橛布膿p壞或其他因素產(chǎn)生問題,要正確實(shí)現(xiàn)ACID并不容易。ACID建議數(shù)據(jù)庫將所有需要更新以及修改的資料一次操作完畢,但實(shí)際上并不可行。
目前主要有兩種方式實(shí)現(xiàn)ACID:第一種是Write ahead logging,也就是日志式的方式。第二種是Shadow paging。

關(guān)于數(shù)據(jù)庫事務(wù)正確執(zhí)行的四個基本要素分別是什么呢就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI