Skip to main content
system design course

Databases

Choosing a store, indexing it, and splitting it once one server cannot hold the data.

5 chapters19 lessonsabout 1 hour
0 of 19 lessons readStart the course
  1. Choose based on access patterns, consistency needs, and query complexity, not hype.

    1. What Relational Buys You3 min
    2. The NoSQL Families3 min
    3. How to Actually Choose2 min
    4. Polyglot Persistence3 min
  2. Pre-sorted data structures that trade write overhead for dramatic read speedup.

    1. What an Index Actually Is3 min
    2. B-Trees, the Default3 min
    3. Composite and Covering Indexes3 min
    4. What Writes Pay for Your Reads3 min
  3. Distribute data across nodes so adding/removing a node only moves a small fraction of keys.

    1. The Resharding Problem3 min
    2. The Hash Ring3 min
    3. Virtual Nodes3 min
    4. Where It Shows Up3 min
  4. Normalize to reduce duplication; denormalize to avoid expensive joins at scale.

    1. Normal Forms in Practice3 min
    2. Why Reads Push You to Denormalize3 min
    3. Keeping Duplicates Honest3 min
  5. Turn latitude and longitude into a sortable key so "what is near me" becomes a range scan.

    1. Why Two Dimensions Break Indexes2 min
    2. Geohash2 min
    3. The Boundary Problem2 min
    4. Quadtrees and Hexagons3 min