Резервное копирование и восстановление
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.
Пошаговые инструкции по настройке и использованию коллекций резервных копий см. в:
- Коллекциях резервных копий — архитектура, концепции и ограничения
- Рецептах для коллекций резервных копий — типовые сценарии и примеры
Резервное копирование системных таблеток
Механизм резервного копирования системных таблеток обеспечивает инкрементальное копирование метаданных кластера на локальную файловую систему хостов кластера.
Концептуальную информацию и принцип работы см. в Концепциях резервного копирования.
Пошаговые инструкции по включению и восстановлению см. в Рецептах для резервного копирования системных таблеток.