Database Design • Database Selection FrameworkMedium⏱️ ~3 min
Database Selection Framework: Core Decision Dimensions
Definition
Database selection starts with mapping three fundamental dimensions: data model fit, access patterns, and consistency requirements. Your data structure, query shapes, and correctness needs together determine which database category fits best.
💡 Key Takeaways
✓Data model alignment is foundational: relational for normalized ACID transactions, wide column for sparse high write workloads, graph for relationship traversals, time series for temporal compression
✓Access patterns drive engine choice: read heavy workloads (80%+ reads) benefit from replica scale and caching, write heavy workloads (50K+ writes per second) need LSM tree storage to avoid write amplification
✓Strong consistency costs latency: Google Spanner adds 5 to 10 milliseconds intra region and 50 to 100+ milliseconds cross region for linearizability, while eventual systems like Dynamo serve in single digit milliseconds
✓PACELC captures operational tradeoffs: during partitions sacrifice availability for consistency (financial systems) or consistency for availability (shopping carts); under normal operation trade latency for consistency guarantees
✓Mismatch consequences are severe: using a strongly consistent global database for high throughput logging can inflate costs 10x and add unnecessary latency, while using eventual consistency for inventory causes overselling
📌 Interview Tips
1Amazon shopping cart uses Dynamo with eventual consistency: accepts 50 to 100 millisecond write latency during peak traffic, tolerates temporary item count divergence, resolves conflicts with vector clocks to remain available during network partitions
2Google Ad platform uses Spanner for financial transactions: requires strong consistency across regions for billing accuracy, accepts 50 to 100 millisecond cross region commit latency, prevents double charging with externally consistent transactions