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

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

Настраивать

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

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

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

После настройки для вас будет создан новый сегмент Cloud Storage с разрешением WRITER для Firebase. Вам не следует хранить данные в этом сегменте, к которым у Firebase нет доступа. Firebase не будет иметь дополнительного доступа к другим вашим сегментам облачного хранилища или любым другим областям 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-дневный жизненный цикл хранения , чтобы сократить расходы на хранение.