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.