A quick-reference guide for all system design components, numbers you should know, and trade-off patterns.
1. Numbers Every Engineer Should Know
Operation
Latency (Approx)
Analogy
L1 Cache reference
0.5 ns
One heart beat
Main memory (RAM)
100 ns
Walking across a room
SSD Read (Sequential)
1,000,000 ns (1ms)
Flying across the country
HDD Read (Sequential)
20,000,000 ns (20ms)
Sailing across the ocean
DC Round Trip
500,000 ns (0.5ms)
Internet (CA to NL)
150,000,000 ns (150ms)
2. Component Selection Guide
graph TD
Need[I need to...]
Need --> Store[Store Data]
Need --> Fast[Speed up Reads]
Need --> Async[Handle Background Jobs]
Store --> Rel[Relational/ACID?]
Rel -- Yes --> Postgres[PostgreSQL / MySQL]
Rel -- No --> NoSQL[NoSQL / Cassandra]
Fast --> Redis[Redis / Memcached]
Fast --> CDN[Global Edge: CDN]
Async --> Kafka[High Throughput: Kafka]
Async --> Rabbit[Complex Routing: RabbitMQ]
3. Availability "Nines" Table
Availability
Downtime per Year
Class
99%
3.65 days
Standard
99.9%
8.77 hours
Professional
99.99%
52.6 minutes
Silver (MANG Level)
99.999%
5.26 minutes
Gold (Mission Critical)
4. Scalability Cheat Codes
Cache: Everything that is expensive to compute.
Async: Move work out of the user's request path.
Partition: Shard your database when one node hits its limit.
Load Balance: Sitting in front of everything.
Index: Optimize your DB for the queries you actually run.
Final Tip
Don't memorize solutions. Memorize Trade-offs.
Interviewer: "Why not SQL?"
You: "SQL is great, but at our estimated 1M writes/sec, we would need 100+ shards, making joins impossible. Cassandra handles this natively."
埋
Want to track your progress?
Sign in to save your progress, track completed lessons, and pick up where you left off.