Show Menu
TEMAS×

Conflictos de hash

Adobe trata los valores de prop y eVar como cadenas, aunque el valor sea un número. Algunas veces estas cadenas tienen cientos de caracteres, otras veces son cortas. Para ahorrar espacio, mejorar el rendimiento y hacer que todo tenga un tamaño uniforme, las cadenas no se utilizan directamente en el procesamiento. En cambio, se computa un hash de 32 bits o 64 bits para cada valor. Todos los informes se ejecutan en estos valores con hash, donde cada hash se reemplaza por el texto original. Los hash aumentan drásticamente el rendimiento de los informes de Analytics.
Para la mayoría de los campos, la cadena primero se convierte a minúscula (reduciendo el número de valores únicos). Se colocan hashes en los valores todos los meses (la primera vez que son vistos cada mes). De un mes a otro, existe una pequeña posibilidad de que dos valores de variable únicos hagan hash en el mismo valor. This concept is known as a hash collision .
Los conflictos de hash pueden manifestarse en los informes de la siguiente manera:
  • Si está viendo la tendencia de un valor y observa un pico durante un mes, posiblemente a otros valores para esa variable se les colocaron hash con el mismo valor que ve.
  • Lo mismo ocurre para segmentos para un valor específico.

Ejemplo de conflicto de hash

La probabilidad de los conflictos de hash aumentan con la cantidad de valores únicos en una dimensión. Por ejemplo, uno de los valores que llega tarde en el mes podría obtener el mismo valor de hash que un valor más temprano en el mes. El siguiente ejemplo puede ayudar a explicar cómo esto puede hacer que cambien los resultados de los segmentos. Supongamos que eVar62 recibe "valor 100" el 18 de febrero. Analytics mantendrá una tabla similar a la siguiente:
Valor de cadena eVar62 Hash
Valor 99
111
Valor 100
123
Valor 101
222
Si genera un segmento que busca visitas donde eVar62="valor 500", Analytics determina si "valor 500" contiene un hash. Como "valor 500" no existe, Analytics devuelve cero visitas. Luego, el 23 de febrero, eVar62 recibe "valor 500", y el hash correspondiente también es 123. La tabla será similar a la siguiente:
Valor de cadena eVar62 Hash
Valor 99
111
Valor 100
123
Valor 101
222
Valor 500
123
Cuando el mismo segmento se ejecuta nuevamente, busca el hash de "valor 500", encuentra 123, y el informe devuelve todas las visitas que contienen hash 123. Ahora, las visitas que ocurrieron el 18 de febrero estarán incluidas en los resultados.
Esta situación puede crear problemas al usar Analytics. Adobe continúa investigando maneras de reducir las posibilidades de que ocurran estos conflictos de hash en el futuro. Algunas sugerencias para evitar esta situación son: encontrar maneras de propagar los valores únicos entre variables, eliminar valores innecesarios con reglas de procesamiento o, por el contrario, reducir el número de valores por variable.