KerndatenAnalytics

Zählen im großen Maßstab

Eindeutige Besucher, "Haben wir das schon gesehen?", Top-Elemente und Häufigkeiten über Milliarden Ereignisse, jeweils mit einer kleinen, festen Speichermenge.

probabilistische Strukturen
4
Speicher pro Struktur
Fester
Fehlergrenzen
Bekannte
Schritt 1 von 5
Eindeutige Besucher

Fügen Sie Besucher-IDs zu einem HyperLogLog hinzu. Der Speicher bleibt klein, egal wie viele eintreffen.

Beispielsitzungplaying
# Eindeutige Besucher
hotkv> PFADD visitors:2026-10-16 user:42 user:77 user:91
(integer) 1

Ein animierter Durchlauf mit echten HotKV-Befehlen und Beispielantworten. Klicken Sie auf einen Schritt, um direkt dorthin zu springen. Befehle und Antworten bleiben auf Englisch, genau so, wie Sie sie in HotKV eingeben und sehen.

Das Problem

Exakte Antworten auf "Wie viele eindeutige Benutzer?", "Haben wir diese E-Mail schon einmal gesendet?" oder "Was sind die häufigsten Suchanfragen?" brauchen Speicher, der mit jedem unterschiedlichen Element wächst. Bei Milliarden Ereignissen werden daraus Gigabytes an Sets und Zählern pro Frage.

So löst HotKV es

Probabilistische Strukturen tauschen einen kleinen, bekannten Fehler gegen konstanten Speicher. HyperLogLog zählt unterschiedliche Elemente, Bloom-Filter beantworten Mitgliedschaftsfragen, Top-K verfolgt die häufigsten Elemente, und Count-min-Sketches schätzen, wie oft ein beliebiges Element vorkam. Alle vier sind in HotKV integriert.

Schritt für Schritt

Was passiert, Befehl für Befehl

  1. 01

    Eindeutige Besucher

    Fügen Sie Besucher-IDs zu einem HyperLogLog hinzu. Der Speicher bleibt klein, egal wie viele eintreffen.

    PFADD visitors:2026-10-16 user:42 user:77 user:91
  2. 02

    Wie viele?

    Eine Schätzung der unterschiedlichen Besucher mit kleinem Standardfehler.

    PFCOUNT visitors:2026-10-16
  3. 03

    Nie doppelt senden

    Prüfen Sie vor dem Versand einer Kampagnen-E-Mail, ob diese Adresse sie bereits bekommen hat.

    BF.EXISTS sent:campaign:fall ada@example.com
  4. 04

    Häufigste Suchanfragen

    Top-K hält die häufigsten Elemente, während Ereignisse einströmen.

    TOPK.LIST searches:today WITHCOUNT
  5. 05

    Wie oft bei jedem Element

    Ein Count-min-Sketch schätzt die Anzahl jedes Elements, ob aufgelistet oder nicht.

    CMS.QUERY pageviews /home /pricing /blog
Wo es passt

Szenarien aus der Praxis

Web- und App-Analysen

Tägliche und monatliche eindeutige Benutzer pro Seite oder Feature, mit PFMERGE über Tage hinweg zusammengeführt.

E-Mail und Benachrichtigungen

Bloom-Filter verhindern doppelte Sendungen über Wiederholungsversuche und Kampagnen hinweg.

Suche und Handel

Häufigste Suchanfragen und meistgesehene Produkte werden live für das Merchandising verfolgt.

Integriert

Was Sie bekommen

HyperLogLog

Zählungen unterschiedlicher Elemente, über Buckets hinweg zusammenführbar.

PFADDPFCOUNTPFMERGE

Bloom-Filter

Mitgliedschaft mit konfigurierbarer Falsch-positiv-Rate.

BF.RESERVEBF.ADDBF.EXISTS

Top-K

Die häufigsten Elemente in einem Stream.

TOPK.ADDTOPK.LIST

Count-min-Sketch

Häufigkeitsschätzungen für jedes Element.

CMS.INCRBYCMS.QUERY

Häufige Fragen

Wie genau sind sie?

Bei Bloom-Filtern legen Sie die Fehlerrate fest, bei Count-min-Sketches Breite und Tiefe. HyperLogLog hat einen kleinen, festen Standardfehler.

Kann ein Bloom-Filter etwas übersehen, das er gesehen hat?

Nein. Er kann ein falsch positives Ergebnis melden, nie ein falsch negatives.

Brauche ich ein Modul?

Nein. Sie sind Teil von HotKV.

Verwandte Anwendungsfälle

Probieren Sie es mit Ihrer eigenen Workload

HotKV spricht das Redis-Protokoll, sodass Sie einen bestehenden Client darauf richten und genau diese Befehle ausführen können.