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

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