Serializability: Difference between revisions

Content deleted Content added
m Common mechanism — SS2PL: Resolved a comma splice.
m Common mechanism — SS2PL: Made a small grammatical fix.
Line 95:
SS2PL is the name of the resulting schedule property as well, which is also called ''rigorousness''. SS2PL is a special case ([[proper subset]]) of [[Two-phase locking]] (2PL)
 
Mutual blocking between transactions results in a ''deadlock'', where execution of these transactions is stalled and no completion can be reached. Thus deadlocks need to be resolved to complete these transactions' execution and release related computing resources. A deadlock is a reflection of a potential cycle in the precedence graph that would occur without the blocking when conflicts are materialized. A deadlock is resolved by aborting a transaction involved with such a potential cycle, and breaking the cycle. It is often detected using a ''[[wait-for graph]]'' (a graph of conflicts blocked by locks from being materialized; it can be also defined as the graph of non-materialized conflicts; conflicts not materialized are not reflected in the precedence graph and do not affect serializability), which indicates which transaction is "waiting for" lock release by which transaction, and a cycle means a deadlock. Aborting one transaction per cycle is sufficient to break the cycle. Transactions aborted due to deadlock resolution are ''restarted'' and executed again immediately.
 
===Other enforcing techniques===