Consistent Hashing ist eine Technik zur Verteilung von Daten auf Knoten (Server), die die Umverteilung minimiert, wenn Knoten hinzugefügt oder entfernt werden — im Gegensatz zum einfachen Hashing, das die meisten Keys neu zuordnet, wenn sich die Knotenzahl ändert. Sie ist wichtig für verteilte Caches, Datenbanken und Lastverteilung.
Das Problem mit einfachem 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.
