Представим задачу: хайлоад-сервис гонит поток данных — логи, IP-адреса, ID пользователей, миллиарды записей в сутки. Ваша задача — посчитать количество уникальных посетителей за неделю.Первым решением может показаться завести HashSet и кидать туда ключи, а в конце посмотреть размер. Решение неплохое, но когда речь заходит о миллиардах записей — память будет слабым местом. Один IP-адрес (4 байта) как ключ в HashSet потянет за собой накладные расходы на ноды, указатели и хеши. На практике один элемент сжирает не меньше 50–100 байт. Поток в миллиард уникальных записей потребует под сотню гигабайт оперативной памяти. Это дорого, а если инстансов десять — то просто нереально.Но существует алгоритм, который способен решить эту задачу примерно в 1.5 килобайта памяти с погрешностью около 2%? Без хранения самих данных и гигантских кластеров. Достаточно одного прохода по потоку и пары битовых трюков — именно так и работает HyperLogLog, алгоритм родом из математической статистики, который перевернул подход к подсчёту уникальности в Big Data.HyperLogLog используют в Redis, BigQuery, ClickHouse, Presto. В этой статье мы разберем и реализуем этот алгоритм на C, а также узнаем его предысторию. Читать далее
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Как мы научили реляционую базу хранить оргструктуру в виде графа на 500к пользователей | 0 | 8 | 23-06-2026 |
| 2 | Valkey и Redis: два года спустя — за кем будущее? | 0 | 7 | 22-06-2026 |
| 3 | Аудит алгоритмов: как реализация Boyer-Moore с 190K звёзд на GitHub оказалась brute-force | 0 | 8 | 21-06-2026 |
| 4 | Что происходит при DDoS и как отличить атаку от нагрузки | 0 | 5 | 25-06-2026 |
| 5 | Как двое договариваются о секрете, крича на всю площадь: алгоритм Диффи-Хеллмана без формул | 0 | 5 | 25-06-2026 |
| 6 | Цифровое слабоумие: не помню, который час | 0 | 5 | 24-06-2026 |
| 7 | Зоопарк протоколов и человеческий фактор: что внутри сложной IoT-интеграции климатического оборудования | 0 | 7 | 23-06-2026 |
| 8 | Заменяем JavaScript с помощью HTML и CSS | 0 | 5 | 23-06-2026 |
| 9 | Из ядра Linux выпилили strncpy: шесть лет, 362 коммита, одна функция | 0 | 8 | 23-06-2026 |
| 10 | Как биология и особенности медицинского учета издеваются над программистами | 0 | 5 | 24-06-2026 |