4.8Kпросмотров
53.6%от подписчиков
24 февраля 2026 г.
Score: 5.3K
Астрологи обьявили неделю Redis на этом канале Почему Redis, а не Valkey, ведь это drop-in клон? Valkey мы очень любим, но кое-чего в Valkey нет. Верятностные структуры — про это мы начинаем серию образовательных постов. Автор серии - Константин Ратвин (МФТИ). Часть #1. Введение в вероятностные структуры Redis По мере развития проекта растет не только нагрузка, но и функциональность: появляются рекомендации, промо-механики, антифрод и новые требования к наблюдаемости. Вместе с этим увеличивается поток событий и измерений: значительную его часть начинают занимать клики, оформления заказов, метрики задержек. И разработчикам, и аналитикам все чаще становятся нужны ответы «прямо сейчас»:
🤩 сколько было уникальных посетителей сегодня?
🤩 что стало трендом за последние минуты?
🤩 не пришло ли событие повторно?
🤩 какой p95/p99 у времени ответа или у времени оформления заказа? Ответить на эти вопросы, не перегружая систему, позволяет класс техник, который называют вероятностными структурами данных. Они дают быстрый отклик и требуют мало памяти, но допускают небольшую и заранее предсказуемую погрешность. В больших системах такие расчеты часто выносят в отдельный контур обработки, и это может сильно снижать оперативность как получения данных, так и внесения изменений. Однако Redis позволяет избежать этого усложнения, предлагая решение подобных задач прямо "из коробки”. Так появились вероятностные структуры (их еще называют sketch-структурами) появились как ответ на практическую проблему: потоки данных растут быстрее, чем бюджет на память и хранение. Решение в том, чтобы хранить не исходные элементы, а их компактное представление, под которым обычно понимают: 🤩 Хеш-отпечатки и битовые/регистровые массивы
Элементы превращаются в несколько хеш-значений и «отмечаются» в битовой матрице/регистрах.
Пример: Bloom filter отмечает позиции битов, HyperLogLog обновляет регистры по «разрядам» хеша. 🤩 Сжатую статистику вместо сырого потока
Хранится не каждое значение, а агрегированное статистическое представление.
Пример: t-digest сохраняет сжатое приближение распределения, чтобы быстро отвечать на запросы вида p95/p99. Вопросы, на которые способны ответить вероятностные структуры:
🤩 Сколько уникальных? → HyperLogLog
🤩 Видели ли мы это? → Bloom / Cuckoo
🤩 Что в топе? → Top-K
🤩 Сколько раз встречалось? → Count-Min Sketch
🤩 Какие p95/p99? → t-digest 5 разных структур данных - и все доступны в Redis из коробки. В следующих постах разберём каждый из них подробнее. А всем, кому интересно изучить Redis на практике с автором этого поста, приходите на курс Devhands: Redis и Valkey, от основ к хайлоаду. Старт 10 марта, 6 недель: все необходимые структуры данных, масштабирование c Sentinel, кластерные возможности и многое другое. 🔥 уже используем возможности Redis для observability/аналитики
👍 спасибо, подучил