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

Пользователи плана 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, чтобы сэкономить затраты на хранение и сократить время передачи. Сжатый размер файла варьируется в зависимости от характеристик данных вашей базы данных, но типичные базы данных могут уменьшаться до ⅓ исходного размера, что позволяет сэкономить на расходах на хранение и сократить время загрузки резервных копий.

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

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

Хранение 30-дневный жизненный цикл

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

Затраты

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