Получить доступ

Зачем во временных рядах нужен downsampling?

MiddleБазы временных рядов
Ещё спрашивают так:
  • Как хранить метрики годами?
Коротко

Downsampling заранее агрегирует старые данные в грубое разрешение: секунды → минуты → часы. Свежие данные детальны, исторические — компактны.

  • Хранить посекундные точки годами дорого и бесполезно для запросов за год
  • Агрегаты: среднее, минимум, максимум, сумма, перцентили (из гистограмм)
  • Retention удаляет данные старше срока на каждом уровне

А ещё Запрос за год читает тысячи часовых точек вместо миллионов секундных

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Хранить посекундные точки годами бессмысленно. Downsampling (continuous queries) считает агрегаты пониженного разрешения: секунды → минуты → часы, а retention policy удаляет устаревшее. Так свежие данные детальны, исторические компактны.

Что хотят услышать

  • Зачем: объём и скорость запросов за длинный период.
  • Уровни разрешения и retention.
  • Какие агрегаты сохранять.

Частые ошибки

  • Хранить максимальное разрешение вечно.
  • Путать downsampling с обычным сжатием на диске.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Хранить свежие данные детально, а старые — в агрегированном (сжатом) виде
  • ✗Чтобы ускорить запись новых точек
  • ✗Чтобы включить полнотекстовый поиск по метрикам
  • ✗Чтобы обеспечить ACID-транзакции

Что спросят дальше

  • Что такое retention policy?
  • Чем TimescaleDB отличается от чистого PostgreSQL?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем