ACID - Vishal Prabhu
But first -
Transactions!A transaction is a set of operations that transforms data from one consistent state to another. This set of operations is an indivisible unit of work and is referred to as a logical unit of work (LOW).
Transactions provide the ACID properties :
A - Atomicity
Transaction changes are atomic either all the operations that are part of the transaction happen or non-happen.
C - Consistency
Transactions move data between consistent states.
I - Isolation
Even though transactions can execute concurrently, no transaction sees' anothers' work in progress. The transactions appear to run serially.
D - Durability
Once a transaction completes successfully, its changes survive subsequent failures.
eg : Consider a transaction that transfers money from one account to another. The basic steps in such a transfer involves money being deducted from one account and deposited into the other.
Withdrawing money from one account and depositing into another are two parts of an atomic transaction. If both cannot be completed, neither must happen.
If multiple requests are processed against an account at the same time, they must be isolated so that only a single transaction can affect the account at one time.
If the banks cenrtal computer goes down just after the transfer, the correct balance must still be shown when the system becomes available again ie the change must be durable.
Consistency is a function of the application, ie in this case the application must subtract the same amount of money from one account that it adds to the other account - You can make interesting observations while trying this out with ATM machines.
last modified: August 8, 2001