#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
5 min read
Question 26 of 27medium

What is ACID vs BASE?

Database consistency models.

What You'll Learn

  • ACID properties
  • BASE properties
  • When to use each

ACID (Traditional Databases)

code.jsJavaScript
A - Atomicity: All or nothing transactions
C - Consistency: Valid state after transaction
I - Isolation: Transactions don't interfere
D - Durability: Committed data persists

Example

code.jsJavaScript
// Bank transfer - must be atomic
BEGIN TRANSACTION;
  UPDATE accounts SET balance = balance - 100 WHERE id = 1;
  UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
// Either both succeed or both fail

BASE (NoSQL Approach)

code.jsJavaScript
BA - Basically Available: System always responds
S  - Soft state: State may change over time
E  - Eventual consistency: Eventually consistent

Example

code.jsJavaScript
// Social media like count
// May show 999 likes briefly before updating to 1000
// Eventually correct, but not immediately

Comparison

PropertyACIDBASE
ConsistencyImmediateEventual
AvailabilityMay blockAlways available
PerformanceLowerHigher
ScalingHarderEasier

When to Use

Use ACID

  • Financial transactions
  • Inventory management
  • Booking systems
  • Data integrity critical

Use BASE

  • Social media feeds
  • Analytics
  • Caching
  • High availability critical

MongoDB's Flexibility

code.jsJavaScript
// ACID for multi-document transactions
session.withTransaction(async () => {
  // ACID guarantees here
});

// BASE for single documents (default)
db.metrics.insertOne({ views: 1 });