next up previous
Next: Serializability Up: No Title Previous: Concurrency Control

Transaction Models

The notion of concurrency control is closely tied to the notion of a ``transaction''. A transaction defines a set of ``indivisible'' steps, that is, commands with the Atomicity, Consistency, Isolation, and Durability (ACID) properties:
Atomicity: Either all or none of the steps of the transaction occur so that the invariants of the shared objects are maintained. A transaction is typically aborted by the system in response to failures but it may be aborted also by a user to ``undo'' the actions. In either case, the user is informed about the success or failure of the transaction.
Consistency: A transaction takes a shared object from one legal state to another, that is, maintains the invariant of the shared object.
Isolation: Events within a transaction are hidden from other concurrently executing transactions. Techniques for achieving isolation are called synchronization schemes. They determine how these transactions are scheduled, that is, what the relationships are between the times the different steps of these transactions. Isolation is required to ensure that concurrent transactions do not cause an illegal state in the shared object and to prevent cascaded rollbacks when a transaction aborts.
Durability: Once the system tells the user that a transaction has completed successfully, it ensures that values written by the database system persist until they are explicitly overwritten by other transactions.

It is the isolation property that relates the transaction concept with concurrency control. Therefore, we will focus mainly on synchronization schemes, which we will also call concurrency schemes.



Prasun Dewan
Tue Mar 20 13:49:53 EST 2001