Сh-rollup
Проект Ch-rollup представляет собой специализированную библиотеку для автоматической и
непрерывной агрегации временных рядов в базе данных ClickHouse. Основная идея заключается
в оптимизации хранения и обработки метрик с временной привязкой: с течением времени
необходимость в высокой точности данных снижается, и вместо хранения точек с маленьким
интервалом становится целесообразно агрегировать их, например, до часового разрешения.
Это позволяет существенно уменьшить объем хранимых данных без потери ценности
аналитической информации.
Типичный сценарий использования — системы мониторинга, где в течение первых недель важна
детализация до минут, но по мере накопления истории данные можно уплотнять. Так, библиотека
Ch-rollup автоматически собирает и агрегирует значения (RPS, RT и т. д.) за заданные промежутки
и сохраняет результаты, экономя ресурсы хранилища.
Сравнение с альтернативными подходами показало, что ch-rollup обладает рядом ключевых преимуществ:
1. Не требует изменения схемы — добавление новых колонок или изменение ключей не вызывает
необходимости пересоздания таблиц.
2. Не усложняет SELECT-запросы — пользователи продолжают работать с одной таблицей без
необходимости объединения данных из разных источников.
3. Гибкость настройки интервалов агрегации — можно легко менять период прореживания без
влияния на структуру данных.
4. Минимальное влияние на производительность базы данных — не требует дополнительных
ключей сортировки в таблице с данными.