并发操作带来数据不一致性包括哪三类?
并發(fā)操作帶來(lái)數(shù)據(jù)不一致性包括:丟失修改、不可重復(fù)讀、讀“臟”數(shù)據(jù)。產(chǎn)生這三種現(xiàn)象的原因是并發(fā)操作破壞了事務(wù)的隔離性。為了應(yīng)對(duì)這些數(shù)據(jù)不一致性,主要技術(shù)主要有:封鎖,時(shí)間戳,樂(lè)觀控制法。
并發(fā)操作會(huì)帶來(lái)哪些數(shù)據(jù)不一致性 ( )
A.丟失修改、不可重復(fù)讀、臟讀、死鎖
B.不可重復(fù)讀、臟讀、死鎖
C.丟失修改、臟讀、死鎖
D.丟失修改、不可重復(fù)讀、臟讀
正確答案:D
答案解析:
事務(wù)是并發(fā)控制的基本單位,保證事務(wù)的ACID特性是事務(wù)處理的重要任務(wù),而事務(wù)ACID特性可能遭到破壞的原因之一就是多個(gè)事務(wù)對(duì)數(shù)據(jù)庫(kù)的并發(fā)操作造成的。
并發(fā)操作帶來(lái)的數(shù)據(jù)不一致性重要有丟失修改,不可重復(fù)讀,讀“臟”數(shù)據(jù)。
1、丟失修改
兩個(gè)事務(wù)T1和T2讀入同一個(gè)數(shù)據(jù)并修改,T2提交的結(jié)果破壞了T1提交的結(jié)果,導(dǎo)致了T1的修改被丟失。典型例子:買(mǎi)飛機(jī)票或者火車(chē)票的例子。
2、不可重復(fù)讀
不可重復(fù)讀指的是事務(wù)T1讀取數(shù)據(jù)后,事務(wù)T2執(zhí)行更新操作,使T1無(wú)法再現(xiàn)前一次讀取的結(jié)果。
分為以下三種情況:
(1)事務(wù)T1讀取了某一數(shù)據(jù)后,事務(wù)T2對(duì)其做了修改,當(dāng)事務(wù)T1再次讀數(shù)據(jù)時(shí),得到了與前一次不同的值。
(2)事務(wù)T1讀取了某一數(shù)據(jù)后,事務(wù)T2刪除了其中的記錄,當(dāng)事務(wù)T1再次讀數(shù)據(jù)時(shí),發(fā)現(xiàn)某些記錄神秘消失了。
(3)事務(wù)T1讀取了某一數(shù)據(jù)后,事務(wù)T2插入了一些新的記錄,當(dāng)事務(wù)T1再次讀數(shù)據(jù)時(shí),發(fā)現(xiàn)多了一些記錄。
后兩種操作叫做幻影現(xiàn)象。
3、讀“臟”數(shù)據(jù)
讀“臟”數(shù)據(jù)只得是事務(wù)T1修改了某一數(shù)據(jù),并將其寫(xiě)回磁盤(pán),事務(wù)T2讀取某一數(shù)據(jù)后,T1由于某種原因撤銷(xiāo)了操作,恢復(fù)原值,這時(shí)T2讀到的數(shù)據(jù)就和數(shù)據(jù)庫(kù)中的數(shù)據(jù)不一致,稱(chēng)為讀“臟”數(shù)據(jù)。
產(chǎn)生以上三種現(xiàn)象的原因是并發(fā)操作破壞了事務(wù)的隔離性。為了應(yīng)對(duì)這些數(shù)據(jù)不一致性,主要技術(shù)主要有:封鎖,時(shí)間戳,樂(lè)觀控制法。
更多相關(guān)知識(shí),請(qǐng)?jiān)L問(wèn):PHP中文網(wǎng)!
總結(jié)
以上是生活随笔為你收集整理的并发操作带来数据不一致性包括哪三类?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 联想创投携手12家被投企业MWC展示元宇
- 下一篇: 教师节文案想好了吗?看这!