1. Обзор
Структура данных HyperLogLog (HLL)
— это вероятностная структура данных, используемая для оценки кардинальности набора данных .
Предположим, что у нас есть миллионы пользователей, и мы хотим подсчитать количество отдельных посещений нашей веб-страницы. Наивной реализацией было бы хранить каждый уникальный идентификатор пользователя в наборе, и тогда размер набора был бы нашей кардинальностью.
Когда мы имеем дело с очень большими объемами данных, подсчет кардинальности таким образом будет очень неэффективным, поскольку набор данных будет занимать много памяти.
Но если нас устраивает оценка в пределах нескольких процентов и нам не нужно точное количество уникальных посещений, то мы можем использовать HLL
, так как он был разработан именно для такого варианта использования — оценки количества миллионов или даже миллиардов. различных значений .