2018-12-05
閱讀量:
1945
怎么理解沖突序列化?
串行調(diào)度具有較少的資源利用率和較低的吞吐量。為了改進(jìn)它,兩個(gè)更多的事務(wù)同時(shí)運(yùn)行。但是事務(wù)的并發(fā)性可能導(dǎo)致數(shù)據(jù)庫(kù)的不一致。為避免這種情況,我們需要檢查這些并發(fā)計(jì)劃是否可序列化。
沖突可序列化:如果可以通過(guò)交換非沖突操作將計(jì)劃轉(zhuǎn)換為串行計(jì)劃,則計(jì)劃稱(chēng)為沖突可序列化。
沖突操作:如果所有條件滿(mǎn)足,則稱(chēng)兩個(gè)操作沖突:
- 它們屬于不同的交易
- 它們?cè)谙嗤臄?shù)據(jù)項(xiàng)上運(yùn)行
- 至少其中一個(gè)是寫(xiě)操作
示例: -
- 沖突操作對(duì)(R 1(A),W 2(A))因?yàn)樗鼈儗儆谕粩?shù)據(jù)項(xiàng)A上的兩個(gè)不同事務(wù),其中一個(gè)是寫(xiě)操作。
- 類(lèi)似地,(W 1(A),W 2(A))和(W 1(A),R 2(A))對(duì)也是矛盾的。
- 另一方面,(R 1(A),W 2(B))對(duì)是非沖突的,因?yàn)樗鼈儗?duì)不同的數(shù)據(jù)項(xiàng)進(jìn)行操作。
- 類(lèi)似地,((W 1(A),W 2(B))對(duì)是非沖突的。
- 請(qǐng)考慮以下時(shí)間表:
如果Oi和Oj是事務(wù)中的兩個(gè)操作并且Oi<Oj(Oi在Oj之前執(zhí)行),則同樣的順序也將在時(shí)間表中跟隨。使用此屬性,我們可以獲得計(jì)劃S1的兩個(gè)事務(wù):
可能的串行調(diào)度是:T1-> T2或T2-> T1
- >? 在S1中交換非沖突操作 s R 2(A)和R 1(B),時(shí)間表變?yōu)椋?/p>






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論
1條評(píng)論