Wiederherstellung zu einem bestimmten Zeitpunkt (PITR) – Übersicht

Die Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-time recovery, PITR) schützt vor versehentlichem Löschen oder Überschreiben. Bei PITR werden Versionen Ihrer Dokumente aus vergangenen Zeitstempeln beibehalten. Wenn ein Entwickler beispielsweise falsche Daten überträgt oder versehentlich Daten löscht oder überschreibt, können die Daten mit PITR zu einem bestimmten Zeitpunkt in der Vergangenheit (bis zu maximal 7 Tage) wiederhergestellt werden.

Bei jeder Live-Datenbank, die den Best Practices entspricht, wirkt sich die Verwendung von PITR nicht auf die Leistung von Lese- oder Schreibvorgängen aus.

PITR-Zeitraum

Nachdem Sie PITR aktiviert haben, beginnt Cloud Firestore mit der Aufbewahrung von PITR-Daten. PITR-Daten werden 7 Tage lang im PITR-Zeitfenster aufbewahrt.

Sie können Daten für einen Zeitstempel lesen, der auf dem Zeitpunkt basiert, zu dem PITR aktiviert wurde:

Status der Aktivierung der Wiederherstellung zu einem bestimmten Zeitpunkt Früheste verfügbare PITR-Daten
Deaktiviert 1 Stunde vor dem Zeitpunkt der Leseanfrage
innerhalb von 7 Tagen aktiviert 1 Stunde vor der Aktivierung von PITR
Vor mehr als 7 Tagen aktiviert 7 Tage vor dem Zeitpunkt der Leseanfrage

Im PITR-Zeitraum wird pro Minute eine einzelne Version beibehalten. Sie können Dokumente mit einer Zeitstempelangabe in ganzen Minuten lesen. Lesevorgänge, die nicht minutengenau sind, z. B. 2023-05-30 09:00:00.1234AM, geben einen Fehler zurück, dass read_time zu alt ist.

Bei mehreren Schreibvorgängen wird nur eine Version eines Dokuments beibehalten. Wenn ein Dokument beispielsweise mehrere Schreibvorgänge im Zeitstempelbereich von v1, v2, ... vk zwischen 2023-05-30 09:00:00AM (ausschließlich) und 2023-05-30 09:01:00AM (einschließlich) hatte, wird bei einer Leseanfrage mit dem Zeitstempel 2023-05-30 09:01:00AM die vk-Version des Dokuments zurückgegeben.

Sie können Daten lesen, die während des PITR-Zeitraums erstellt wurden. Die Daten werden mit einer Granularität von einer Minute gespeichert und können mit derselben Granularität wiederhergestellt werden. Die PITR-Funktion ist standardmäßig deaktiviert.

Im Feld earliestVersionTime Ihrer Datenbank wird die frühestmögliche Lesezeit für Ihre Daten angegeben.

Unabhängig davon, ob PITR aktiviert ist oder nicht, können Sie Dokumente mit einem beliebigen Zeitstempel mit Mikrosekunden-Granularität innerhalb der letzten Stunde lesen (aber nicht exportieren), jedoch nicht vor dem earliestVersionTime.

Möglichkeiten zur Datenwiederherstellung

Es gibt mehrere Möglichkeiten, Daten wiederherzustellen:

  • Zum Wiederherstellen eines Teils der Datenbank führen Sie einen Lesevorgang veralteter Daten aus, in dem eine Abfragebedingung oder eine direkte Schlüsselzuordnung zusammen mit einem Zeitstempel in der Vergangenheit angegeben ist, und schreiben die Ergebnisse dann wieder in die Live-Datenbank. Dies wird in der Regel für operative Vorgänge in einer Livedatenbank verwendet. Wenn Sie beispielsweise ein bestimmtes Dokument versehentlich löschen oder eine Teilmenge der Daten falsch aktualisieren, können Sie diese mit dieser Methode wiederherstellen. Eine Anleitung finden Sie unter Teil einer Datenbank wiederherstellen.

  • Wenn Sie die gesamte Datenbank wiederherstellen möchten, haben Sie folgende Möglichkeiten:

    • Klonen Sie die Datenbank, um eine Kopie der Datenbank zu einem bestimmten Zeitstempel zu erstellen.

    • Exportieren Sie die Datenbank, indem Sie einen Zeitstempel in der Vergangenheit angeben, und importieren Sie sie dann in eine neue Datenbank. Der PITR-Exportvorgang unterstützt alle Filter, einschließlich des Exports aller Dokumente und des Exports bestimmter Sammlungen.

    Sie können PITR-Daten klonen oder exportieren, deren Zeitstempel ein Zeitstempel in ganzen Minuten innerhalb der letzten sieben Tage ist, aber nicht früher als earliestVersionTime.

Preise

Beachten Sie die folgenden Preisinformationen, bevor Sie die Wiederherstellung zu einem bestimmten Zeitpunkt für Ihre Datenbank aktivieren:

  • Speicher: Cloud Firestore misst die Datenbankgröße täglich. Über den Zeitraum eines Monats werden diese Stichprobenpunkte gemittelt, um die Speichergröße der Datenbank zu berechnen. Dieser Durchschnittswert wird mit dem Stückpreis von PITR (GB-Monat) multipliziert. Weitere Informationen finden Sie unter Speicherpreise.

    Für den PITR-Speicher gibt es kein kostenloses Kontingent. Die Abrechnung muss aktiviert sein, wenn Sie PITR verwenden möchten.

  • Abrechnung für Compute: Für alle Abfragen, die Sie während des PITR-Zeitraums von 7 Tagen entweder über veraltete Lesevorgänge oder Exporte ausführen, fallen Kosten für Lesevorgänge an, die auf der Anzahl der gelesenen Dokumente basieren. Weitere Informationen finden Sie unter Preise.

  • Mindestabrechnung: Ihnen werden möglicherweise bis zu einem Tag PITR-Speicherkosten in Rechnung gestellt, auch wenn Sie PITR innerhalb eines Tages nach der Aktivierung deaktivieren.

Nächste Schritte