DBMS時間戳順序協議-
- 時間戳順序協議用於根據事務的時間戳對事務進行排序。 事務順序只不過是事務創建的昇冪。
- 舊事務的優先順序高於它首先執行的原因。 要確定事務的時間戳,此協議使用系統時間或邏輯計數器。
- 基於鎖的協議用於在執行時管理事務之間的衝突對之間的順序。 但是,基於時間戳的協議會在創建事務後立即開始工作。
- 假設有兩個事務T1和T2。 假設事務T1已經以007次進入系統並且事務T2已經以009次進入系統。 T1具有更高的優先順序,因此它首先執行,因為它首先進入系統。
- 時間戳順序協議還保持對數據的最後“讀取”和“寫入”操作的時間戳。
基本時間戳排序協議的工作原理如下:
每當事務Ti發出Read(X)操作時,請檢查以下條件:
- 如果
W_TS(X)> TS(Ti)
則拒絕該操作。 - 如果
W_TS(X)<= TS(Ti)
則執行操作。 - 更新所有資料項目的時間戳。
- 如果
每當事務Ti發出Write(X)操作時,請檢查以下條件:
- 如果
TS(Ti)<R_TS(X)
則操作被拒絕。 - 如果
TS(Ti)<W_TS(X)
則拒絕操作並且回滾Ti,否則執行操作。
其中, TS(TI)
表示事務Ti的時間戳。R_TS(X)
表示資料項目X的讀時間戳。W_TS(X)
表示資料項目X的寫時間戳。
- 如果
TO協議的優點和缺點:
- TO協議確保可串行化,因為優先順序圖如下:
- TS協議確保免於死鎖,這意味著沒有事務等待。
- 但是時間表可能無法恢復,甚至可能無法級聯。
上一篇:
DBMS基於鎖的協議
下一篇:
DBMS基於驗證的協議