# BASE (Basically Available, Soft state, Eventually consistent)

URL: https://softwaredictionary.org/terms/base-model
Category: Databases
Last updated: 2026-10-06
Pronunciation: BAYSS

In short: BASE describes distributed databases that favor availability over immediate consistency: they keep answering and let copies of data briefly disagree.

## What is BASE in databases?

BASE is short for basically available, soft state, eventually consistent. It describes how many distributed databases and large web systems behave, and the name was picked as a chemistry pun on ACID, the strict guarantees of traditional database transactions. Eric Brewer and his colleagues at Berkeley described it in 1997, and Brewer contrasted ACID and BASE in his 2000 keynote that introduced the CAP theorem.

Each part is a promise, or the lack of one. Basically available means the system answers every request, even when some servers are down, although an answer may be stale or incomplete. Soft state means stored data can change without new input, because replicas are still exchanging updates in the background, and eventually consistent means that once writes stop, all replicas end up with the same value.

Picture a chain of shops changing a price: every shop stays open (available), price tags differ for a while as the update spreads (soft state), and by the end of the day every shop shows the new price (eventually consistent). Databases such as Apache Cassandra, Amazon DynamoDB and Riak were built around this model, as were DNS and most caching layers, because it keeps them fast and available when the network between servers fails.

BASE is usually presented as the opposite of ACID, but the two are ends of a spectrum rather than a strict either-or. ACID guarantees that every transaction is all-or-nothing and that committed data is visible right away, which a bank balance needs; BASE accepts brief inconsistency in exchange for availability and scale, which is fine for a like counter or a product catalog. Many databases now let you choose per request: Cassandra and DynamoDB offer stronger consistency levels and transactions, and distributed SQL databases provide ACID across many servers.

## Key takeaways

- BASE stands for basically available, soft state, eventually consistent.
- It favors staying available over returning the latest data on every read.
- Replicas may briefly disagree but converge once updates stop.
- It is the looser counterpart of ACID, chosen for scale and fault tolerance.
- Many databases let each request choose between BASE-style and stronger consistency.

## Example: Choosing consistency per request in Cassandra

```sql
-- Apache Cassandra (cqlsh), each row stored on 3 replicas
-- BASE-style: one replica is enough, so writes and reads stay fast and available
CONSISTENCY ONE;
INSERT INTO carts (user_id, item, qty) VALUES (42, 'book', 1);
SELECT * FROM carts WHERE user_id = 42;   -- another replica may not have it yet

-- Stronger: a majority (2 of 3) must answer every write and read,
-- so each read overlaps the latest write, at the cost of speed
CONSISTENCY QUORUM;
INSERT INTO carts (user_id, item, qty) VALUES (42, 'pen', 2);
SELECT * FROM carts WHERE user_id = 42;
```

## Frequently asked questions

**What is the difference between ACID and BASE?**

ACID guarantees that every transaction is all-or-nothing and that reads see committed data right away. BASE gives up that immediate consistency so the system can stay available and scale across many servers, with replicas agreeing eventually.

**Is BASE the same as eventual consistency?**

Eventual consistency is one of its three parts. BASE is the broader description of a system that also stays basically available and tolerates soft, changing state while replicas catch up.

**Which databases follow BASE?**

Many NoSQL databases do by default, such as Apache Cassandra, Amazon DynamoDB and CouchDB, along with DNS and most caching layers. Most of them can also be configured for stronger consistency on specific requests.

## Sources

- [Eric Brewer: Towards Robust Distributed Systems (PODC 2000 keynote)](https://people.eecs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf)

---

Software Dictionary: https://softwaredictionary.org/ · https://softwaredictionary.org/llms.txt
