Basic Availability

System guarantees availability (maybe partial)

“The system basically works, even if some parts are failing.”

Part of the BASE acronym (Basic Availability, Soft state, Eventual consistency).

When to use

High-volume distributed systems (NoSQL) where ACID is too restrictive.

Why it matters

  • Resilience: The system prefers to give “some answer” rather than “no answer”.
  • Scale: Supporting millions of users requires shedding strict locking.

Signs of Violation

  • Entire site goes down because the “Recommendations Service” is offline. (Should just hide recommendations).

Explanation

Problem

ACID says “All or Nothing”. BASE says “Mostly All, sometimes Partial”.

Solution

If a node is down, the data on that node is missing, but the other nodes continue serving. The response might be “incomplete”, but it’s available.

Real world analogy

A buffet. If they run out of Chicken, the buffet is still open (Basically Available). You just can’t get Chicken right now. In an ACID restaurant, if the Chicken is gone, they might close the whole restaurant until a truck arrives.

Pros and Cons

Pros Cons
  • Uptime
  • Inconsistent user experience (partial data)
  • Comparison

    • ACID Availability: ACID limits availability to ensure consistency. BASE sacrifices consistency for availability.

    Code example

    Typescript

    Bad (Violation)

    Good (Adherence)

    PHP

    Good (Adherence)