Pranav Bakare
Posted on September 8, 2024
The ACID properties in databases ensure reliable processing of transactions. ACID stands for:
-
Atomicity: A transaction is all or nothing. It either fully completes or fully fails.
- Example: In a banking system, transferring $100 from Account A to Account B involves two operations: subtracting $100 from A and adding $100 to B. If one operation succeeds but the other fails, atomicity ensures both actions are undone (rolled back) to maintain consistency.
-
Consistency: A transaction must take the database from one valid state to another, preserving data integrity.
- Example: If Account A has $500, and a transaction transfers $600 from it, consistency ensures this transaction would be invalid and rolled back.
-
Isolation: Transactions should not interfere with each other. Intermediate states of a transaction should not be visible to other transactions.
- Example: If one transaction is transferring money from Account A to Account B, another transaction querying Account A should see the balance before or after the transfer, but not during it.
-
Durability: Once a transaction is committed, the changes are permanent, even in case of a system failure.
- Example: After transferring money from Account A to Account B, if the system crashes immediately after, the changes will still reflect when the system is back online.
Example Scenario:
A system processing a financial transaction:
- Atomicity: If a bank transfer fails halfway, the entire transaction is rolled back.
- Consistency: The system ensures no transfer exceeds available funds.
- Isolation: Another query cannot access the account balance while the transfer is in progress.
- Durability: The transfer is permanently recorded after the transaction is committed, even if the server crashes.
These properties help maintain integrity and consistency in database systems.
Posted on September 8, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.