Операция сбора статистики (statisticJob)

Операция предназначена для формирования среза статистики по качеству данных во всех реестрах и справочниках системы на момент запуска. Основная цель - предоставить агрегированные метрики для анализа состояния данных, мониторинга ошибок правил качества и построения отчетов. Результаты операции сохраняются в специализированную таблицу базы данных и могут быть использованы, в том числе, для интеграции с BI-платформами.

Параметры операции

  • Имя пользователя (поле ввода): Логин учетной записи. Рекомендуется к заполнению. Определяет, с правами какой учетной записи выполняется операция и записывается в поле author в БД.

    • Если поле заполнено и учетная запись существует - логин будет указан как автор операции. Если учетная запись не существует — операция не запустится.

    • Если поле пустое - операция выполнится от имени пользователя, который ее запустил, и его логин будет записан как автор. В этом случае, если во время выполнения операции произойдет выход пользователя из системы, операция завершится с ошибкой.

  • Собирать статистику по записям (флаг) - собирает статистику по записям реестров/справочников в postgres.org_unidata_mdm_timelog_core.records_statistic:

    • DUPLICATES;

    • ERRORS.CATEGORY.TIMELINESS;

    • ERRORS.CATEGORY.UNIQUENESS;

    • ERRORS.CATEGORY.VALIDITY;

    • ERRORS.CATEGORY.AUDITABILITY;

    • ERRORS.CATEGORY.COMPLETENESS;

    • ERRORS.CATEGORY.ACCURACY;

    • ERRORS.CATEGORY.CONSISTENCY;

    • ERRORS.SEVERITY.GREEN;

    • ERRORS.SEVERITY.YELLOW;

    • ERRORS.SEVERITY.RED;

    • ERRORS;

    • TOTAL.

Внутренние механизмы

При запуске операция выполняет моментальный срез данных по всем объектам модели (реестрам и справочникам). Она агрегирует информацию о количестве записей, анализирует результаты применения всех правил качества данных, группирует ошибки по категориям и критичности, а также вычисляет количество дубликатов. Все полученные метрики записываются в одну строку целевой таблицы базы данных с меткой времени выполнения.

Важно знать / Ограничения

  • Обязательное условие: Для работы операции требуется подключение и настройка расширения TimescaleDB в базе данных. Без этого метрики не смогут сохраняться, и операция завершится с ошибкой.

  • Отсутствие фронтовой части (UI): Операция не имеет графического интерфейса для просмотра результатов в админ-панели системы. Все собранные данные доступны только напрямую в базе данных, в таблице org_unidata_mdm_timelog_core.records_statistic.

  • Назначение метрик: Собираемая статистика включает следующие показатели (расшифровка согласно новым материалам):

    • TOTAL - общее количество записей по всем реестрам и справочникам.

    • DUPLICATES - количество записей-дубликатов.

    • ERRORS - общее количество ошибок правил качества (без разделения).

    • ERRORS.SEVERITY.GREEN/YELLOW/RED - количество ошибок, сгруппированных по критичности (зелёная, жёлтая, красная).

    • ERRORS.CATEGORY. - количество ошибок, сгруппированных по категориям правил качества:

      • COMPLETENESS - полнота данных.

      • CONSISTENCY - консистентность и непротиворечивость.

      • ACCURACY - точность и правильность.

      • VALIDITY - соответствие формата.

      • AUDITABILITY - доступность для аудита (отслеживаемость изменений).

      • UNIQUENESS - уникальность (неповторяемость).

      • TIMELINESS - корректность относительно времени.

    • Также собирается статистика по пользовательским категориям правил, если они созданы.

Результат работы операции

После успешного выполнения в таблице postgres.org_unidata_mdm_timelog_core.records_statistic появляется новая запись, которая содержит все перечисленные выше метрики на момент запуска операции.