Hashing consistente é uma técnica para distribuir dados entre nós (servidores) que minimiza redistribuição quando nós são adicionados ou removidos — diferentemente do hashing simples, que remapeia a maioria das chaves quando o número de nós muda. É importante para caches distribuídos, bancos de dados e distribuição de carga.
O problema com hashing simples
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.
