資料庫管理系統(DBMS)中恢復計劃的不同型別是什麼?


如果任何執行髒讀操作的事務來自未提交的事務,並且其提交操作也被延遲,直到未提交的事務被提交或回滾,則此類計劃稱為可恢復計劃。

可恢復計劃的型別

有三種類型的可恢復計劃,下面將結合相關示例進行解釋:

  • 級聯計劃
  • 非級聯計劃
  • 嚴格計劃。

可恢復計劃的型別如下表所示:

可恢復計劃

首先,讓我們看一個可恢復計劃的示例。

T1T2
R(X)
W(X)
W(X)
R(X)
commit
Commit

這裡,事務 T2 讀取由事務 T1 寫入的值,並且 T2 的提交發生在 T1 提交之後。因此,這是一個可恢復計劃。

可恢復計劃再次細分為非級聯和嚴格計劃。

  • 級聯計劃

級聯計劃被歸類為可恢復計劃。可恢復計劃基本上是指執行讀取操作的特定事務的提交操作被延遲,直到未提交的事務提交或回滾。

級聯回滾是一種回滾型別,如果一個事務失敗,則會導致其他依賴事務的回滾。級聯回滾的主要缺點是它會導致 CPU 時間浪費。

以下是一個級聯計劃的示例:

T1T2T3T4
Read(A)
Write(A)
Read (A)
Write(A)
Read(A)
Write(A)
Read(A)
Write(A)
Failure

以上事務由於 T1 失敗而導致級聯回滾,T2 回滾,T2 的回滾導致 T3 回滾,T3 的回滾導致 T4 回滾。

  • 非級聯計劃

當不允許事務讀取資料,直到最後一個寫入它的事務提交或中止時,此類計劃稱為非級聯計劃。

以下是一個非級聯計劃的示例:

T1T2
R(X)
W(X)
W(X)
commit
R(X)
Commit

這裡,事務 T2 僅在事務 T1 提交後讀取 **X** 的更新值。因此,該計劃是非級聯計劃。

  • 嚴格計劃

以下是一個嚴格計劃的示例:

T1T2
R(X)
R(X)
W(X)
commit
W(X)
R(X)
Commit

這裡,事務 T2 僅在事務 T1 提交後讀取和寫入事務 T1 的更新或寫入值。因此,該計劃是嚴格計劃。

可恢復計劃在下圖中表示:

更新於: 2022年12月22日

23K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.