Lesson 5 of 37 2 min

Bonus: The Ultimate System Design Cheatsheet

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.