Обновление схемы данных через box.schema.upgrade() | Tdb
Руководство по установке и обновлению Обновление схемы данных через box.schema.upgrade()

Обновление схемы данных через box.schema.upgrade()

В некоторых новых версиях Tarantool DB добавляются изменения в системных спейсах, которые нужны для новой функциональности. При обновлении на такую версию Tarantool DB новой версии будет корректно работать со старой схемой БД, но появится предупреждение о необходимости обновить схему.

Обновить схему данных можно через утилиту tt CLI с помощью команды tt replicaset upgrade.

При выполнении tt replicaset upgrade:

  1. На мастер-узлах будет вызван метод box.schema.upgrade(). Метод box.schema.upgrade() обновляет системные спейсы и делает схему полностью совместимой с новой версией. Это финальный шаг при обновлении на новую версию Tarantool DB, в дальнейшем откат на старую версию будет возможен только с понижением версии схемы.

  2. На мастер-узлах выполняется снимок данных через box.snapshot().

  3. После этого tt ждет, пока каждая реплика применит все транзакции, созданные при выполнении box.schema.upgrade() на мастер-узле. Синхронизация обеспечивается путем мониторинга векторных часов (vclock). Когда реплика синхронизируется, перед перезапуском кластера на каждом экземпляре в наборе реплик выполняется снимок данных.

Команду нужно вызвать на каждом наборе реплик в кластере:

tt replicaset upgrade client:secret@127.0.0.1:3301

Подробный пример обновления схемы через tt CLI приведен в соответствующем разделе документации.

Found what you were looking for?
Feedback