sql >> Base de Datos >  >> NoSQL >> Redis

redis HLL demasiados falsos positivos

HyperLogLog se utiliza para contar artículos únicos. Puede contar una gran cantidad de artículos con poca memoria. Sin embargo, la cardinalidad devuelta NO es exacta, sino aproximada con un standard error .

0,81 % es el standard error , NO el falso positivo. Para su caso, puede llamar a PFCOUNT HLL para obtener el número aproximado de elementos únicos que puso en el HyperLogLog . El número devuelto debe estar en el rango de [10000 * (1 - 0.81%), 10000 * (1 + 0.81%)] .

PFADD devuelve 1 si la cardinalidad estimada se cambia después de ejecutar el comando. Devuelve 0, en caso contrario. No tiene nada que ver con false positive .

Parece que lo que necesita es un filtro Bloom, que puede decirle si un elemento ya existe en un conjunto de datos, con un falso positivo. Puedes implementar un Bloom Filter con Redis, por supuesto. Y debería haber algún proyecto de código abierto para eso.