Data intiAnalitik

Penghitungan pada Skala Besar dengan Struktur Probabilistik

Pengunjung unik, "sudah pernah lihat ini?", item teratas, dan frekuensi atas miliaran peristiwa, masing-masing dalam memori kecil dengan ukuran tetap.

struktur probabilistik
4
memori per struktur
Tetap
batas kesalahan
Diketahui
Langkah 1 dari 5
Pengunjung unik

Tambahkan id pengunjung ke HyperLogLog. Memori tetap kecil berapa pun yang datang.

Sesi contohplaying
# Pengunjung unik
hotkv> PFADD visitors:2026-10-16 user:42 user:77 user:91
(integer) 1

Panduan beranimasi dengan perintah HotKV yang sebenarnya dan balasan contoh. Klik langkah mana pun untuk melompat ke sana. Perintah dan balasan tetap dalam bahasa Inggris, persis seperti yang Anda ketik dan lihat di HotKV.

Masalahnya

Jawaban persis untuk "berapa banyak pengguna unik", "sudahkah kita mengirim email ini sebelumnya", atau "apa pencarian teratas" memerlukan memori yang tumbuh dengan setiap item berbeda. Pada miliaran peristiwa itu menjadi gigabyte set dan penghitung per pertanyaan.

Cara HotKV menanganinya

Struktur probabilistik menukar kesalahan kecil yang diketahui dengan memori konstan. HyperLogLog menghitung item berbeda, filter Bloom menjawab keanggotaan, Top-K melacak item yang paling sering muncul, dan Count-min sketch memperkirakan seberapa sering item apa pun terjadi. Keempatnya tertanam di HotKV.

Langkah demi langkah

Apa yang terjadi, perintah demi perintah

  1. 01

    Pengunjung unik

    Tambahkan id pengunjung ke HyperLogLog. Memori tetap kecil berapa pun yang datang.

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

    Berapa banyak?

    Perkiraan pengunjung berbeda dengan galat standar yang kecil.

    PFCOUNT visitors:2026-10-16
  3. 03

    Jangan kirim dua kali

    Sebelum mengirim email kampanye, periksa apakah alamat ini sudah menerimanya.

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

    Pencarian teratas

    Top-K menyimpan item yang paling sering muncul saat peristiwa mengalir masuk.

    TOPK.LIST searches:today WITHCOUNT
  5. 05

    Seberapa sering untuk item mana pun

    Count-min sketch memperkirakan jumlah item mana pun, terdaftar atau tidak.

    CMS.QUERY pageviews /home /pricing /blog
Di mana ini cocok

Skenario dunia nyata

Analitik web dan aplikasi

Pengguna unik harian dan bulanan per halaman atau fitur, digabungkan lintas hari dengan PFMERGE.

Email dan notifikasi

Filter Bloom menghentikan pengiriman ganda di berbagai percobaan ulang dan kampanye.

Pencarian dan commerce

Kueri teratas dan produk yang paling banyak dilihat dilacak langsung untuk merchandising.

Bawaan

Yang Anda dapatkan

HyperLogLog

Hitungan berbeda, dapat digabungkan lintas bucket.

PFADDPFCOUNTPFMERGE

Filter Bloom

Keanggotaan dengan tingkat false positive yang dapat dikonfigurasi.

BF.RESERVEBF.ADDBF.EXISTS

Top-K

Item yang paling sering muncul dalam sebuah stream.

TOPK.ADDTOPK.LIST

Count-min sketch

Perkiraan frekuensi untuk item mana pun.

CMS.INCRBYCMS.QUERY

Pertanyaan umum

Seberapa akurat?

Filter Bloom memungkinkan Anda mengatur tingkat kesalahan, dan Count-min sketch mengatur lebar dan kedalaman. HyperLogLog memiliki galat standar yang kecil dan tetap.

Bisakah filter Bloom melewatkan sesuatu yang pernah dilihatnya?

Tidak. Ia dapat melaporkan false positive, tidak pernah false negative.

Apakah saya memerlukan modul?

Tidak. Semuanya bagian dari HotKV.

Kasus penggunaan terkait

Coba pada beban kerja Anda sendiri

HotKV berbicara protokol Redis, jadi Anda dapat mengarahkan klien yang sudah ada ke HotKV dan menjalankan perintah yang sama.