Skip to content

BASE Properties

BASE is the opposite philosophy to ACID — used in NoSQL/distributed databases (Cassandra, DynamoDB, MongoDB) where availability and scale matter more than strict consistency.

BA — Basically Available

The system guarantees availability, even if some data might be stale or incorrect. The system always responds to requests, but the response might not be the most recent data.

Example: On Amazon, you see "Only 2 left in stock" — but actually there are 5. The system showed slightly stale data, but it didn't go down.

S — Soft State

The state of the system may change over time, even without new input. Data across nodes might be temporarily inconsistent and will keep updating/syncing until it settles.

Example: You post a tweet → your follower in the US sees it immediately, but a follower in Japan sees it 2 seconds later.

E — Eventually Consistent

The system will become consistent... eventually. Given enough time (usually milliseconds to seconds), all nodes will sync up and reach the same state.

Example: You update your Facebook profile pic → some servers show the old pic for a few seconds → eventually all servers show the new one.

ACID vs BASE

FeatureACIDBASE
ConsistencyStrong, immediateEventual
AvailabilityMay block/failAlways available
Used inSQL (MySQL, PostgreSQL)NoSQL (Cassandra, MongoDB)
PerformanceSlower (locks)Faster (no strict locks)
Use caseBanking, paymentsSocial media, analytics

CAP Theorem Bonus: BASE systems choose Availability over Consistency. ACID → Consistency + Partition tolerance. BASE → Availability + Partition tolerance.