Automatisierte Sicherungen

Nutzer des Blaze-Tarifs können ihre Firebase Realtime Database für automatische Sicherungen einrichten. Mit dieser Self-Service-Funktion werden täglich Sicherungen der Daten Ihrer Datenbankanwendung und der Security Rules im JSON-Format in einem Cloud Storage-Bucket erstellt.

Einrichtung

  1. Rufen Sie in der Firebase-Konsole Datenbanken und Speicher > Realtime Database auf.

  2. Richten Sie auf dem Tab Sicherungen über den Workflow in der Console Ihre automatischen Sicherungen ein.

Um Speicherkosten zu sparen, aktivieren wir standardmäßig die Gzip-Komprimierung. Sie können eine 30-tägige Lebenszyklusrichtlinie für Ihren Bucket aktivieren, damit Sicherungen, die älter als 30 Tage sind, automatisch gelöscht werden.

Sie können den Status und die Sicherungsaktivität direkt in der Firebase-Konsole einsehen, wo Sie auch eine manuelle Sicherung starten können. Das kann nützlich sein, um bestimmte zeitgesteuerte Snapshots zu erstellen oder als Sicherheitsmaßnahme, bevor Sie Codeänderungen vornehmen.

Nach der Einrichtung wird ein neuer Cloud Storage-Bucket mit der WRITER-Berechtigung für Firebase erstellt. Sie sollten in diesem Bucket keine Daten speichern, auf die Firebase keinen Zugriff haben soll. Firebase hat keinen zusätzlichen Zugriff auf Ihre anderen Cloud Storage-Buckets oder andere Bereiche von Google Cloud.

Daten aus Sicherungen wiederherstellen

Wenn Sie Firebase aus einer Sicherung wiederherstellen möchten, laden Sie zuerst die Datei von Cloud Storage auf Ihr lokales Laufwerk herunter. Klicken Sie dazu im Bereich „Sicherungsaktivität“ auf den Dateinamen oder rufen Sie die Cloud Storage-Bucket-Oberfläche auf. Wenn die Datei mit GZIP komprimiert ist, müssen Sie sie zuerst dekomprimieren.

Sie haben zwei Möglichkeiten, Ihre Daten zu importieren:

  • Option 1: Verwenden Sie die Firebase Console.

    1. Rufen Sie den Tab Datenbanken und Speicher > Realtime Database > Daten auf.

    2. Klicken Sie auf JSON importieren und wählen Sie die JSON-Datei mit den Anwendungsdaten aus.

  • Option 2: Senden Sie eine CURL-Anfrage über die Befehlszeile.

    1. Rufen Sie ein Secret aus Firebase ab, das Sie unter Datenbanken und Speicher > Realtime Database > Tab Einstellungen finden.

    2. Geben Sie Folgendes in Ihr Terminal ein und ersetzen Sie die Felder DATABASE_NAME und SECRET durch Ihre eigenen Werte:

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

Wenn Sie Probleme beim Wiederherstellen einer Sicherung einer sehr großen Datenbank haben, wenden Sie sich an den Firebase-Support.

Wird geplant

Ihre Datenbanksicherung wird jeden Tag einer bestimmten Stunde zugewiesen, um eine gleichmäßige Last und höchste Verfügbarkeit für alle Sicherungskunden zu gewährleisten. Diese geplante Sicherung wird unabhängig davon durchgeführt, ob Sie im Laufe des Tages manuelle Sicherungen erstellen.

Dateibenennung

Dateien, die in Ihren Cloud Storage-Bucket übertragen werden, erhalten einen Zeitstempel (ISO 8601-Standard) und verwenden die folgenden Namenskonventionen:

  • Datenbankdaten: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • Datenbankregeln: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

Wenn Gzip aktiviert ist, wird den Dateinamen das Suffix .gz angehängt. Mit der Präfixsuche Cloud Storage können Sie die Sicherungen von einem bestimmten Datum oder einer bestimmten Uhrzeit ganz einfach finden.

gzip-Komprimierung

Standardmäßig werden Ihre Sicherungsdateien mit der Gzip-Komprimierung komprimiert, um Speicherkosten zu sparen und die Übertragungszeiten zu verkürzen. Die komprimierte Dateigröße variiert je nach den Datenmerkmalen Ihrer Datenbank. Typische Datenbanken können jedoch auf ein Drittel ihrer ursprünglichen Größe schrumpfen, was Speicherkosten spart und die Uploadzeit für Ihre Sicherungen verkürzt.

Wenn Sie Ihre mit Gzip komprimierten JSON-Dateien dekomprimieren möchten, geben Sie einen Befehlszeilenbefehl mit der Binärdatei gunzip ein, die standardmäßig für OS-X und die meisten Linux-Distributionen bereitgestellt wird.

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

30-tägiger Lebenszyklus für Storage

Wir bieten einen einfach zu verwendenden Konfigurationsschalter, mit dem Sie eine standardmäßige 30-tägige Objektlebenszyklus-Richtlinie für Ihren Cloud Storage-Bucket aktivieren können. Wenn diese Option aktiviert ist, werden Dateien in Ihrem Bucket nach 30 Tagen automatisch gelöscht. So können Sie unerwünschte alte Sicherungen reduzieren, Speicherkosten sparen und Ihr Bucket-Verzeichnis sauber halten. Wenn Sie andere Dateien in Ihren Bucket für automatische Sicherungen legen, werden diese ebenfalls gemäß derselben Richtlinie gelöscht.

Kosten

Die Sicherungsfunktion kann für Projekte im Blaze-Tarif ohne zusätzliche Kosten aktiviert werden. Für die Sicherungsdateien, die in Ihrem Cloud Storage-Bucket abgelegt werden, werden Ihnen jedoch die Standardtarife in Rechnung gestellt. Sie können die gzip-Komprimierung und den 30-tägigen Speicherlebenszyklus aktivieren, um Ihre Speicherkosten zu senken.