Почему проверка объёма данных должна учитывать выходные и сезонность

В выходной записей меньше, но загрузка исправна. Разбираем, как отличить ожидаемое изменение объёма от пропажи данных и почему одного постоянного порога мало.

Повторяющиеся группы графитовых и оранжевых столбиков с плавной лентой над ними.

Красный индикатор каждое воскресенье

Представим условный сервис доставки обедов в офисы. В рабочие дни он получает много заказов, по выходным заметно меньше. Команда поставила проверку: дневная загрузка должна содержать не менее восьмисот записей. Воскресным утром приходит предупреждение, хотя все заказы успешно переданы и обработаны.

Ошибка может быть не в загрузке, а в ожидании одинакового объёма каждый день. Проверка сравнивает число с правилом, но смысл правила задают люди. Чтобы предупреждение помогало, нужно понимать рабочий календарь и обычное поведение источника. Пониженный показатель сам по себе ещё не доказывает потерю сведений.

Сезонность — повторяющийся рисунок

Сезонностью называют повторяющиеся изменения во времени: различия между буднями и выходными, часами дня или периодами года. В документации AWS Glue Data Quality описано, как история измерений помогает замечать отклонения от таких закономерностей. Одинаковый объём может быть ожидаемым в один период и необычным в другой.

Не каждое колебание является сезонностью. Единичный крупный заказ, запуск новой услуги и случайный сбой требуют отдельного объяснения. Поэтому полезно хранить историю вместе с контекстом: какой период измерен, какие источники работали и не менялся ли способ подсчёта. Без этого график способен показать красивую закономерность, которой на деле нет.

Сравнивайте сопоставимые периоды

Для учебного сервиса предложим два разных ожидаемых диапазона. В будний день обычно поступает от девятисот до тысячи ста записей, в выходной — от ста восьмидесяти до двухсот сорока. Это условные числа для объяснения, а не рекомендуемые настройки для реальной компании.

Двести записей в воскресенье укладываются в описанную картину. Шестьсот в понедельник уже требуют проверки, хотя это втрое больше воскресного объёма. Общий порог в восемьсот дал бы ложную тревогу на выходных. Слишком низкий постоянный порог, наоборот, мог бы пропустить существенное падение в рабочий день. Важен контекст сравнения, а не только абсолютная величина.

Диапазон не объясняет причину отклонения

Если число записей оказалось необычным, возможны разные причины. Заказов действительно стало меньше, часть источников не прислала данные или новая версия обмена начала считать только оплаченные заявки. На графике всё это может выглядеть похожим падением. Дальше нужно сопоставить число с исходными операциями и состоянием передачи.

В книге Google SRE о мониторинге различаются наблюдаемый симптом и его причина. Для нашей задачи это полезное различие: необычный объём — повод исследовать ситуацию. Он ещё не позволяет автоматически объявить неисправной базу, источник или всю систему отчётности.

Историю тоже нужно проверять

В исходных наблюдениях могут оказаться прошлые аварии, праздники и дни неполной работы. Если принять всё увиденное за норму, ожидание станет слишком снисходительным. AWS отдельно описывает обратную связь по найденным аномалиям: ошибочные наблюдения нужно отличать от нового нормального поведения.

Предлагаемый подход — отмечать известные исключения и пересматривать диапазоны после заметного изменения бизнеса. Например, появление второго города доставки меняет ожидаемый поток. При этом не стоит незаметно расширять границы после каждого предупреждения: иначе проверка постепенно перестанет обнаруживать проблему. Решение о новом ожидании должно иметь понятное объяснение.

Что делать после срабатывания

Полезно заранее записать, какие периоды сравниваются, кто уточняет реальный объём операций и где проверяется полнота загрузки. Такой порядок можно включить в инструкцию для дежурного. Срочность реакции зависит ещё и от последствий: утренний отчёт руководителя и промежуточная учебная выгрузка имеют разную критичность.

Необычный объём лучше рассматривать вместе с договорённостью о надёжности данных: когда результат нужен и какое нарушение существенно для пользователей. Понимать такие проверки и эксплуатацию потоков помогает программа DataOPS инженер. Начать можно с объяснения одной тревоги: что ожидали, что получили и почему сравнивали именно эти периоды.

DataOPS инженер
Курс
Доступ сразу
DataOPS инженер

Научитесь автоматизировать развертывание и мониторинг data-инфраструктуры

С нуля до junior
Теория и практика
Диплом по окончании
12 990
₽/мес
УЗНАТЬ ПОДРОБНЕЕ

Источники

Читайте также

Обучить команду или нанять специалиста по данным: как выбрать
47

Обучить команду или нанять специалиста по данным: как выбрать

Как руководителю определить, какие навыки развивать внутри команды, когда нужна новая роль и почему обучение и найм часто дополняют друг друга.
Вертикальное и горизонтальное масштабирование данных: в чём разница
46

Вертикальное и горизонтальное масштабирование данных: в чём разница

Когда системе добавляют мощность одного сервера, когда делят работу между несколькими и почему увеличение ресурсов само по себе не решает любую проблему.
Журнал изменений данных: как выяснить, кто и когда изменил набор
42

Журнал изменений данных: как выяснить, кто и когда изменил набор

Что можно узнать из журнала действий с данными, как он помогает разбирать ошибки и почему его записи не показывают всю историю сами по себе.

Занятия проходят
в Нова Дата СДО

Вебинары, практика и общение с преподавателем — в одном окне браузера.

Посмотреть интерфейс платформы
Календарь обучения в Нова Дата СДО
Курсы студента в Нова Дата СДО
Редактор кода для практики в Нова Дата СДО
Вебинары и расписание Ваши курсы Код в браузере
Нова Дата СДО — в реестре российского ПОРеестровая запись № 34931
Заявка отправлена
Отправим вам подборку курсов в течение 5 минут. С вами также свяжется наш специалист и даст карьерную консультацию.
Персональный промокод
На курс «Инженер по парсингу данных»
Введите код при оплате, чтобы применить скидку к программе.