Check out what’s new from Firebase at Google I/O 2022. Learn more

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

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

Настраивать

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

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

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

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

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

Чтобы восстановить Firebase из резервной копии, сначала загрузите файл из облачного хранилища на локальный диск. Это можно сделать, щелкнув имя файла в разделе операций резервного копирования или в интерфейсе корзины 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, введите команду командной строки, используя двоичный файл gunzip , который по умолчанию поставляется для OS-X и большинства дистрибутивов Linux.

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

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

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

Расходы

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