ACID Properties
Atomicity
Consistency
Isolation
Durability
Atomicity
Each transaction is all or nothing, never left half-done.
Transaction Rollback (=Abort)
Undoes partial effects of transaction
Can be system or client initiated
Consistency
Each client, each transaction:
Can assume all constraints hold when transaction begins
Must guarantee all contraints hold when transaction ends
Serializability -> contraints always hold
Isolation
Each client sends a sequence of transaction to the database, each transaction can be a sequence of statements
Isolation -> Serializability
Operations may be interleaved, but execution must be equivalent to some sequential order of all transactions.
Durability
If system crashes after a transaction commits, all effects of transaction remain in database.
Logging!