Courses › System Design › Core Concepts
Numbers to Know
Latency, throughput and storage numbers for modern hardware — and quick estimation.
Estimates only matter when they change a decision. Do you need to shard? Does the dataset fit in memory? Will one server handle the load? To answer those quickly, you need a feel for what modern hardware can do. Many candidates carry numbers from 2010 and badly underestimate a single machine.
Latency
The takeaways: memory is ~1,000× faster than SSD random access, and anything crossing a continent costs tens of milliseconds no matter what.
Throughput of common components
These are rough figures for a single well-provisioned modern instance:
[!INTERVIEW] A single machine is bigger than you think A common mistake is sharding a dataset that comfortably fits on one machine. 100M users × 1 KB = 100 GB — that fits in RAM on one large cache node. Say so, and then talk about replication for availability rather than sharding for capacity.
Handy conversions
- 1 day ≈ 100,000 seconds (86,400 — round for mental math)
- 1M requests/day ≈ 12 requests/second average
- 100M requests/day ≈ 1,200 requests/second average; peak is often 2–5× average
- 1 billion × 1 KB = 1 TB
Storage sizes
A worked example
[!EXAMPLE] Will URL-shortener mappings fit in a cache? 100M new URLs/month × 12 months × 5 years = 6B mappings. At ~500 bytes each, that's 3 TB total — too much for one cache node, but we only need to cache the hot set. If 20% of links get 80% of traffic, caching recent and popular links (tens of GB) gives a very high hit rate. Decision: Redis cache in front of the database, no need to cache everything.
Notice the pattern: estimate → compare to a capacity number → make a decision. If the estimate doesn't change a decision, skip it.