Wiederherstellung zu einem bestimmten Zeitpunkt (PITR) – Übersicht

Die Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-time Recovery, PITR) in Firestore bietet Schutz vor versehentlichem Löschen oder Schreiben. Bei der Wiederherstellung zu einem bestimmten Zeitpunkt werden Versionen Ihrer Dokumente aus früheren Zeitstempeln aufbewahrt. Wenn ein Entwickler beispielsweise falsche Daten pusht oder versehentlich Daten löscht oder schreibt, können Sie mit PITR die Daten nahtlos zu einem früheren Zeitpunkt (bis zu sieben Tage) wiederherstellen.

Bei Live-Datenbanken, die den Best Practices entsprechen, hat die Verwendung von PITR keine Auswirkungen auf die Leistung von Lese- oder Schreibvorgängen.

PITR-Fenster

Nachdem Sie die PITR-Wiederherstellung aktiviert haben, werden in Firestore PITR-Daten aufbewahrt. PITR-Daten werden im PITR-Fenster sieben Tage lang aufbewahrt.

Sie können Daten für einen Zeitstempel lesen, der auf die Aktivierung von PITR zurückzuführen ist:

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 Aktivierung der PITR
vor mehr als 7 Tagen aktiviert wurde 7 Tage vor dem Zeitpunkt der Leseanfrage

Im PITR-Fenster wird eine einzelne Version pro Minute aufbewahrt. Sie können Dokumente mit einer Minutengenauigkeit lesen, indem Sie einen Zeitstempel für eine ganze Minute verwenden. Bei Lesevorgängen, die nicht auf die Minute genau sind, z.B. 2023-05-30 09:00:00.1234AM, wird der Fehler „read_time ist zu alt“ zurückgegeben.

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

Sie können die Daten lesen, die während des PITR-Zeitfensters erstellt wurden. Die Daten werden mit einer Minutenauflösung gespeichert und Sie können sie mit derselben Auflösung wiederherstellen. Die Firestore-PITR-Funktion ist standardmäßig deaktiviert.

Das Feld earliestVersionTime Ihrer Datenbank gibt den frühesten zulässigen Lesezeitpunkt für Ihre Daten an.

Unabhängig davon, ob PITR aktiviert ist oder nicht, können Sie Dokumente mit einem Zeitstempel mit Mikrosekundengenauigkeit innerhalb der letzten Stunde lesen (aber nicht exportieren), jedoch nicht vor dem Zeitstempel der ältesten Version.

Möglichkeiten zur Datenwiederherstellung

Es gibt zwei Möglichkeiten, Daten wiederherzustellen:

  • Wenn Sie einen Teil der Datenbank wiederherstellen möchten, führen Sie einen veralteten Lesevorgang aus, in dem eine Abfragebedingung oder eine direkte Schlüsselsuche mit einem Zeitstempel in der Vergangenheit angegeben ist, und schreiben Sie 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, 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 Exportes aller Dokumente und des Exportes bestimmter Sammlungen. Sie können PITR-Daten exportieren, deren Zeitstempel auf eine volle Minute innerhalb der letzten sieben Tage verweist, jedoch nicht älter als die earliestVersionTime ist.

Preise

Beachten Sie die folgenden Preisinformationen, bevor Sie die PITR-Sicherung für Ihre Datenbank aktivieren:

  • Speicherplatz: Firestore misst die Datenbankgröße täglich. Über einen Monat hinweg werden diese Stichprobenpunkte zum Mittelwert zusammengefasst, um die Speichergröße der Datenbank zu berechnen. Dieser Durchschnittswert wird mit dem Stückpreis des PITR (GB/Monat) multipliziert. Weitere Informationen finden Sie unter Speicherpreise.

    Für PITR-Speicher gibt es keine kostenlose Stufe. Wenn Sie PITR verwenden möchten, muss die Abrechnung aktiviert sein.

  • Abrechnung der Rechenleistung: Alle Abfragen, die Sie während des PITR-Zeitraums von sieben Tagen ausführen, entweder durch veraltete Lesevorgänge oder Exporte, verursachen Kosten für Lesevorgänge, die auf der Anzahl der gelesenen Dokumente basieren. Weitere Informationen finden Sie unter Preise.

  • Mindestabrechnung: Ihnen werden möglicherweise die Speicherkosten für einen Tag in Rechnung gestellt, auch wenn Sie die PITR-Speicherung innerhalb eines Tages nach der Aktivierung deaktivieren.

Nächste Schritte