Content deleted Content added
→Conflict-serializable: Made sure that each distinct schedule had a distinct variable name |
→Conflicting actions: Explained conflicting actions more thoroughly |
||
Line 164:
# At least one of the actions is a write operation.
# The actions access the same object (read or write).<ref name=":0">{{Cite web |date=2015-12-29 |title=Conflict Serializability in DBMS |url=https://www.geeksforgeeks.org/conflict-serializability-in-dbms/ |access-date=2023-11-27 |website=GeeksforGeeks |language=en-US}}</ref><ref>{{Cite book |last=Silberschatz |first=Abraham |title=Database system concepts |last2=Korth |first2=Henry F. |last3=Sudarshan |first3=S. |date=2020 |publisher=McGraw-Hill Education |isbn=978-1-260-08450-4 |edition=Seventh |___location=New York, NY |pages=814}}</ref>
Equivalently, two actions are considered conflicting if and only if they are [[Commutative property|noncommutative]]. Equivalently, two actions are considered conflicting if and only if they are a [[Read–write conflict|read-write]], [[Write–read conflict|write-read]], or [[Write–write conflict|write-write]] conflict.
The following set of actions is conflicting:
* R1(X), W2(X), W3(X) (3 conflicting pairs)
Line 170 ⟶ 172:
* R1(X), R2(X), R3(X)
* R1(X), W2(Y), R3(X)
Reducing conflicts, such as through commutativity, enhances performance because conflicts are the fundamental cause of delays and aborts.
====Conflict equivalence====
Line 176 ⟶ 179:
# Both schedules S1 and S2 involve the same set of transactions such that each transaction has the same actions in the same order.
# Both schedules have the same set of conflicting pairs (such that the actions in each conflicting pair are in the same order).<ref>{{Cite book |last=Ramakrishnan |first=Raghu |title=Database management systems |last2=Gehrke |first2=Johannes |date=2000 |publisher=McGraw-Hill |isbn=978-0-07-232206-4 |edition=2nd |series=Computer science series |___location=Boston |pages=540}}</ref> This is equivalent to requiring that all conflicting operations (i.e., operations in any conflicting pair) are in the same order in both schedules.
Equivalently, two schedules are said to be conflict equivalent if and only if one can be transformed to another by swapping pairs of non-conflicting operations (whether adjacent or not) while maintaining the order of actions for each transaction.<ref name=":0" />
|