ACID vs BASE Properties

Comparison of ACID (traditional RDBMS) and BASE (NoSQL) consistency models.

  • JSON5,934 B
  • YAML4,275 B · −28%
  • TOON3,361 B · −43%

The ACID transaction properties and the BASE properties of eventually consistent systems, side by side with the trade-off each implies. Extra rows cover the four standard isolation levels and common consistency models that distributed databases advertise.

Use it when

  • You are explaining what a database guarantees and what it gives up.
  • You need the names of isolation levels and consistency models for a design review.

Watch out for

  • Vendors use 'ACID' and 'strongly consistent' loosely, and isolation level defaults differ between databases.
  • ACID and BASE are poles on a spectrum, not two exclusive categories.

The data

PropertyModelDescriptionTradeoff
AtomicityACIDAll or nothing: a transaction completes entirely or not at all.Requires coordination; adds latency.
ConsistencyACIDDatabase moves from one valid state to another.Strict consistency may reduce availability.
IsolationACIDConcurrent transactions do not interfere with each other.Higher isolation levels reduce concurrency.
DurabilityACIDCommitted transactions survive system failures.Needs synchronous write to disk or WAL.
Basically AvailableBASESystem guarantees availability despite partial failures.May return stale data during partitions.
Soft StateBASEState may change over time even without new input.Data consistency is eventual.
Eventual ConsistencyBASEGiven enough time without new updates, all replicas converge.Reads may not reflect the latest write.
Read CommittedACID (isolation level)A transaction sees only data committed before each statement, preventing dirty reads.Allows non-repeatable reads and phantoms.
Repeatable ReadACID (isolation level)Rows read once return the same values for the rest of the transaction.May still allow phantom rows depending on the implementation.
SerializableACID (isolation level)The strictest level: the result is as if transactions ran one after another.Lower concurrency and more aborts or blocking.
Snapshot IsolationACID (isolation level)Each transaction works from a consistent snapshot taken at its start.Permits write skew anomalies unless extra checks are added.
LinearizabilityConsistency modelEvery operation appears to take effect instantly at some point between its start and finish, in a single global order.Costs latency and availability across replicas.
Causal ConsistencyConsistency modelOperations that are causally related are seen in the same order by everyone.Unrelated operations may be seen in different orders.
Read-Your-WritesConsistency modelA client always sees its own previous writes.Needs sticky sessions or version tracking.

Fields

The shape of this dataset, read from the data itself: every column, its type and a real value. Agents can use this to plan a query without fetching the whole document.

SectionFieldTypeExample
datapropertystringAtomicity
datamodelstringACID
datadescriptionstringAll or nothing: a transaction completes entirel…
datatradeoffstringRequires coordination; adds latency.

Fetch the same bytes

The static files contain the same reference rows as the API, with no API rate limit. Live metadata, such as view counts, may differ. Use the API for content negotiation; use the static files for a cacheable snapshot.

curl "https://yjtoon.yunusemrevurgun.com/api/dataset/acid-vs-base?format=toon"
const res = await fetch(
  "https://yjtoon.yunusemrevurgun.com/static-data/dataset/acid-vs-base.toon"
);
const toon = await res.text();

Rate limit: 120 requests per minute per IP, no key and no signup. API reference →

Topics

  • database
  • acid
  • base
  • consistency
  • cap

Search the library

Search by a topic, title, or keyword.

Start with a collection

Browse all 205 datasets