Skip to main content
system design course

Fundamentals

The request path, the guarantees a database makes, and the vocabulary every other course assumes.

6 chapters24 lessonsabout 1 hour
0 of 24 lessons readStart the course
  1. The first ten minutes decide the interview, and they happen before you draw anything.

    1. The First Ten Minutes3 min
    2. Functional Requirements3 min
    3. Turning Adjectives Into Numbers3 min
    4. Back of the Envelope3 min
  2. Clients request, servers respond. The foundation of the web.

    1. The Request-Response Loop2 min
    2. Before the First Byte2 min
    3. HTTP Verbs and Status Codes2 min
    4. State on a Stateless Protocol2 min
  3. Why adding servers sometimes fixes a slow page and sometimes changes nothing.

    1. Two Different Questions3 min
    2. Percentiles, Not Averages3 min
    3. The Latency Ladder2 min
    4. Trading One for the Other3 min
  4. In a partition, choose: Consistency or Availability. You can't have both.

    1. What C, A, and P Actually Mean2 min
    2. When the Network Splits2 min
    3. Choosing a Side in Practice2 min
    4. PACELC: The Trade You Make Every Day2 min
  5. The guarantees that make relational databases trustworthy for transactions.

    1. Atomicity3 min
    2. Consistency2 min
    3. Isolation3 min
    4. Durability2 min
  6. Control how much concurrent transactions can see each other's intermediate state.

    1. The Anomalies and the Ladder2 min
    2. Read Committed, the Workhorse2 min
    3. Repeatable Read and Snapshots2 min
    4. Serializable, and When to Pay for It2 min