Read-heavy, write-heavy, fan-out, fan-in — each picks a different stack.
Workload Patterns: read-heavy, write-heavy, fan-out, fan-in
make the invisible limits visible
Redis ZSET gives O(log N) updates and O(N) reads.
Different workloads call for different architectures. Read-heavy systems (e.g., feeds) want caches and replicas. Write-heavy (e.g., metrics) want logs and append stores. Fan-out (notifications, pub-sub) wants brokers. Fan-in (analytics) wants batching and stream processing.
Read-heavy: read replicas, caches, denormalized views.
Write-heavy: append-only logs, sharding, write-optimized stores (LSM-tree).
Fan-out: 1 input → N outputs; queues, brokers, pub-sub.
Fan-in: N inputs → 1 aggregate; stream processors, time-windowed reducers.
Real-time leaderboard.