When to Choose ACID vs BASE
Choose ACID When
Choose ACID when invariants must never be violated: financial ledgers (atomic debits and credits), inventory at checkout (prevent overselling), entitlements (one seat per ticket). ACID within a single region keeps coordination cheap (10-40ms P99 versus 100-200ms cross-region).
Choose BASE When
Choose BASE when low latency and availability matter more than immediate consistency. Read-heavy catalogs benefit from eventual reads (single-digit ms, 3K reads/sec per partition). Activity feeds, profiles, sessions, telemetry tolerate staleness. Shopping carts merge concurrent adds (union of items) without coordination because the operation is commutative (order does not matter).
Hybrid Approach
Use ACID for source of truth (orders, 15ms) and BASE for projections (100-200ms lag). CDC connects them. Scales reads 10x: ACID handles 10K QPS, BASE projections handle 100K QPS.
Geographic Considerations
For global users, BASE multi-region writes keep latency under 10ms locally with async replication lag. ACID cross-region costs 100-200ms but guarantees correctness. Middle ground: ACID within region, BASE across regions.