- El profe explicaba que las id me los almacena y estas palabras HASH hacen referencia al bucket, y pues mi duda radica en que: ¿Por que la id = 456 se guarda en el bucket = 001? ¿No debe ser iguales los prefijos?
Hola David,
Las funciones HASH toman los datos de entrada (en este caso, la id) y los transforman en una salida de longitud fija, que es el valor HASH. Este valor HASH es lo que se utiliza para determinar en qué 'bucket' se almacenará el dato.
En tu caso, la id = 456 se guarda en el bucket = 001. Esto no significa que la id y el bucket deban ser iguales. De hecho, es bastante común que no lo sean. La función HASH simplemente toma la id y realiza algunos cálculos para determinar en qué bucket debe ir.
Un ejemplo sencillo podría ser una función HASH que simplemente tome el último dígito de la id y lo use como bucket. Entonces, la id 456 iría al bucket 6, la id 123 iría al bucket 3, etc. Este es un ejemplo muy simplificado, las funciones HASH reales son mucho más complejas y están diseñadas para distribuir los datos de manera uniforme entre los buckets.
Espero que esto aclare un poco tu duda. Recuerda que el objetivo de la función HASH no es hacer que la id y el bucket sean iguales, sino distribuir los datos de manera eficiente para que puedan ser recuperados rápidamente.
Si este post te ayudó, por favor, marca como solucionado ✓.