next up previous
Next: Serializability Up: No Title Previous: Atomic access to

Transaction Models

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 may be 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
Thu Mar 10 10:57:47 EST 2005