Hash-Kollisionen

Dimensionen in Adobe Analytics erfassen Zeichenfolgenwerte. Manchmal sind diese Zeichenfolgen Hunderte von Zeichen lang, während sie manchmal kurz sind. Zur Leistungsverbesserung werden diese Zeichenfolgenwerte nicht direkt in der Verarbeitung verwendet. Stattdessen wird für jeden Wert ein Hash berechnet, um alle Werte zu einer einheitlichen Größe zu machen. Alle Berichte werden mit diesen Hash-Werten ausgeführt, wodurch ihre Leistung drastisch gesteigert wird.

Bei den meisten Feldern wird die Zeichenfolge zuerst in Kleinbuchstaben umgewandelt. Die niedrigere Konversionsrate reduziert die Anzahl eindeutiger Werte. Die Werte werden monatlich gehasht - der Fall für einen bestimmten Wert verwendet den ersten jeden Monat angezeigten Wert. Von Monat zu Monat besteht ein geringes Risiko, dass zwei eindeutige Variablenwerte auf denselben Wert Hash. Dieses Konzept wird als Hash-Kollision bezeichnet.

Hash-Kollisionen können in Berichten wie folgt auftreten:

  • Wenn Sie einen Bericht im Zeitverlauf anzeigen und eine unerwartete Spitze feststellen, kann es sein, dass mehrere eindeutige Werte für diese Variable denselben Hash verwenden.
  • Wenn Sie ein Segment verwenden und einen unerwarteten Wert anzeigen, kann es sein, dass das unerwartete Dimensionselement denselben Hash als ein anderes Dimensionselement verwendet, das mit Ihrem Segment übereinstimmt.

Chancen einer Hash-Kollision

Adobe Analytics verwendet für die meisten Dimensionen 32-Bit-Hashes, d. h. es gibt 232 mögliche Hash-Kombinationen (ca. 4,3 Mrd.). Jeden Monat wird eine neue Hash-Tabelle für jede Dimension erstellt. Die ungefähren Chancen auf eine Hash-Kollision basierend auf der Anzahl eindeutiger Werte sind wie folgt. Diese Chancen basieren auf einer einzelnen Dimension für einen einzelnen Monat.

Eindeutige Werte
Quoten
1.000
0,01 %
10.000
1 %
50.000
26%
100.000
71 %

Ähnlich wie beim Geburtstagsparadox steigt die Wahrscheinlichkeit von Hash-Kollisionen drastisch, je mehr individuelle Werte vorhanden sind. Bei 1 Million individuellen Werten ist es wahrscheinlich, dass für diese Dimension mindestens 100 Hash-Kollisionen vorliegen.

Hash-Kollisionen verringern

Die meisten Hash-Kollisionen treten mit zwei ungewöhnlichen Werten auf, die keine aussagekräftigen Auswirkungen auf Berichte haben. Selbst wenn ein Hash mit einem gemeinsamen und ungewöhnlichen Wert kollidiert, ist das Ergebnis vernachlässigbar. In seltenen Fällen, in denen zwei beliebte Werte eine Hash-Kollision erleben, ist es jedoch möglich, ihre Wirkung deutlich zu erkennen. Adobe empfiehlt Folgendes, um die Wirkung in Berichten zu reduzieren:

  • Datumsbereich ändern: Hash-Tabellen ändern sich jeden Monat. Wenn Sie den Datumsbereich so ändern, dass er sich über einen weiteren Monat erstreckt, können bei jedem Wert unterschiedliche Hashes auftreten, die nicht kollidieren.
  • Reduzieren der Anzahl eindeutiger Werte: Sie können Ihre Implementierung anpassen oder Verarbeitungsregeln verwenden, um die Anzahl der eindeutigen Werte zu reduzieren, die eine Dimension erfasst. Wenn Ihre Dimension beispielsweise eine URL erfasst, können Sie Abfragezeichenfolgen oder Protokolle entfernen.
recommendation-more-help
b4f6d761-4a8b-4322-b801-c85b9e3be690