Hash-Kollisionen

Adobe behandelt prop- und eVar-Werte als Zeichenfolgen, auch wenn der Wert eine Zahl ist. Manchmal sind diese Zeichenfolgen Hunderte von Zeichen lang, manchmal sind sie kurz. Um Platz zu sparen, die Performance zu verbessern und alles einheitlich zu gestalten, werden die Zeichenfolgen nicht direkt in der Verarbeitung verwendet. Stattdessen wird für jeden Wert ein 32-Bit- oder 64-Bit-Hash berechnet. Alle Berichte werden mit diesen Hash-Werten ausgeführt, wobei jeder Hash durch den Originaltext ersetzt wird. Hashes erhöhen die Performance von Analytics-Berichten drastisch.

Bei den meisten Feldern wird die Zeichenfolge zuerst komplett in Kleinschreibung konvertiert (reduziert die Anzahl eindeutiger Werte). Hash-Werte werden auf Monatsbasis vergeben (bei der ersten Anzeige pro Monat). Von Monat zu Monat besteht eine geringe Wahrscheinlichkeit, dass zwei eindeutige Variablenwerte denselben Wert haben. Dieses Konzept wird als Hash-Kollision bezeichnet.

Hash-Kollisionen können sich wie folgt im Bericht manifestieren:

  • Wenn Sie einen Trend für einen Wert erstellen und in einem Monat eine Spitze verzeichnen, haben vermutlich andere Werte für diese Variable denselben Hash-Wert erhalten wie der Wert, den Sie gerade prüfen.
  • Dasselbe passiert mit Segmenten für einen bestimmten Wert.

Beispiel einer Hash-Kollision

Die Wahrscheinlichkeit von Hash-Kollisionen steigt mit der Anzahl der eindeutigen Werte in einer Dimension. Beispielsweise könnte einer der Werte, die gegen Ende des Monats eingehen, denselben Hash-Wert erhalten, der bereits einem anderen Wert in diesem Monat zugewiesen wurde. Die folgenden Beispiele veranschaulichen, wie sich dies auf Segmentergebnisse auswirken kann. Nehmen wir an, eVar62 wird am 18. Februar den Wert 100 zugewiesen. Analytics pflegt eine Tabelle, die wie folgt aussehen kann:

eVar62-Zeichenfolgenwert
Hash
Wert 99
111
Wert 100
123
Wert 101
222

Wenn Sie ein Segment erstellen, das auf Besuche mit eVar62="value 500" prüft, ermittelt Analytics, ob „value 500“ ein Hash enthält. Da „value 500“ nicht vorhanden ist, gibt Analytics null Besuche zurück. Am 23. Februar erhält eVar62 den Wert „value 500“, und der Hash dafür lautet ebenfalls 123. Die Tabelle sieht folgendermaßen aus:

eVar62-Zeichenfolgenwert
Hash
Wert 99
111
Wert 100
123
Wert 101
222
Wert 500
123

Wenn das Segment erneut ausgeführt wird, prüft es den Hash von „value 500“, findet 123, und der Bericht gibt alle Besuche mit dem Hash 123 zurück. Auf diese Weise werden Besuche am 18. Februar in den Ergebnissen eingebunden.

Diese Situation kann bei der Verwendung von Analytics Probleme verursachen. Adobe sucht weiter nach Wegen, die Wahrscheinlichkeit von Hash-Kollisionen in der Zukunft zu verringern. Um diese Situation zu vermeiden, müssen Wege gefunden werden, die eindeutigen Werte zwischen Variablen zu verteilen, nicht erforderliche Werte mit Verarbeitungsregeln zu entfernen oder die Anzahl an Werten pro Variable anderweitig zu verringern.

recommendation-more-help
b4f6d761-4a8b-4322-b801-c85b9e3be690