TechBlueprints Quick Reference
Do you need ACID transactions?
Is your data highly structured with relationships?
What's your access pattern?
Need full-text search?
| Database | Type | Scaling | Consistency | Best For |
|---|---|---|---|---|
| PostgreSQL | SQL | Vertical | Strong | Complex queries, ACID |
| MySQL | SQL | Vertical | Strong | General purpose, mature |
| MongoDB | Document | Horizontal | Tunable | Flexible schema, documents |
| Cassandra | Wide-col | Horizontal | Eventual | Write-heavy, time-series |
| DynamoDB | Key-Value | Horizontal | Eventual | Serverless, simple access |
| Redis | Key-Value | Cluster | Strong | Caching, sessions, queues |
| Elasticsearch | Search | Horizontal | Eventual | Full-text search, logs |
Need: ACID, consistency, complex queries
→ PostgreSQL / MySQL
Need: Flexible schema, embedded data
→ MongoDB
Need: High write throughput, append-only
→ Cassandra / InfluxDB
Need: Low latency, simple key access
→ Redis
Need: Full-text search, aggregations
→ Elasticsearch
Need: Relationships, graph traversal
→ Neo4j / Amazon Neptune
"I would choose [database] for this use case because [1-2 key reasons]. The main trade-off is [limitation], but that's acceptable for [this scenario] because [justification]."