Настройка параметров версионирования¶
Версионирование выключено по умолчанию, чтобы улучшить
производительность TDG.
Чтобы включить версионирование в конфигурации системы, укажите опцию versioning
в файле config.yml.
Пример. Воспользуйтесь типом объекта Country
из примера модели данных и
настройте для него версионирование.
Для этого откройте файл config.yml и в блоке versioning
укажите следующее:
versioning:
- type: Country
enabled: true
После этого версионирование для Country
будет включено.
Примечание
При включении версионирования старая история версий будет удалена.
Вы также можете настроить следующие параметры, относящиеся к версионированию:
keep_version_count– количество хранимых версий. По умолчанию:
5
. Минимальное значение:1
. Если вы не хотите ограничивать количество хранимых версий, удалите этот параметр. Если параметр задан, старые версии будут удаляться. Только новые версии, количество которых меньше или равно заданному значению параметра, будут сохранены. Каждый раз, когда добавляется новая версия, система проводит проверку и удаляет старые версии при необходимостиdelay_sec – интервал в секундах, через который запускается новая проверка устаревших объектов. Найденные устаревшие объекты удаляются. Минимальное значение:
1
lifetime_hours – время жизни версии в часах, также может быть задано в днях (lifetime_days) или годах (lifetime_years). По умолчанию не задано, поэтому версии хранятся неограниченное время. Минимальное значение:
1
. Если параметр задан, версии, существующие дольше заданного значения параметра, будут удалены.strategy – стратегия удаления предыдущих версий из хранилища (архивирование). Вы можете определить стратегию на постоянное удаление версий (permanent), вывод в файл (dir) или холодное хранение (cold_storage). По умолчанию: permanent.
Если параметр strategy задан на вывод в файл или хранение на диске, необходимо указать schedule – расписание запуска задачи на архивацию в формате cron с поддержкой секунд. При выводе в файл также необходимо указать максимальный размер файла, используя параметр file_size_threshold.
Примечание
Когда включена стратегия
cold_storage
, данные сохраняются в спейсе на vinyl. Получить доступ к таким данным можно только вручную, с помощью запросов space_object:select().
Полная информация о параметрах versioning
приведена в справочнике по конфигурации.
Пример
Задайте параметры версионирования для типов объектов Country
и City
из
примера модели данных.
Country
: хранить 7 версий, ограничить время жизни 4 часами, запускать проверку через 1 секунду, использовать холодное хранение (хранить на диске).
City
: хранить 3 версии, ограничить время жизни 2 днями, запускать проверку через 1 секунду, архивировать версии в файл.versioning: - type: Country enabled: true keep_version_count: 7 lifetime_hours: 4 delay_sec: 1 strategy: cold_storage schedule: "0 0 0 */1" - type: City enabled: true keep_version_count: 3 lifetime_days: 2 delay_sec: 1 strategy: file schedule: "0 0 0 */1 * *" dir: "/var/data" file_size_threshold: 100001
Включить версионирование и задать эти параметры также можно в веб-интерфейсе во вкладке Data types. Если значение параметра lifetime_hours составляет больше 24 часов, система автоматически пересчитает значение в соответствующее количество дней, месяцев или лет.