Перейти к основному содержимому

BACKUP

Создает резервную копию данных в указанной базе данных, таблице или разделе. В настоящее время Selena поддерживает только резервное копирование данных в OLAP таблицах.

подсказка

Для обзора резервного копирования и восстановления см. руководство по резервному копированию и восстановлению.

BACKUP — это асинхронная операция. Вы можете проверить статус задания BACKUP с помощью SHOW BACKUP или отменить задание BACKUP с помощью CANCEL BACKUP. Информацию о снимках можно просмотреть с помощью SHOW SNAPSHOT.

ВНИМАНИЕ

  • Только пользователи с привилегией ADMIN могут создавать резервные копии данных.
  • В каждой базе данных одновременно может выполняться только одно задание BACKUP или RESTORE. В противном случае Selena возвращает ошибку.
  • Selena не поддерживает указание алгоритма сжатия данных для резервного копирования.

Синтаксис

BACKUP SNAPSHOT <db_name>.<snapshot_name>
TO <repository_name>
[ ON ( <table_name> [ PARTITION ( <partition_name> [, ...] ) ]
[, ...] ) ]
[ PROPERTIES ("key"="value" [, ...] ) ]

Параметры

ПараметрОписание
db_nameИмя базы данных, содержащей данные для резервного копирования.
snapshot_nameУкажите имя для снимка данных. Глобально уникальное.
repository_nameИмя репозитория. Вы можете создать репозиторий с помощью CREATE REPOSITORY.
ONИмя таблиц для резервного копирования. Если этот параметр не указан, резервная копия создается для всей базы данных.
PARTITIONИмя разделов для резервного копирования. Если этот параметр не указан, резервная копия создается для всей таблицы.
PROPERTIESСвойства снимка данных. Допустимые ключи:type: Тип резервного копирования. В настоящее время поддерживается только полное резервное копирование FULL. По умолчанию: FULL.timeout: Тайм-аут задачи. Единица: секунда. По умолчанию: 86400.

Примеры

Пример 1: Создание резервной копии базы данных example_db в репозитории example_repo.

BACKUP SNAPSHOT example_db.snapshot_label1
TO example_repo
PROPERTIES ("type" = "full");

Пример 2: Создание резервной копии таблицы example_tbl в example_db в example_repo.

BACKUP SNAPSHOT example_db.snapshot_label2
TO example_repo
ON (example_tbl);

Пример 3: Создание резервной копии разделов p1 и p2 таблицы example_tbl и таблицы example_tbl2 в example_db в example_repo.

BACKUP SNAPSHOT example_db.snapshot_label3
TO example_repo
ON(
example_tbl PARTITION (p1, p2),
example_tbl2
);

Примечания по использованию

  • Выполнение операций резервного копирования и восстановления на глобальном уровне, уровне базы данных, таблицы и раздела требует различных привилегий.
  • В каждой базе данных одновременно может выполняться только одно задание BACKUP или RESTORE. В противном случае Selena возвращает ошибку.
  • Поскольку задания BACKUP и RESTORE занимают много ресурсов кластера Selena, рекомендуется выполнять резервное копирование и восстановление данных при низкой нагрузке на кластер.
  • Selena не поддерживает указание алгоритмов сжатия данных для резервного копирования.
  • Поскольку данные сохраняются в виде снимков, данные, загруженные после создания снимка, не включаются в снимок. Поэтому, если вы загружаете данные в старый кластер после создания снимка и до завершения задания RESTORE, вам также необходимо загрузить данные в кластер, в который восстанавливаются данные. Рекомендуется загружать данные в оба кластера параллельно в течение некоторого времени после завершения миграции данных, а затем перенести приложение в новый кластер после проверки корректности данных и сервисов.
  • До завершения задания RESTORE нельзя выполнять операции с восстанавливаемой таблицей.
  • Таблицы Primary Key нельзя восстановить в кластер Selena версии ранее v2.5.
  • Вам не нужно создавать восстанавливаемую таблицу в новом кластере перед восстановлением. Задание RESTORE автоматически создает ее.
  • Если существует таблица с именем, дублирующим имя восстанавливаемой таблицы, Selena сначала проверяет, соответствует ли схема существующей таблицы схеме восстанавливаемой таблицы. Если схемы совпадают, Selena перезаписывает существующую таблицу данными из снимка. Если схема не совпадает, задание RESTORE завершается неудачей. Вы можете либо переименовать восстанавливаемую таблицу с помощью ключевого слова AS, либо удалить существующую таблицу перед восстановлением данных.
  • Если задание RESTORE перезаписывает существующую базу данных, таблицу или раздел, перезаписанные данные нельзя восстановить после того, как задание переходит в фазу COMMIT. Если задание RESTORE завершается неудачей или отменяется в этот момент, данные могут быть повреждены и недоступны. В этом случае можно только снова выполнить операцию RESTORE и дождаться завершения задания. Поэтому рекомендуется не восстанавливать данные путем перезаписи, если вы не уверены, что текущие данные больше не используются. Операция перезаписи сначала проверяет согласованность метаданных между снимком и существующей базой данных, таблицей или разделом. Если обнаружена несогласованность, операция RESTORE не может быть выполнена.
  • В настоящее время Selena не поддерживает резервное копирование и восстановление логических представлений.
  • В настоящее время Selena не поддерживает резервное копирование и восстановление конфигурационных данных, связанных с учетными записями пользователей, привилегиями и группами ресурсов.
  • В настоящее время Selena не поддерживает резервное копирование и восстановление отношений Colocate Join между таблицами.