2015-10-05 44 views
9

我在閱讀有關事務調度的可串行化的內容,因此閱讀了有關conflict serializableview serializable的調度表。查看可串行化和衝突的可串行化

現在因爲衝突串行化比視圖更嚴格的序列化的,很明顯,會有時間表是視圖序列化而不是衝突serializable.In這本書我讀了以下內容:

盲寫入出現在任何可視序列化的時間表,但不可衝突分割。

我一直在試圖拿出上述聲明的證據,但無法做到這一點。

我的問題是:是否有上述聲明的形式證明?

回答

0

盲寫意味着事務寫入數據庫,而不讀取數據庫變量。

這意味着,如果我們知道數據庫變量的名稱。如果我們用這個變量寫一些值。

交易就像下面那樣,是盲目寫道。

例子: -

Transaction T1       Transaction T2 

    Write(X) 
              Write(X) 
    Write(Y) 
              Write(Y) 

在上面的例子中,我們沒有讀變量X,但我們正在寫X.

如果我們寫的數據庫,而無需使用舊值,沒有衝突的可串行性。在這裏,我們必須替換數據庫中的舊值。盲寫是在兩個事務中使用相同的數據庫變量名完成的。那時它也是一個可序列化的。

0

下面的例子都是視圖序列化和序列化的衝突schedule

schedule

現在,如果我們想將它轉換成日程是視圖序列化,但不會衝突序列化,我們必須要麼做一個變化:

  1. 變化W(B)W(A)T1
  2. 章安格R(A)W(A)T2

在第一種情況下的時間表將不會衝突序列化,以及它不會是序列化的觀點太

因此第二種情況,確保我們的任務,這引起了盲人寫。 因此,盲寫是必要的。

盲寫是必要的,以滿足視圖的可串行性和矛盾衝突的條件serializabilty