Vertica поддерживает создание и восстановление из бекапов без остановки базы данных.
Для начала необходимо создать конфигурационный файл бекапа:
[Misc] snapshotName = backup_snapshot restorePointLimit = 1 objects = test objectRestoreMode = createOrReplace [Database] dbName = data dbUser = dbadmin [Transmission] [Mapping] v_data_node0001 = 10.10.0.2:/var/storage/test
# сохраним этот файл в backup.ini
Тут мы описали правила для создания бекапа таблицы test
из базы данных data
. Для того, чтобы процесс заработал, необходимо иметь сервер для загрузки бекапа (в примере — сервер 10.10.0.2
) по протоколу ssh. Для этого достаточно настроить SSH доступ по ключу для пользователя dbadmin
на сервер 10.10.0.2
.
Такой же файл настроек можно сгенерить автоматически с помощью помощника:
/opt/vertica/bin/vbr --setupconfig
После этого можно запускать скрипт создания бекапа:
/opt/vertica/bin/vbr.py --task backup --config-file backup.ini
# Запускаем процесс создания бекапа
Вывод будет похожим на такой:
Preparing... Copying... [==================================================] 100% All child processes terminated successfully. Committing changes on all backup sites... backup done!
# Успешно завершенный бекап
Как только бекап готов, мы можем в любой момент времени восстановиться из него:
/opt/vertica/bin/vbr --task restore --config-file backup.ini
# для восстановления указываем тот же файл конфигурации, что и при создании бекапа
В результате увидим что-то похожее:
Copying... 1871652633 out of 1871652633, 100% All child processes terminated successfully. restore done!
# Данные восстановлены из бекапа
Альтернативой встроенным бекапам может стать экспорт в CSV:
/opt/vertica/bin/vsql -U dbadmin -F ',' -P footer=off -A -c 'SELECT * from test' | gzip -f > /tmp/test.csv.gz
# Экспорт данных в CSV
Не забудьте сохранить структуру таблицы на случай, если сервер будет потерян безвозвратно. И учтите, что такой процесс будет очень медленным для крупных таблиц.
Для импорта данных обратно в таблицу стоит воспользоваться операцией COPY:
COPY test FROM '/tmp/test.csv.gz' GZIP DELIMITER ',' TRAILING NULLCOLS
# Импорт данных из бекапа в таблицу
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…