① 資料庫如何找沖突可串列化等價的串列化方案看不懂書上的內容,怎麼畫優先圖啊求詳解或視頻 謝謝
首先確定沖突操作:
同一事務的兩個動作沖突:ri(X);wi(X),
不同事務對同一資料庫元素的寫沖突:wj(X);wi(X),
不同事務對同一資料庫元素的讀和寫沖突:ri(X);wj(X),
這些都是沖突操作:r1(A) w1(A) , r1(A) w2(A) , w2(A) r1(A) , w1(A) w2(A),
優先圖的畫法如下:
節點: S中的事務
弧: Ti ->Tj whenever
- pi(A), qj(A) 涉及同一資料庫元素
- pi(A) <S qj(A)
- pi, qj 至少一個是寫動作
如果存在環, S 不是沖突可串列的, 否則, S 是沖突可串列的
例如S=r1(A)w1(A)r2(A)w2(A)r1(B)w1(B)r2(B)w2(B)
其中w1(A)r2(A)得出T1 ->T2 ,w1(B)r2(B)得出T1 ->T2
無環,所以是可串列調度
再如:S1=r2(A);r1(B);w2(A);r2(B);r3(A);w1(B);w3(A);W2(B)
r2(A);w3(A);得出T2->T3
r1(B); W2(B)得出T1 ->T2
r2(B);w1(B);得出T2 ->T1
有環,S1 不是沖突可串列化的