我在閱讀有關事務調度的可串行化的內容,因此閱讀了有關conflict serializable
和view serializable
的調度表。查看可串行化和衝突的可串行化
現在因爲衝突串行化比視圖更嚴格的序列化的,很明顯,會有時間表是視圖序列化而不是衝突serializable.In這本書我讀了以下內容:
盲寫入出現在任何可視序列化的時間表,但不可衝突分割。
我一直在試圖拿出上述聲明的證據,但無法做到這一點。
我的問題是:是否有上述聲明的形式證明?
我在閱讀有關事務調度的可串行化的內容,因此閱讀了有關conflict serializable
和view serializable
的調度表。查看可串行化和衝突的可串行化
現在因爲衝突串行化比視圖更嚴格的序列化的,很明顯,會有時間表是視圖序列化而不是衝突serializable.In這本書我讀了以下內容:
盲寫入出現在任何可視序列化的時間表,但不可衝突分割。
我一直在試圖拿出上述聲明的證據,但無法做到這一點。
我的問題是:是否有上述聲明的形式證明?
盲寫意味着事務寫入數據庫,而不讀取數據庫變量。
這意味着,如果我們知道數據庫變量的名稱。如果我們用這個變量寫一些值。
交易就像下面那樣,是盲目寫道。
例子: -
Transaction T1 Transaction T2
Write(X)
Write(X)
Write(Y)
Write(Y)
在上面的例子中,我們沒有讀變量X,但我們正在寫X.
如果我們寫的數據庫,而無需使用舊值,沒有衝突的可串行性。在這裏,我們必須替換數據庫中的舊值。盲寫是在兩個事務中使用相同的數據庫變量名完成的。那時它也是一個可序列化的。
下面的例子都是視圖序列化和序列化的衝突schedule
現在,如果我們想將它轉換成日程是視圖序列化,但不會衝突序列化,我們必須要麼做一個變化:
W(B)
到W(A)
在T1
R(A)
到W(A)
在T2
在第一種情況下的時間表將不會衝突序列化,以及它不會是序列化的觀點太
因此第二種情況,確保我們的任務,這引起了盲人寫。 因此,盲寫是必要的。
盲寫是必要的,以滿足視圖的可串行性和矛盾衝突的條件serializabilty