Count-Min Sketch: как посчитать частоту миллиарда событий в 10 килобайт

Джерело:
Хабрахабр:

Дата публікації:
17/08/2026 12:10

Постійна адреса новини:
http://www.vsinovyny.com/13147628

Count-Min Sketch: как посчитать частоту миллиарда событий в 10 килобайт

 

17/08/2026 12:10 // Хабрахабр:

Представьте: через ваш сервер проходит 10 миллионов запросов в минуту. Каждый запрос содержит метку (например, ID пользователя, IP-адрес или поисковый запрос). Руководство просит: «А давайте посмотрим, кто из пользователей самый активный?». Задача выглядит простой, пока вы не осознаете, что хранить HashMap из 10 миллионов ключей в оперативной памяти — это сотни мегабайт, а если ключи — длинные строки, то и гигабайты.

Вероятностные структуры данных решают такие задачи без гигантских кластеров. В прошлых статьях мы разобрали, как с помощью HyperLogLog считать количество уникальных элементов, а с помощью Фильтра Блума — проверять наличие элемента. Сегодня мы закроем триаду и поговорим об алгоритме, который отвечает на вопрос «А сколько раз этот элемент встречался?» с фиксированной памятью в пару килобайт и строгой вероятностной гарантией.

И это — Count-Min Sketch! Структура, которая лежит в основе анализа потоков в базах данных (от ClickHouse до BigQuery) и сетевых протоколов. Мы разберем её математику, реализуем на чистом C с использованием MurmurHash3 и проведем бенчмарки.

Читать далее

 

» Читати повністю

 

« Наступна новина з архіву
У смертельній ДТП в Почаєві загинула 16-річна пасажирка
  Попередня новина з архіву
Как полезная идея дофаминового голодания превратилась в цифровой аскетизм
»

 

 
© 2026 www.vsinovyny.com