L'hashing coerente è una tecnica per distribuire dati su nodi (server) che minimizza la ridistribuzione quando i nodi vengono aggiunti o rimossi — a differenza dell'hashing semplice, che rimappa la maggior parte delle chiavi quando il numero di nodi cambia. È importante per cache distribuite, database e distribuzione del carico.
Il problema con l'hashing semplice
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.
