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.
What is 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.
Consistent Hashing is a advanced concept that sits in the Distributed Systems Core 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 "Consistent Hashing" lesson linked below. It walks through the why, the mechanism, the trade-offs, and how the giants actually use it in production.
Learn Consistent Hashing in depth
Full interactive lesson with diagrams, code examples, real-world references, and a quiz.
Open the Consistent Hashing lessonRelated lessons
Lessons that touch on Consistent Hashing as part of a larger topic.
Consistent Hashing
The algorithm that makes adding or removing nodes cheap, an interview favorite and production essential
intermediate · data replication distribution
Design a Key-Value Store
Design a distributed key-value store - LSM trees, compaction, consistent hashing, replication, tunable consistency, and failure detection
capstone · capstone
Distributed Cache
Spread your cache across multiple nodes with consistent hashing, when one Redis server isn't enough
foundation · caching strategies
Hash Partitioning
Using hash functions to distribute rows evenly across partitions, the antidote to hotspots and skewed data
foundation · database fundamentals
See also
Related glossary terms you might want to look up next.
Sharding
Splitting a database into smaller pieces (shards) distributed across multiple servers. Each shard holds a subset of the data.
Load Balancer
Distributes incoming traffic across multiple servers so no single server gets overwhelmed. Like a traffic cop directing cars to different lanes.
Replication
Keeping copies of the same data on multiple servers. Improves read performance and provides fault tolerance if one server goes down.