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

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

Настраивать

  1. В консоли Firebase перейдите в раздел «Базы данных и хранилище» > «База данных реального времени» .

  2. На вкладке «Резервное копирование» используйте встроенный в консоль рабочий процесс для настройки автоматического резервного копирования.

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

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

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

Restoring from backups

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

У вас есть два варианта импорта данных:

  • Option 1 : Use the Firebase console.

    1. Перейдите в раздел «Базы данных и хранилище» > «База данных реального времени» > вкладка «Данные» .

    2. Нажмите «Импорт JSON» и выберите JSON-файл с данными вашего приложения.

  • Вариант 2 : Отправьте CURL-запрос из командной строки.

    1. Получите секретный ключ из Firebase, который можно найти в разделе «Базы данных и хранилище» > «База данных реального времени» > вкладка «Настройки» .

    2. Введите в терминале следующую строку, заменив поля DATABASE_NAME и SECRET своими значениями:

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

If you are having trouble restoring a backup from a very large database, reach out to Firebase Support .

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

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

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

Файлы, передаваемые в ваш сегмент 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

Storage 30 day lifecycle

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

Расходы

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