Consistent hashing is een techniek voor het distribueren van data over nodes (servers) die minimale redistributie veroorzaakt wanneer nodes worden toegevoegd of verwijderd — in tegenstelling tot eenvoudige hashing, waarbij de meeste sleutels opnieuw worden toegewezen wanneer het aantal nodes verandert. Het is belangrijk voor gedistribueerde caches, databases en load distribution.
Het probleem met eenvoudige hashing
Simple approach: node = hash(key) % N (N = number of nodes)
✗ when N CHANGES (add/remove a node), N changes → MOST keys remap to different nodes →
massive data movement / cache invalidation (almost everything moves!)
→ adding/removing a server causes huge disruption → bad for dynamic distributed systems.
