Transactions - What's it all about?
Far more than just locking
True transactions give true safety
- even from power failures and system crashes!
- Incomplete transactions are automatically rolled-back by the database server when it's restarted.
Also removes burden of undoing incomplete changes
Hard to implement (for the vendor) and has significant performance cost
A very large topic worthy of an entire tutorial
Notes:
Atomicity - all or nothing.
Consistency - database stays consistent, no violations of constraints.
Isolation - each transaction executes as if done serially.
Durability - once the transaction completes, the changes will persist.
ACID properties are implemented by concurrency controls and recovery mechanisms.