Database Sharding

Partition data across nodes by key, range or directory.

All topics · 3 lessons · 26 resources

Learn Database Sharding on System Design Atlas

  1. 01Replication and shardingTwo ways to spread data over many machines: copy it for safety and read speed, or split it for capacity.System Design Foundations · 11 min read · start here
  2. 02Design consistent hashingHow to spread keys over servers so that adding or removing a server moves only a small share of them.Classic System Designs · 10 min read
  3. 03Sharding a search index: scatter, gather and mergeHow a search index is split across machines, why queries fan out to every shard, how top-k results are merged, and what goes wrong with deep paging and uneven shards.Search, Analytics and Geo · 11 min read

These share a lesson with Database Sharding.

Curated Database Sharding resources

YouTube

Papers

Case Studies

Documentation

Blogs

GitHub

Courses