web-dev-qa-db-fra.com

Qu'est-ce que le clustering primaire et secondaire dans le hachage?

Je suis confus ces derniers jours en trouvant la différence entre le clustering primaire et secondaire dans le sujet de la gestion des collisions de hachage dans le manuel que je lis.

19
Rickx

Le clustering primaire signifie que s'il existe un cluster et que la position initiale d'un nouvel enregistrement se situe n'importe où dans le cluster, la taille du cluster augmente. Le sondage linéaire conduit à ce type de clustering.

Le regroupement secondaire est moins sévère, deux enregistrements n'ont la même chaîne de collision que si leur position initiale est la même. Par exemple, le sondage quadratique conduit à ce type de clustering.

10
Henry
  1. Le clustering primaire est la tendance d'un schéma de résolution de collision tel que le palpage linéaire à créer de longues séries d'emplacements remplis presque le position de hachage des clés.
  2. Si l'index de hachage principal est x, les sondes suivantes vont à x+1, x+2, x+3 et ainsi de suite, cela se traduit par un clustering principal.
  3. Une fois le cluster principal formé, plus le cluster devient gros, plus il se développe rapidement. Et cela réduit les performances.

enter image description here


  1. Le clustering secondaire est la tendance d'un schéma de résolution de collision tel que le sondage quadratique à créer de longues séries d'emplacements remplis loin à partir de la position de hachage des clés.
  2. Si l'index de hachage principal est x, les sondes passent à x+1, x+4, x+9, x+16,x+25 et ainsi de suite, cela entraîne un regroupement secondaire.
  3. Le clustering secondaire est moins sévère en termes de performances atteintes que le clustering primaire, et est une tentative pour empêcher les clusters de se former en utilisant le sondage quadratique. L'idée est de sonder des cellules plus largement séparées, au lieu de celles adjacentes au site de hachage principal.

enter image description here

59
Yogesh Umesh Vaity