如果不衝突的業務交換後,它可以轉變成串行調度,調度被稱為衝突串行化調度。
此調度將是一個序列化的衝突,如果它是相當於衝突的串行調度。
衝突操作
如果所有條件滿足,則這兩個操作會發生衝突:
- 兩者都屬於單獨的事務。
- 它們具有相同的資料項目。
- 它們至少包含一個寫操作。
示例:
僅當S1
和S2
在邏輯上相等時才可以進行交換。
這裏,S1 = S2
。 這意味著它是非衝突的。
衝突等效
在衝突等效中,可以通過交換非衝突操作將其轉換為另一個。 在給定的示例中,S2與S1相當衝突(S1可以通過交換非衝突操作轉換為S2)。
當且僅當以下情況時,兩個調度被認為是衝突等效的:
- 它們包含相同的事務集。
- 如果以相同的方式對每對衝突操作進行排序。
示例
調度S2是一個連續調度表,因為在這種情況下,T1
的所有操作都是在開始任何T2
操作之前執行的。通過交換S1的非衝突操作,可以將調度S1轉換為連續時間表。
在交換非衝突操作後,調度S1變為:
因為,S1是衝突可序列化的。
上一篇:
DBMS串行化的測試
下一篇:
DBMS查看可序列化