system design courseDatabases
Choosing a store, indexing it, and splitting it once one server cannot hold the data.
5 chapters19 lessonsabout 1 hour
Choose based on access patterns, consistency needs, and query complexity, not hype.
- What Relational Buys You3 min
- The NoSQL Families3 min
- How to Actually Choose2 min
- Polyglot Persistence3 min
Pre-sorted data structures that trade write overhead for dramatic read speedup.
- What an Index Actually Is3 min
- B-Trees, the Default3 min
- Composite and Covering Indexes3 min
- What Writes Pay for Your Reads3 min
Distribute data across nodes so adding/removing a node only moves a small fraction of keys.
- The Resharding Problem3 min
- The Hash Ring3 min
- Virtual Nodes3 min
- Where It Shows Up3 min
Normalize to reduce duplication; denormalize to avoid expensive joins at scale.
- Normal Forms in Practice3 min
- Why Reads Push You to Denormalize3 min
- Keeping Duplicates Honest3 min
Turn latitude and longitude into a sortable key so "what is near me" becomes a range scan.
- Why Two Dimensions Break Indexes2 min
- Geohash2 min
- The Boundary Problem2 min
- Quadtrees and Hexagons3 min