נתוני ליבהאנליטיקה

ספירה בקנה מידה גדול עם מבנים הסתברותיים

מבקרים ייחודיים, “האם ראינו את זה?”, הפריטים המובילים ותדירויות על פני מיליארדי אירועים, כל אחד בכמות קטנה וקבועה של זיכרון.

מבנים הסתברותיים
4
זיכרון לכל מבנה
קבוע
גבולות שגיאה
ידועים
צעד 1 מתוך 5
מבקרים ייחודיים

מוסיפים מזהי מבקרים ל-HyperLogLog. הזיכרון נשאר קטן בכל כמות שמגיעה.

סשן לדוגמהplaying
# מבקרים ייחודיים
hotkv> PFADD visitors:2026-10-16 user:42 user:77 user:91
(integer) 1

הדגמה מונפשת עם פקודות HotKV אמיתיות ותשובות לדוגמה. לחצו על כל שלב כדי לעבור אליו. הפקודות והתשובות נשארות באנגלית, בדיוק כפי שמקלידים ורואים ב-HotKV.

הבעיה

תשובות מדויקות ל“כמה משתמשים ייחודיים”, “האם כבר שלחנו את האימייל הזה” או “מהם החיפושים המובילים” דורשות זיכרון שגדל עם כל פריט נפרד. במיליארדי אירועים זה הופך לגיגה-בייטים של קבוצות ומונים לכל שאלה.

איך HotKV מטפל בזה

מבנים הסתברותיים מחליפים שגיאה קטנה וידועה בזיכרון קבוע. HyperLogLog סופר פריטים נפרדים, מסנני Bloom עונים על חברוּת, Top-K עוקב אחר הפריטים השכיחים ביותר ו-Count-min sketches מעריכים באיזו תדירות פריט כלשהו הופיע. כל הארבעה מובנים ב-HotKV.

צעד אחר צעד

מה קורה, פקודה אחר פקודה

  1. 01

    מבקרים ייחודיים

    מוסיפים מזהי מבקרים ל-HyperLogLog. הזיכרון נשאר קטן בכל כמות שמגיעה.

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

    כמה?

    הערכה של מבקרים נפרדים עם שגיאת תקן קטנה.

    PFCOUNT visitors:2026-10-16
  3. 03

    לעולם לא שולחים פעמיים

    לפני שליחת אימייל של קמפיין, בודקים אם הכתובת הזו כבר קיבלה אותו.

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

    החיפושים המובילים

    Top-K שומר את הפריטים השכיחים ביותר תוך כדי זרימת האירועים.

    TOPK.LIST searches:today WITHCOUNT
  5. 05

    באיזו תדירות לכל פריט

    Count-min sketch מעריך את הספירה של כל פריט, ברשימה או לא.

    CMS.QUERY pageviews /home /pricing /blog
איפה זה מתאים

תרחישים מהעולם האמיתי

אנליטיקת ווב ואפליקציות

משתמשים ייחודיים ביום ובחודש לכל עמוד או יכולת, ממוזגים בין ימים עם PFMERGE.

אימייל והתראות

מסנני Bloom עוצרים שליחות כפולות בין ניסיונות חוזרים וקמפיינים.

חיפוש ומסחר

השאילתות המובילות והמוצרים הנצפים ביותר נמדדים בזמן אמת לצורכי מרצ'נדייזינג.

מובנה

מה מקבלים

HyperLogLog

ספירות נפרדות, שניתן למזג בין דליים.

PFADDPFCOUNTPFMERGE

מסנני Bloom

חברוּת עם שיעור חיובי שגוי שניתן להגדרה.

BF.RESERVEBF.ADDBF.EXISTS

Top-K

הפריטים השכיחים ביותר בזרם.

TOPK.ADDTOPK.LIST

Count-min sketch

הערכות תדירות לכל פריט.

CMS.INCRBYCMS.QUERY

שאלות נפוצות

עד כמה הם מדויקים?

במסנני Bloom קובעים את שיעור השגיאה, וב-Count-min sketches את הרוחב והעומק. ל-HyperLogLog יש שגיאת תקן קטנה וקבועה.

האם מסנן Bloom יכול לפספס משהו שראה?

לא. הוא יכול לדווח על חיובי שגוי, אף פעם לא על שלילי שגוי.

האם צריך מודול?

לא. הם חלק מ-HotKV.

שימושים קשורים

נסו על עומס העבודה שלכם

HotKV מדבר את פרוטוקול Redis, ולכן אפשר להפנות אליו לקוח קיים ולהריץ את אותן פקודות.