Управление версиями данных в TDG¶
Управление версиями данных (версионирование) – это возможность сохранять, извлекать и восстанавливать разные версии объектов, а также отслеживать когда и какие изменения в них были внесены.
В TDG для управления версиями используется параметр versioning
, который задается в
файле конфигурации config.yml.
Когда параметр включен, в определенные моменты времени для всех созданных или модифицированных объектов сохраняются новые версии.
Например, у нас есть модель данных и тип объекта Country
, для которого
включено версионирование. Спейс, где хранятся объекты данного типа, имеет первичный ключ. Если
выполняется операция по сохранению в спейс нового объекта с таким же значением первичного ключа, то
новый объект не заменит предыдущий, а будет сохранен как новый кортеж, но с уникальным значением timestamp
,
которое фиксируется каждый раз при сохранении объекта. Это время является идентификатором версии объекта и
также сохраняется в кортеже, в котором хранится информация об объекте.
Сочетание первичного ключа и уникального времени сохранения объекта позволяет иметь несколько версий одного и того же объекта. Это может быть полезно, если необходимо хранить историю изменения параметров объекта.
По умолчанию на хранение версий установлено ограничение – не более пяти версий для одного объекта, но вы можете выставить другое значение в config.yml.
Note
Старайтесь ограничивать количество хранимых версий, чтобы сохранять высокую производительность TDG.