Перейти к содержимому
12 / 12

Хранилища временных рядов: зачем отдельная база под метрики?

Ряды метрик — это поток «метка времени, набор меток, значение» с огромным объёмом записи, почти полным отсутствием обновлений и запросами вида «агрегат по окну за период». Обычная реляционная база справляется до определённого объёма, но проигрывает специализированным по трём пунктам: сжатие (значения соседних точек похожи, дельта- и словарное кодирование дают в разы меньший объём), встроенное прореживание — старые данные хранят с меньшим разрешением, и ретеншен — удаление по времени как операция над блоком, а не DELETE по строкам. Ключевое понятие, которое ломает наивные схемы, — кардинальность: число уникальных комбинаций меток. Метка с идентификатором пользователя или запроса превращает миллион рядов в миллиард, и падает любая система. Практический выбор: Prometheus и VictoriaMetrics — для инфраструктурных метрик, TimescaleDB — когда нужны SQL и соединения с бизнес-данными, ClickHouse — когда ряды и аналитика живут вместе.

Хранилища временных рядов: зачем отдельная база под метрики? | JScriptiser