Sharding
Splitting a database into smaller pieces (shards) distributed across multiple servers. Each shard holds a subset of the data.
What is Sharding?
Splitting a database into smaller pieces (shards) distributed across multiple servers. Each shard holds a subset of the data.
Sharding is a foundational concept that sits in the Database Fundamentals area of system design. Engineers reach for it whenever they need to reason about real-world trade-offs in that space — not just for textbook correctness, but because real production systems at companies like Netflix, Amazon, and Google make these decisions every day.
If you want to go deeper than this definition — with diagrams, code, and a quiz to lock it in — work through the "Sharding" lesson linked below. It walks through the why, the mechanism, the trade-offs, and how the giants actually use it in production.
Learn Sharding in depth
Full interactive lesson with diagrams, code examples, real-world references, and a quiz.
Open the Sharding lessonRelated lessons
Lessons that touch on Sharding as part of a larger topic.
Database Sharding
Splitting a database across multiple servers, the nuclear option for scaling writes, and the architecture behind Instagram, Uber, and YouTube
foundation · database fundamentals
Distributed SQL
How SQL databases scale across multiple nodes, sharding, query routing, distributed joins, and the coordination challenges
intermediate · database types storage
Distributed Cache
Spread your cache across multiple nodes with consistent hashing, when one Redis server isn't enough
foundation · caching strategies
Data Partitioning
Split massive datasets across multiple nodes so no single machine drowns
intermediate · data replication distribution
See also
Related glossary terms you might want to look up next.
Replication
Keeping copies of the same data on multiple servers. Improves read performance and provides fault tolerance if one server goes down.
Consistent Hashing
A hashing technique where adding or removing servers only moves a small fraction of keys. Used by Amazon DynamoDB and Cassandra for data distribution.
Horizontal Scaling
Adding more machines to handle increased load (scaling out). Like opening more checkout lanes instead of making one cashier faster.