KerndataAnalytics

Tellen op schaal met probabilistische structuren

Unieke bezoekers, "hebben we dit gezien?", topitems en frequenties over miljarden gebeurtenissen, elk in een kleine, vaste hoeveelheid geheugen.

probabilistische structuren
4
geheugen per structuur
Vast
foutmarges
Bekende
Stap 1 van 5
Unieke bezoekers

Voeg bezoeker-id's toe aan een HyperLogLog. Het geheugen blijft klein, hoeveel er ook binnenkomen.

Voorbeeldsessieplaying
# Unieke bezoekers
hotkv> PFADD visitors:2026-10-16 user:42 user:77 user:91
(integer) 1

Een geanimeerde walkthrough met echte HotKV-commando's en voorbeeldantwoorden. Klik op een stap om ernaartoe te springen. Commando's en antwoorden blijven Engels, precies zoals je ze in HotKV typt en ziet.

Het probleem

Exacte antwoorden op "hoeveel unieke gebruikers", "hebben we deze e-mail eerder verstuurd" of "wat zijn de populairste zoekopdrachten" vragen geheugen dat met elk afzonderlijk item groeit. Bij miljarden gebeurtenissen worden dat gigabytes aan sets en tellers per vraag.

Hoe HotKV het aanpakt

Probabilistische structuren ruilen een kleine, bekende fout in voor constant geheugen. HyperLogLog telt afzonderlijke items, Bloomfilters beantwoorden lidmaatschap, Top-K houdt de meest voorkomende items bij en Count-Min Sketches schatten hoe vaak een item voorkwam. Alle vier zijn ingebouwd in HotKV.

Stap voor stap

Wat er gebeurt, commando voor commando

  1. 01

    Unieke bezoekers

    Voeg bezoeker-id's toe aan een HyperLogLog. Het geheugen blijft klein, hoeveel er ook binnenkomen.

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

    Hoeveel?

    Een schatting van afzonderlijke bezoekers met een kleine standaardfout.

    PFCOUNT visitors:2026-10-16
  3. 03

    Nooit twee keer versturen

    Controleer vóór het versturen van een campagnemail of dit adres hem al heeft gekregen.

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

    Populairste zoekopdrachten

    Top-K houdt de meest voorkomende items bij terwijl gebeurtenissen binnenstromen.

    TOPK.LIST searches:today WITHCOUNT
  5. 05

    Hoe vaak voor een willekeurig item

    Een Count-Min Sketch schat de telling van elk item, vermeld of niet.

    CMS.QUERY pageviews /home /pricing /blog
Waar het past

Praktijkscenario's

Web- en app-analytics

Dagelijkse en maandelijkse unieke gebruikers per pagina of functie, samengevoegd over dagen met PFMERGE.

E-mail en notificaties

Bloomfilters voorkomen dubbele verzendingen over retries en campagnes heen.

Zoeken en commerce

Populairste zoekopdrachten en meest bekeken producten worden live bijgehouden voor merchandising.

Ingebouwd

Wat je krijgt

HyperLogLog

Aantallen van afzonderlijke items, samen te voegen over buckets.

PFADDPFCOUNTPFMERGE

Bloomfilters

Lidmaatschap met een instelbaar percentage valse positieven.

BF.RESERVEBF.ADDBF.EXISTS

Top-K

De meest voorkomende items in een stroom.

TOPK.ADDTOPK.LIST

Count-Min Sketch

Frequentieschattingen voor elk item.

CMS.INCRBYCMS.QUERY

Veelgestelde vragen

Hoe nauwkeurig zijn ze?

Bij Bloomfilters stel je het foutpercentage in, bij Count-Min Sketches de breedte en diepte. HyperLogLog heeft een kleine, vaste standaardfout.

Kan een Bloomfilter iets missen wat hij heeft gezien?

Nee. Hij kan een vals positief melden, nooit een vals negatief.

Heb ik een module nodig?

Nee. Ze maken deel uit van HotKV.

Verwante use cases

Probeer het op je eigen workload

HotKV spreekt het Redis-protocol, dus je kunt een bestaande client erop richten en dezelfde commando's uitvoeren.