Автоматическое резервное копирование

Пользователи плана Blaze могут настроить свою Firebase Realtime Database для автоматического резервного копирования — функцию самообслуживания, которая позволяет ежедневно выполнять резервное копирование данных и правил приложения базы данных в формате JSON в контейнер Cloud Storage .

Настраивать

Чтобы начать работу, перейдите на вкладку «Резервные копии» в разделе «База данных» консоли Firebase , и мастер поможет вам настроить автоматическое резервное копирование.

Чтобы сэкономить на хранении, мы по умолчанию включаем сжатие Gzip , и вы можете включить политику жизненного цикла в 30 дней для своего контейнера, чтобы резервные копии старше 30 дней автоматически удалялись.

Вы можете просматривать статус и активность резервного копирования непосредственно в консоли Firebase , где вы также можете запустить ручное резервное копирование. Это может быть полезно для создания определенных временных снимков или в качестве меры безопасности перед выполнением любых изменений кода.

После настройки для вас будет создан новый контейнер Cloud Storage с разрешением WRITER для Firebase. Вам не следует хранить в этом контейнере данные, к которым Firebase не имеет доступа. У Firebase не будет дополнительного доступа к другим контейнерам Cloud Storage или любым другим областям Google Cloud .

Восстановление из резервных копий

Чтобы восстановить Firebase из резервной копии, сначала загрузите файл из Cloud Storage на локальный диск. Это можно сделать, щелкнув имя файла в разделе действий по резервному копированию или из интерфейса контейнера Cloud Storage . Если файл сжат Gzip, сначала распакуйте его.

Импортировать данные можно двумя способами:

Способ 1: Нажмите кнопку «Импорт JSON» в разделе «Данные» вашей базы данных и выберите JSON-файл данных вашего приложения.

Способ 2: Вы также можете выполнить запрос CURL из командной строки.

Сначала извлеките секрет из Firebase, который можно получить, посетив страницу настроек базы данных .

Затем введите в терминал следующее, заменив поля DATABASE_NAME и SECRET собственными значениями:

curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -X PUT -d @<DATABASE_NAME>.json

Если у вас возникли проблемы с восстановлением резервной копии очень большой базы данных, обратитесь в нашу службу поддержки .

Планирование

Резервное копирование вашей базы данных назначается на определенный час каждый день, что обеспечивает равномерную нагрузку и максимальную доступность для всех клиентов резервного копирования. Это запланированное резервное копирование будет выполняться независимо от того, делаете ли вы какие-либо ручные резервные копии в течение дня.

Именование файлов

Файлы, переданные в ваш контейнер Cloud Storage будут иметь временную метку (стандарт ISO 8601) и использовать следующие соглашения об именовании:

  • Данные базы данных: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • Правила базы данных: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

Если включен Gzip , к именам файлов будет добавлен суффикс .gz . Вы можете легко найти резервные копии с определенной даты или времени, используя поиск по префиксу Cloud Storage .

Сжатие Gzip

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

Чтобы распаковать сжатые Gzip-файлы JSON, выполните команду командной строки, используя двоичный файл gunzip , который поставляется по умолчанию для OS-X и большинства дистрибутивов Linux.

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

Жизненный цикл хранения 30 дней

Мы предлагаем простой в использовании переключатель конфигурации, который включает политику жизненного цикла объекта по умолчанию в 30 дней для вашего контейнера Cloud Storage . При включении, файлы в вашем контейнере будут автоматически удаляться через 30 дней. Это помогает сократить нежелательные старые резервные копии, экономя ваши расходы на хранение и поддерживая чистоту каталога контейнера. Если вы поместите другие файлы в контейнер Automated Backups, они также будут удалены с той же политикой.

Расходы

Функция резервного копирования может быть включена для проектов на плане Blaze без дополнительных затрат. Однако с вас будет взиматься стандартная плата за файлы резервного копирования, размещенные в вашем контейнере Cloud Storage . Вы можете включить сжатие Gzip и 30-дневный жизненный цикл хранения , чтобы сократить расходы на хранение.