Phase 20 · System Design

Topics

Database 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.
InsideEdge

Stuck on this topic? Ask an Insider

Get 1:1 guidance from people who've walked this exact path — free on the InsideEdge app.

Download
InsideEdge