Резервное копирование и восстановление

YDB изначально спроектирована для сохранности данных при отказах оборудования: доступны варианты избыточности для разного числа зон доступности, стоек, хостов, дисков и других компонентов (см. режимы работы кластера). Это снижает риск потери данных из‑за аппаратных сбоев.

Однако данные могут быть утрачены или испорчены логически: ошибки или злоумышленные действия могут привести к массовому удалению/искажению данных легитимными для СУБД операциями. В таких случаях отказоустойчивость кластера не заменяет отдельную копию данных вне кластера.

Резервное копирование применяется для защиты от таких сценариев и позволяет восстановить данные из резервной копии. Рекомендуется хранить копии на отдельном носителе или в облачном объектном хранилище (например, через выгрузку в файлы или export в S3).

YDB предоставляет несколько решений для выполнения резервного копирования и восстановления. Концептуальную информацию и сравнение методов резервного копирования см. в концепциях резервного копирования.

  • Резервное копирование в файлы и восстановление с помощью YDB CLI.
  • Резервное копирование в S3-совместимое хранилище и восстановление с помощью YDB CLI.
  • Резервное копирование системных таблеток на локальную файловую систему хостов кластера.

YDB CLI

Файлы

Для выполнения резервного копирования в файлы применяются команды:

  • ydb admin cluster dump — для резервного копирования метаданных кластера
  • ydb admin database dump — для резервного копирования базы данных
  • ydb tools dump — для резервного копирования отдельных схемных объектов или директорий

Узнать больше об этих командах можно в Выгрузка в файловую систему.

Для выполнения восстановления из файловой резервной копии применяются команды:

  • ydb admin cluster restore — для восстановления метаданных кластера из резервной копии
  • ydb admin database restore — для восстановления базы данных из резервной копии
  • ydb tools restore — для восстановления отдельных схемных объектов или директорий из резервной копии

Узнать больше об этих командах можно в Загрузка из файловой системы.

S3-совместимое хранилище

Для выполнения резервного копирования в S3-совместимое хранилище (например, AWS S3) применяется команда ydb export s3. Перейдите по ссылке в справочник по YDB CLI для получения информации о данной команде.

Для выполнения восстановления из резервной копии, созданной в S3-совместимом хранилище, применяется команда ydb import s3. Перейдите по ссылке в справочник по YDB CLI для получения информации о данной команде.

NFS

Для выполнения резервного копирования в NFS на хостах, где запущена YDB, применяется команда ydb export nfs. Перейдите по ссылке в справочник по YDB CLI для получения информации о данной команде.

Для выполнения восстановления из резервной копии, созданной в NFS на хостах, где запущена YDB, применяется команда ydb import nfs. Перейдите по ссылке в справочник по YDB CLI для получения информации о данной команде.

Подробнее про настройку NFS для резервного копирования и восстановления см. рецепт Резервное копирование и восстановление через NFS.

Примечание

Скорость операций резервного копирования и восстановления в/из S3-совместимого хранилища или NFS подобрана таким образом, чтобы минимизировать влияние на пользовательскую нагрузку. Для управления скоростью операций настройте лимиты для соответствующей очереди брокера ресурсов.

Примечание

При выполнении выгрузки в корневом каталоге базы данных создается директория с именем export_*, где * — это числовая часть идентификатора выгрузки. В данной директории размещаются таблицы, содержащие консистентный снапшот выгружаемых данных на момент начала выгрузки. После успешного завершения операции резервного копирования директория export_* вместе с содержимым удаляется.

Коллекции резервных копий

Коллекции резервных копий обеспечивают инкрементальное резервное копирование и восстановление на момент времени для производственных нагрузок. Концептуальную информацию и детали архитектуры см. в Коллекциях резервных копий.

Коллекции резервных копий рекомендуются для производственных сред с регулярным расписанием резервного копирования и больших наборов данных, где инкрементальные изменения значительно меньше общего объёма. Для более простых сценариев (разовые миграции, среды разработки, небольшие базы данных) рассмотрите использование export/import или dump/restore.

Пошаговые инструкции по настройке и использованию коллекций резервных копий см. в:

Резервное копирование системных таблеток

Механизм резервного копирования системных таблеток обеспечивает инкрементальное копирование метаданных кластера на локальную файловую систему хостов кластера.

Концептуальную информацию и принцип работы см. в Концепциях резервного копирования.

Пошаговые инструкции по включению и восстановлению см. в Рецептах для резервного копирования системных таблеток.