Skip to content
Part IA Michaelmas Term

ACID vs BASE

BASE: the alternative to ACID

Many NoSQL systems weaken ACID properties. The result is often called BASE transactions (a deliberate pun on ACID):

LetterTermMeaning
BABasically AvailableAvailability is promoted over consistency
SSoft stateStored values may change without any application intervention owing to eventual consistency updates or network partition
EEventual consistencyAll readers throughout the system will eventually see the same state as each other

Exactly what these terms mean varies from system to system. This is an area of ongoing research. BASE is certainly ideal for some applications, but some proponents have lost their faith and fallen back to a relational system.

The trade-off

PropertyACIDBASE
ConsistencyStrong, immediateEventual
AvailabilityMay block during partitionsPrioritised
PerformanceLower throughput due to locking overheadHigher throughput
Partition toleranceSacrificed in AP systemsEmbraced
Application complexityLowHigh (app must tolerate stale reads)
Typical useBanking, inventory, financial ledgersSocial media, content delivery, recommendation

ACID provides strong guarantees but at a performance cost. BASE provides high availability and partition tolerance but sacrifices immediate consistency.

The CAP theorem

The CAP theorem (covered in Lecture 1) provides the theoretical underpinning:

You cannot simultaneously achieve Consistency, Availability, and Partition tolerance in a distributed system.

Formulated by Eric Brewer in 2000, the theorem states that at most two of the three guarantees can be provided. Since network partitions are inevitable in distributed systems, the practical choice is between:

  • CP (Consistency + Partition tolerance): sacrifice availability. The system may refuse requests during a partition to preserve consistency. Example: traditional RDBMS with synchronous replication.
  • AP (Availability + Partition tolerance): sacrifice consistency. The system continues serving requests even if replicas diverge. Example: DynamoDB, Cassandra.

The CAP Theorem Triangle: Consistency (C), Availability (A), and Partition Tolerance (P) tradeoff

A system sits on an edge, never at the centre.

BASE in practice

In a BASE system, after an update:

  1. Some replicas receive the update immediately.
  2. Other replicas lag behind, serving stale data.
  3. Over time, all replicas converge to the same state.
  4. The application must be written to cope with stale reads.

Summary

  • ACID and BASE represent opposite ends of a consistency spectrum.
  • The CAP theorem formalises why you cannot have everything in a distributed system.
  • ACID prioritises consistency; BASE prioritises availability.
  • The choice depends on the application’s tolerance for stale data.