資料庫可串列化
『壹』 資料庫串列化的實現方法
需要如下步驟即可:
(1) 從CObject類派生或者從CObject類派生的某個派生類
(2) 重寫Serialize成員函數,把類的數據成員寫入文件。
(3) 在類聲明中使「DECLARE_SERIAL」宏。
(4) 定義不帶參數的構造函數。
(5) 在類的實現文件中使用。「IMPLEMENT_SERIAL」宏
『貳』 如何判斷資料庫的可串列化調度
可串列化調度:對於事務集(t<1>,t<2>,…,t),如果一個並發調度的結果與一個串列調度等價,則稱此調度是是可串列化調度。
不可串列化調度:對於某事務集的一個並發調度結果如果與任一串列調度均不等價,則該調度是不可串列化調度。
『叄』 資料庫考試題如何找沖突可串列化等價的串列化方案
這個是個可串列化調度,可以根據對資料庫元素XYZ的 沖突訪問畫優先圖來進行判斷,如果沒有環,那麼就是可串列化的
第二個問 就是把串列化的調度順序寫出來,串列化調度為:
T3(R(Y))T3(W(Y))T3(R(Z))T4(R(Z))T4(W(Z))T1(R(X))T1(W(X))T1(W(Y))T2(R(X))T2(W(X))T2(R(Y))
根據這個可以基於沖突規則進行置換的,因此有
T3(R(Y))T3(W(Y))T3(R(Z))T1(R(X))T1(W(X))T1(W(Y))T2(R(X))T2(W(X))T2(R(Y))T4(R(Z))T4(W(Z))
T3(R(Y))T3(W(Y))T3(R(Z))T1(R(X))T1(W(X))T1(W(Y))T4(R(Z))T4(W(Z))T2(R(X))T2(W(X))T2(R(Y))
『肆』 資料庫如何找沖突可串列化等價的串列化方案看不懂書上的內容,怎麼畫優先圖啊求詳解或視頻 謝謝
首先確定沖突操作:
同一事務的兩個動作沖突: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 不是沖突可串列化的
『伍』 資料庫中的可串列化是什麼意思
可串列化調度:對於事務集(T<1>,T<2>,…,T),如果一個並發調度的結果與一個串列調度等價,則稱此調度是是可串列化調度。
不可串列化調度:對於某事務集的一個並發調度結果如果與任一串列調度均不等價,則該調度是不可串列化調度。
『陸』 可串列化調度的簡介
可串列調度是指不管資料庫初態處於什麼狀態,一個調度對資料庫狀態的影響都和某個串列調度相同,我們就說這個調度是可串列化。了解可串列化調度必須要知道調度和串列調度是什麼。
『柒』 如何判斷資料庫的可串列化調度
利用畫優先圖的方法
對於每個資料庫元素,如果兩個事務的沖突操作同時操作一個元素,則有一條有向邊,如果最後有環,則不是可串列化的
以第一個為例
w1(A)w2(A) T1->T2
r1(B)w2(B) T1->T2
所以是可穿行化的
S2:
A: t1(A)w3(A) T1->T3 w3(A)w1(A) T3->T1
B: r2(B)w1(B) T2->T1 w1(B) r3(B) T1->T3
C:w1(C) w2(C) T1->T2
裡面有環,所以不可串列化
『捌』 資料庫沖突可串列化的答案有多個嗎
可以有多個,只要不存在寫-寫,讀-寫和寫-讀這三類沖突,就可以定義為沖突可串列化。
所以調整出來就有可能有多個答案
『玖』 資料庫 可串列化是什麼什麼是沖突可串列化
沖突可串列性是指一個調度,如果通過交換相鄰兩個無沖突的操作能夠轉換到某一個串列的調度,則稱此調度為沖突可串列化的調度。
如:
r1(A); w1(A); r2(A); w2(A); r1(B); w1(B); r2(B); w2(B)
交換操作的次序:
r1(A); w1(A); r2(A); r1(B); w2(A); w1(B); r2(B); w2(B)
r1(A); w1(A); r1(B); r2(A); w2(A); w1(B); r2(B); w2(B)
r1(A); w1(A); r1(B); r2(A); w1(B); w2(A); r2(B); w2(B)
得到了串列調度
r1(A); w1(A); r1(B); w1(B); r2(A); w2(A); r2(B); w2(B)
其次:可串列包含沖突可串列。