Зачем во временных рядах нужен downsampling?
- Как хранить метрики годами?
Downsampling заранее агрегирует старые данные в грубое разрешение: секунды → минуты → часы. Свежие данные детальны, исторические — компактны.
- Хранить посекундные точки годами дорого и бесполезно для запросов за год
- Агрегаты: среднее, минимум, максимум, сумма, перцентили (из гистограмм)
- Retention удаляет данные старше срока на каждом уровне
А ещё Запрос за год читает тысячи часовых точек вместо миллионов секундных
Подробно
Хранить посекундные точки годами бессмысленно. Downsampling (continuous queries) считает агрегаты пониженного разрешения: секунды → минуты → часы, а retention policy удаляет устаревшее. Так свежие данные детальны, исторические компактны.
Что хотят услышать
- Зачем: объём и скорость запросов за длинный период.
- Уровни разрешения и retention.
- Какие агрегаты сохранять.
Частые ошибки
- Хранить максимальное разрешение вечно.
- Путать downsampling с обычным сжатием на диске.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Чтобы включить полнотекстовый поиск по метрикам
- ✓Свежие данные хранить детально, а старые — агрегированными
- ✗Чтобы ускорить запись новых точек за счёт прореживания входящего потока
- ✗Чтобы обеспечить ACID-транзакции
Что спросят дальше
- Что такое retention policy?
- Чем TimescaleDB отличается от чистого PostgreSQL?
Разбор темы
- Базы данных временных рядов
Чем особенны time-series, модель measurement/tags/fields, сжатие и chunking, downsampling/retention и когда хватит обычной БД.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.