Конфигурация плановой очистки данных
В этом разделе описаны принципы работы системы плановой очистки данных и ее корректная настройка на уровне сервисов.
Система очистки отвечает за удаление устаревших данных и позволяет настраивать расписание очистки с помощью cron-выражений.
Точка управления системой — сервис baf-dashboard, а непосредственное удаление данных выполняют сервисы platform-backend и video-recorder.
platform-backend
Сервис отвечает за удаление устаревших фотографий попыток авторизации. Фотографии регистрационных попыток удаляются только при удалении соответствующего аппликанта.
Все параметры настройки очистки находятся в файле platform.values.yaml.
Расписание и параметры очистки
Процедура очистки запускается по расписанию, которое настраивается через переменные:
backend.planned_retention_policy_day_of_week- день недели (cron)backend.planned_retention_policy_hour- час (cron)backend.planned_retention_policy_minute- минута (cron)
В стандартных настройках период установлен на 59-й минуте каждого часа, то есть процедура выполняется раз в час.
Удаление данных выполняется пакетами для распределения нагрузки:
backend.delete_sample_batch_size- количество кадров, удаляемых за одну операциюbackend.delete_sample_batch_sleep- пауза в секундах между операциями удаления
Количество параллельных процессов очистки настраивается через backend.retention_process_count. Увеличение числа процессов позволяет параллельно выполнять очистку данных разных аккаунтов, при этом данные одного аккаунта всегда обрабатываются одним процессом.
Не устанавливайте delete_sample_batch_sleep больше 5 секунд — это напрямую влияет на длительность транзакций в системе. Для снижения нагрузки рекомендуется уменьшить размер пакета.
Режим обратной совместимости
При старте сервиса на чистой базе или на BAF версии 1-14-0 и старше процедура работает в режиме обратной совместимости.
В этом режиме удаляются фото попыток, созданные раньше значения backend.sample_ttl от времени запуска процедуры.
Процедура переходит в новый режим работы при открытии страницы настроек очистки в дашборде.
Режим работает для каждого аккаунта индивидуально — переход на новый режим в одном аккаунте не затрагивает другие аккаунты.
Режим плановой очистки
После перехода в режим плановой очистки процедура проверяет, нужно ли выполнять очистку в данный момент. Если плановое время не наступило или очистка отключена, процедура завершается без действий.
При выполнении условий запускается очистка данных от вычисленной из настроек очистки плановой даты.
В стандартных настройках физическое время начала удаления данных может быть сдвинуто до 1 часа, так как процедура выполняется раз в час.
video-recorder
Сервис отвечает за удаление устаревших видео-данных попыток.
Все параметры настройки очистки находятся в файле video-recorder.values.yaml.
Расписание и параметры очистки
Процедура запускается аналогично сервису platform-backend, но частота проверки настраивается через переменную:
video_recorder.retention_check_frequency- частота запуска процедуры проверки очистки в секундах (максимальный период - 1 час)
В стандартных настройках частота установлена на 3600 секунд, то есть очистка выполняется раз в час.
Удаление данных выполняется пакетами для распределения нагрузки:
video_recorder.retention_batch_size- количество записей, удаляемых за одну операциюvideo_recorder.retention_batch_pause- пауза в секундах между операциями удаления
Количество параллельных процессов очистки настраивается через video_recorder.retention_process_count.
Увеличение числа процессов ускоряет очистку данных по разным аккаунтам, при этом данные одного аккаунта всегда обрабатываются одним процессом.
Не устанавливайте video_recorder.retention_batch_pause больше 5 секунд — это напрямую влияет на длительность транзакций в системе. Для снижения нагрузки лучше уменьшить размер пакета.
Особенности работы с MinIO
S3-хранилище не удаляет данные сразу, а перемещает их в папку .trash, которая очищается один раз в minio.delete_cleanup_interval секунд.
Важно, чтобы объем данных, удаляемых video-recorder за этот период, не вызывал I/O шторм. При изменении размера пакета или длительности паузы необходимо соответствующим образом корректировать minio.delete_cleanup_interval.
Режим обратной совместимости
Сервис не имеет режима обратной совместимости. При обновлении BAF с версии 1-14-0 и старше очистка данных средствами MinIO отключается. До включения плановой очистки данные хранятся бесконечно.
Ошибочный контент все также удаляется средствами MinIO — данные старше minio.error_data_retention_days удаляются автоматически.
Режим плановой очистки
Логика работы плановой очистки аналогична сервису platform-backend. После перехода в этот режим процедура проверяет необходимость выполнения очистки. Если плановое время не наступило или очистка отключена, процедура завершается без действий. При выполнении условий запускается очистка данных от вычисленной плановой даты.
В стандартных настройках физическое время начала удаления данных может быть сдвинуто до 1 часа, так как процедура выполняется один раз в час.