Date de bazăAnalitică

Numărare la scară mare cu structuri probabilistice

Vizitatori unici, „am mai văzut asta?”, elemente de top și frecvențe peste miliarde de evenimente, fiecare într-o cantitate mică și fixă de memorie.

structuri probabilistice
4
memorie pe structură
Fixă
limite de eroare
Cunoscute
Pasul 1 din 5
Vizitatori unici

Adăugați id-uri de vizitatori într-un HyperLogLog. Memoria rămâne mică, oricâți ar sosi.

Sesiune de exempluplaying
# Vizitatori unici
hotkv> PFADD visitors:2026-10-16 user:42 user:77 user:91
(integer) 1

O demonstrație animată cu comenzi HotKV reale și răspunsuri de exemplu. Faceți clic pe orice pas pentru a sări la el. Comenzile și răspunsurile rămân în engleză, exact așa cum le tastați și le vedeți în HotKV.

Problema

Răspunsurile exacte la „câți utilizatori unici”, „am mai trimis acest e-mail” sau „care sunt cele mai frecvente căutări” cer memorie care crește cu fiecare element distinct. La miliarde de evenimente, asta devine gigaocteți de seturi și contoare pe întrebare.

Cum o rezolvă HotKV

Structurile probabilistice schimbă o eroare mică și cunoscută pe memorie constantă. HyperLogLog numără elementele distincte, filtrele Bloom răspund la apartenență, Top-K urmărește cele mai frecvente elemente, iar Count-min sketches estimează de câte ori a apărut orice element. Toate patru sunt integrate în HotKV.

Pas cu pas

Ce se întâmplă, comandă cu comandă

  1. 01

    Vizitatori unici

    Adăugați id-uri de vizitatori într-un HyperLogLog. Memoria rămâne mică, oricâți ar sosi.

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

    Câți?

    O estimare a vizitatorilor distincți, cu o eroare standard mică.

    PFCOUNT visitors:2026-10-16
  3. 03

    Nu trimiteți niciodată de două ori

    Înainte de a trimite un e-mail de campanie, verificați dacă această adresă l-a primit deja.

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

    Cele mai frecvente căutări

    Top-K păstrează cele mai frecvente elemente pe măsură ce evenimentele curg.

    TOPK.LIST searches:today WITHCOUNT
  5. 05

    Cât de des pentru orice element

    Un Count-min sketch estimează numărul oricărui element, listat sau nu.

    CMS.QUERY pageviews /home /pricing /blog
Unde se potrivește

Scenarii din lumea reală

Analitică web și de aplicații

Utilizatori unici zilnici și lunari pe pagină sau funcție, uniți între zile cu PFMERGE.

E-mail și notificări

Filtrele Bloom opresc trimiterile duplicate între reîncercări și campanii.

Căutare și comerț

Cele mai frecvente interogări și cele mai vizualizate produse sunt urmărite live pentru merchandising.

Integrat

Ce primiți

HyperLogLog

Numărători de elemente distincte, care se pot uni între intervale.

PFADDPFCOUNTPFMERGE

Filtre Bloom

Apartenență, cu o rată configurabilă de fals pozitiv.

BF.RESERVEBF.ADDBF.EXISTS

Top-K

Cele mai frecvente elemente dintr-un flux.

TOPK.ADDTOPK.LIST

Count-min sketch

Estimări de frecvență pentru orice element.

CMS.INCRBYCMS.QUERY

Întrebări frecvente

Cât de precise sunt?

La filtrele Bloom puteți seta rata de eroare, iar la Count-min sketches lățimea și adâncimea. HyperLogLog are o eroare standard mică și fixă.

Poate un filtru Bloom să rateze ceva ce a văzut?

Nu. Poate raporta un fals pozitiv, niciodată un fals negativ.

Am nevoie de un modul?

Nu. Fac parte din HotKV.

Cazuri de utilizare înrudite

Încercați pe propria sarcină de lucru

HotKV vorbește protocolul Redis, așa că puteți îndrepta spre el un client existent și rula aceleași comenzi.