Çekirdek veriAnalitik

Olasılıksal Yapılarla Ölçekte Sayım

Milyarlarca olay üzerinde tekil ziyaretçiler, "bunu gördük mü?", en üst öğeler ve sıklıklar; her biri küçük, sabit bir bellek miktarında.

olasılıksal yapı
4
yapı başına bellek
Sabit
hata sınırları
Bilinen
Adım 1 / 5
Tekil ziyaretçiler

Ziyaretçi kimliklerini bir HyperLogLog'a ekleyin. Kaç tane gelirse gelsin bellek küçük kalır.

Örnek oturumplaying
# Tekil ziyaretçiler
hotkv> PFADD visitors:2026-10-16 user:42 user:77 user:91
(integer) 1

Gerçek HotKV komutları ve örnek yanıtlarla animasyonlu bir anlatım. Herhangi bir adıma atlamak için üzerine tıklayın. Komutlar ve yanıtlar, HotKV'de yazdığınız ve gördüğünüz haliyle İngilizce kalır.

Sorun

"Kaç tekil kullanıcı", "bu e-postayı daha önce gönderdik mi" veya "en çok yapılan aramalar neler" sorularına birebir yanıtlar, her farklı öğeyle büyüyen bir belleğe ihtiyaç duyar. Milyarlarca olayda bu, soru başına gigabaytlarca küme ve sayaca dönüşür.

HotKV bunu nasıl ele alır

Olasılıksal yapılar, küçük ve bilinen bir hatayı sabit belleğe karşı takas eder. HyperLogLog ayrı öğeleri sayar, Bloom filtreleri üyeliği yanıtlar, Top-K en sık öğeleri izler ve Count-min taslakları herhangi bir öğenin ne sıklıkla görüldüğünü tahmin eder. Dördü de HotKV'ye yerleşiktir.

Adım adım

Ne olur, komut komut

  1. 01

    Tekil ziyaretçiler

    Ziyaretçi kimliklerini bir HyperLogLog'a ekleyin. Kaç tane gelirse gelsin bellek küçük kalır.

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

    Kaç tane?

    Küçük bir standart hatayla ayrı ziyaretçilerin bir tahmini.

    PFCOUNT visitors:2026-10-16
  3. 03

    Asla iki kez göndermeyin

    Bir kampanya e-postası göndermeden önce, bu adresin zaten alıp almadığını denetleyin.

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

    En çok aramalar

    Top-K, olaylar aktıkça en sık öğeleri tutar.

    TOPK.LIST searches:today WITHCOUNT
  5. 05

    Herhangi bir öğe için ne sıklıkta

    Bir Count-min taslağı, listelenmiş olsun olmasın herhangi bir öğenin sayısını tahmin eder.

    CMS.QUERY pageviews /home /pricing /blog
Nereye uyar

Gerçek dünya senaryoları

Web ve uygulama analitiği

Sayfa veya özellik başına günlük ve aylık tekil kullanıcılar; günler arasında PFMERGE ile birleştirilir.

E-posta ve bildirimler

Bloom filtreleri, yeniden denemeler ve kampanyalar boyunca yinelenen gönderimleri durdurur.

Arama ve ticaret

En çok sorgular ve en çok görüntülenen ürünler, ürün yerleştirme için canlı izlenir.

Yerleşik

Neler elde edersiniz

HyperLogLog

Kovalar arasında birleştirilebilen ayrık sayımlar.

PFADDPFCOUNTPFMERGE

Bloom filtreleri

Yapılandırılabilir yanlış pozitif oranıyla üyelik.

BF.RESERVEBF.ADDBF.EXISTS

Top-K

Bir akıştaki en sık öğeler.

TOPK.ADDTOPK.LIST

Count-min taslağı

Herhangi bir öğe için sıklık tahminleri.

CMS.INCRBYCMS.QUERY

Sık sorulan sorular

Ne kadar doğrular?

Bloom filtreleri hata oranını, Count-min taslakları genişliği ve derinliği ayarlamanıza izin verir. HyperLogLog'un küçük, sabit bir standart hatası vardır.

Bir Bloom filtresi gördüğü bir şeyi kaçırabilir mi?

Hayır. Yanlış pozitif bildirebilir, yanlış negatif asla.

Bir modüle ihtiyacım var mı?

Hayır. HotKV'nin parçasıdırlar.

İlgili kullanım senaryoları

Kendi iş yükünüzde deneyin

HotKV, Redis protokolünü konuşur; bu yüzden mevcut bir istemciyi ona yönlendirip aynı komutları çalıştırabilirsiniz.