System Design · Architecture under constraints

How do ACID and BASE differ, and is one always better?

EasyacidbasetransactionsUpdated Oct 2026
Quiz this track

Short answer

ACID prioritizes transactional correctness with atomicity, consistency, isolation and durability. BASE favors availability and eventual convergence. Neither is universally better; the workload decides.

ACID describes transaction guarantees. Atomicity means all or nothing. Consistency means the transaction moves the database from one valid state to another, including constraints. Isolation means concurrent transactions do not observe each other's intermediate state beyond the chosen isolation level. Durability means committed data survives a crash.

Isolation is not binary

  • Read committed prevents dirty reads but allows non-repeatable reads and phantoms
  • Repeatable read keeps rows stable but implementations differ on phantoms
  • Serializable makes concurrent results equivalent to some serial order, often with retries or locks
  • Snapshot isolation gives a consistent snapshot but can allow write skew unless the engine detects it

BASE stands for basically available, soft state and eventual consistency. It is a loose description of systems that keep serving during failures and reconcile replicas later. It does not mean no correctness; it means the correctness model is weaker and often application-defined.

Many systems are mixed. A relational database can provide ACID for a payment ledger, while a search index is updated asynchronously and is eventually consistent. Even inside one product, a strongly consistent write may feed weaker read models through an outbox or change stream.

Do not use BASE as a synonym for sloppy. If a workflow spans services, you still need idempotency, compensation and a defined convergence rule. The guarantee moves from the database into the application.

Follow-ups you should expect

Interviewers use these to check whether the first answer was understanding or memorisation.

  1. 1Which isolation level would you choose for a funds transfer?
  2. 2Why can snapshot isolation still allow write skew?
  3. 3How would you combine ACID and eventual consistency in one product?
  4. 4What does durability mean when replication is asynchronous?

Say it in the interview

ACID gives transactional guarantees inside one database, while BASE accepts weaker, eventually converging state to stay available. I do not treat them as competing religions; most products mix both. A payment ledger gets ACID and strong isolation, while a search index or feed can be updated asynchronously. When I choose BASE I make the convergence and conflict rules explicit, because the application now owns correctness.

Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.

Related questions

Reading is step one

Now say it out loud.

Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live System Design mock interview and get scored feedback on depth, clarity and confidence.