Appearance
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
| Feature | ACID | BASE |
|---|---|---|
| Consistency | Strong, immediate | Eventual |
| Availability | May block/fail | Always available |
| Used in | SQL (MySQL, PostgreSQL) | NoSQL (Cassandra, MongoDB) |
| Performance | Slower (locks) | Faster (no strict locks) |
| Use case | Banking, payments | Social media, analytics |
CAP Theorem Bonus: BASE systems choose Availability over Consistency. ACID → Consistency + Partition tolerance. BASE → Availability + Partition tolerance.