Overview

BASE is the counterpart to acid for distributed systems: Basically Available (answer even during a network partition, possibly with stale or partial data), Soft state (values change as updates propagate asynchronously), and Eventually consistent (replicas converge once writes stop; see eventual-consistency). Expect BASE behavior whenever a read hits a replica, cache, or NoSQL store, and design the UI to tolerate brief staleness.

Rules

  • Accept BASE for carts, view counters, feeds, and search indexes. Reject it for balances, inventory, and any read-then-decide path where a stale value causes a wrong action.
  • CAP is not “pick two of three”. Partitions happen, so the choice is consistency or availability during one; BASE picks availability.
  • BASE is a spectrum. DynamoDB reads are eventually consistent by default with a strongly consistent option per request, and Cassandra consistency is tunable per query.
  • PostgreSQL asynchronous replicas behave this way for replica reads (read-replica).