DEV Community

Hareesh
Hareesh

Posted on

ACID Properties

Databases are the backbone of nearly every modern application from banking systems to e-commerce platforms. To maintain reliability and accuracy, databases follow a crucial set of principles known as ACID:
Atomicity, Consistency, Isolation, and Durability.

In this blog, let’s explore these properties through a simple Loan Management System using SQL transactions.
Creating the Schema 🧱

We’ll begin by setting up a table to store customer loan details.


Now, let’s insert some sample records:

Check the inserted data:

Atomicity — “All or Nothing”

Atomicity ensures that all operations within a transaction are completed successfully, or none at all.

Example:
Suppose we want to deduct an EMI payment of ₹5,000 from Bob’s loan account.

After rolling back, no change is reflected — demonstrating that partial updates don’t occur.

Atomicity ensures that incomplete transactions never alter the database.

Consistency — “Data Must Stay Valid”

Consistency means that a transaction should always move the database from one valid state to another, maintaining all integrity rules.

Example:
Suppose we try to insert invalid data (negative loan amount).

This will fail due to the constraint.

Consistency ensures only valid, rule-abiding data enters the system.

Isolation — “Transactions Don’t Interfere”

Isolation guarantees that concurrent transactions don’t affect each other’s intermediate states.

Example:
When two users update the same record simultaneously, one transaction waits until the other completes — preventing dirty reads or inconsistent results.

Isolation ensures safe, concurrent access to shared data.
Durability — “Committed Data Never Vanishes”

Durability ensures that once a transaction is committed, its changes persist permanently, even after system failures or restarts.

Example:
After committing a transaction:

Conclusion

By following ACID principles, databases maintain reliability, fault-tolerance, and data integrity — even under high concurrency conditions like banking, finance, or e-commerce systems.

Top comments (0)