檢查給定排程(DBMS)的檢視序列化


如果一個排程被視為等同於一個序列排程,則該排程具有檢視序列化。如果滿足以下三個規則,則排程是檢視序列化的:

  • 規則 1 - 如果 Ti 最初讀取資料,然後 Tj 寫入相同的資料,在給定的排程中。此順序必須在事務組合(讀寫操作)中遵循。

  • 規則 2 - 如果 Ti 最初寫入資料,然後 Tj 讀取相同的資料,在給定的排程中。此順序必須在事務組合(寫讀操作)中遵循。

  • 規則 3 - 如果 Ti 寫入資料,然後 Tj 最終寫入資料。此順序必須在事務組合(寫寫操作)中遵循。

問題

檢查排程 W3(X), R2(X), W2(Y), R1(Z), W3(Y), W1(Y) 的檢視序列化。

解決方案

我們有三個事務,因此事務組合如下:

<T1, T2, T3>

<T1, T3, T2>

<T2, T1, T3>

<T2, T3, T1>

<T3, T1, T2>

<T3, T2, T1>

這裡,

規則 1 - T2 最初讀取,然後該編號事務寫入相同的資料。因此,我們保留所有事務組合。

規則 2 - T3 最初寫入,然後 T1 讀取相同的資料 Z,這意味著事務順序必須是“t3 後跟 T1”。因此,刪除以下組合,其中“T3 不允許由 T1 執行”,即 T1 出現在 T3 之前。

<T1, T2, T3>

<T1, T3, T2>

<T2, T1, T3>

規則 3 - T1 最終寫入資料,這意味著 T1 必須出現在最後。因此,刪除以下組合,其中“T1 未出現在最後”

<T3, T1, T2>

因此,剩下兩個組合滿足檢視序列化:

<T2, T3, T1>

<T3, T2, T1>

結論

給定的排程是檢視序列化的。

更新於: 2021-07-06

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.