Graph
ACID

🧱ACID

NEW

Set of transactional guarantees—Atomicity, Consistency, Isolation, Durability—ensuring reliable database operations under failures.

DESCRIPTION

ACID defines minimal guarantees for transactional systems to preserve data correctness. Atomicity ensures all-or-nothing execution, consistency preserves invariants, isolation prevents interference between transactions, and durability guarantees persistence after commit. Traditional relational databases implement ACID with logging, locking, and recovery protocols. In distributed systems, strict ACID can be costly, leading to trade-offs with availability and latency. Modern databases often offer tunable isolation and consistency levels to balance performance and correctness.

ALTERNATIVE DEFINITIONS

Wikipedia

In computer science, ACID is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps.

Stresses validity under failures and errors.

Source

IBM

ACID is an acronym for atomicity, consistency, isolation, and durability—four key attributes that ensure database transactions are processed reliably.

Summarizes the four properties and emphasizes reliability.

Source

Transaction Isolation Levels Consistency Model Two-Phase Commit Write-Ahead Logging Multiversion Concurrency Control Online Transaction Processing Durability

COMPETING TERMS

BASE Eventual Consistency

RELATIONS

KNOWLEDGE AREAS

Data Storage & Operations Data Engineering Data Architecture

TARGET AUDIENCE

Data Engineer Software Developer Data Architect Cloud Architect

EXTERNAL SOURCES

TOP QUESTIONS

Why is ACID important for transactional systems?

ACID guarantees protect data integrity during concurrent operations and failures. Without them, applications risk corrupted state and inconsistent reads.

Category: Relevancy

How does isolation in ACID differ by level?

Isolation levels—read uncommitted to serializable—trade performance for reduced anomalies like dirty reads, non-repeatable reads, and phantom reads.

Category: Concept

Does ACID conflict with high availability?

Strong ACID can increase latency and coordination overhead, especially across nodes. Systems often expose tunable consistency to balance throughput and correctness.

Category: Trade-offs

How do databases implement durability in ACID?

Write-ahead logging, fsyncs, and replication ensure committed transactions survive crashes and power loss.

Category: Implementation

Is ACID only for relational databases?

No. Some NoSQL and NewSQL systems provide ACID semantics for transactions, sometimes at limited scope (e.g., per-partition or document).

Category: Scope

What anomalies does weak isolation allow under ACID?

Dirty reads, non-repeatable reads, and phantom reads can appear at lower isolation levels, managed by application tolerance or higher isolation.

Category: Risks

How does ACID compare to BASE?

BASE emphasizes availability and eventual consistency, relaxing strict ACID constraints. It suits distributed, high-scale applications with tolerance for temporary inconsistencies.

Category: Comparison

What is the cost of strict serializability under ACID?

It adds coordination and can severely limit throughput in distributed systems, but yields the simplest reasoning model.

Category: Performance

How to verify ACID compliance?

Use database docs, transactional tests, and consistency checkers; inject failures and concurrency to observe anomaly rates.

Category: Validation