Anneau de hachage cohérent

Anneau de hachage cohérent avec nœuds virtuels : répartition des clés, équilibre de charge, et combien de clés se déplacent vraiment quand un nœud arrive ou part — face au hachage modulo.

À propos de cet outil

Explorez le placement des clés lorsque le cluster change de taille. Choisissez 1–400 jetons virtuels par nœud et 1 000–200 000 clés, puis affichez l’anneau. Comparez un jeton avec 64. Ajoutez un nœud ou retirez-le dans la table. Les couleurs restent liées aux noms. Modifier les jetons ou la taille efface les résultats ; Réinitialiser restaure toutes les valeurs.

Une clé appartient au premier jeton dans le sens horaire, égalité comprise ; après le dernier, on revient au premier. Chaque arc appartient au nœud du jeton qui le termine. La table compte les propriétaires primaires, pas les copies ou les requêtes. Charge maximale : plus grand nombre de clés divisé par la moyenne. Dispersion : écart-type de population divisé par la moyenne. Plus de jetons améliore généralement l’équilibre, sans garantie monotone pour chaque échantillon.

Après une modification, comparez les clés déplacées avec hash(key) modulo le nombre de nœuds sur toutes les mêmes clés et les mêmes noms avant/après. Un ajout déplace uniquement des clés vers le nouveau nœud ; un retrait uniquement des clés du nœud retiré. 1/n utilise la plus grande taille du cluster : une espérance pour un placement uniforme, pas un minimum ni une garantie. Les exemples dépliables affichent au plus huit clés.

Saisissez une clé pour voir sa position et les destinations distinctes dans le sens horaire. Le facteur 1–16 inclut le primaire ; les copies indisponibles sont signalées. Modèle pédagogique local : mélange 32 bits de type FNV sur les unités de caractères JavaScript avec finalisation Murmur, ni hash standard d’octets ni hash de sécurité. Pas de poids, trafic de clés populaires, pannes, transfert de copies ou quorums. Recherche O(log T), distribution O(K log T) après tri. Le papier Dynamo §§4.2–4.3 décrit anneau, jetons virtuels et nœuds physiques distincts ; son MD5 et son système complet ne sont pas reproduits.