Phase 20 · System Design
TopicsDatabase Sharding
Part of the Backend Developer Roadmap.
Summary
Splitting a single large database into multiple smaller databases (shards), each holding a subset of the data — used when a single database server can no longer hold or serve all your data.
How to Learn This
- 1Design a sharding key for a hypothetical multi-tenant app, e.g. shard by customer ID.
- 2Learn why resharding an already-live system is one of the hardest operations in backend engineering.
- 3Understand sharding solves a different problem than replication — data volume, not just read throughput.
More topics in System Design
Stuck on this topic? Ask an Insider
Get 1:1 guidance from people who've walked this exact path — free on the InsideEdge app.