Wiederherstellung zu einem bestimmten Zeitpunkt – Übersicht
Firestore bietet die Wiederherstellung zu einem bestimmten Zeitpunkt (Point-In-Time Recovery, PITR) Schutz vor versehentlichem Löschen oder Schreiben. PITR speichert Versionen Ihrer Dokumente aus vergangenen Zeitstempeln. Wenn ein Entwickler beispielsweise falsche Daten überträgt oder versehentlich gelöscht oder geschrieben hat, kann die Wiederherstellung der Daten zu einem Zeitpunkt in der Vergangenheit (bis zu 7 Tage) nahtlos erfolgen.
Bei Live-Datenbanken, die den Best Practices entsprechen, wirkt sich die Verwendung von PITR nicht auf die Leistung von Lese- oder Schreibvorgängen aus.
PITR-Fenster
Nachdem Sie PITR aktiviert haben, speichert Firestore PITR-Daten. PITR-Daten werden im PITR-Fenster 7 Tage lang aufbewahrt.
Sie können Daten für einen Zeitstempel lesen, der darauf basiert, wann die Wiederherstellung zu einem bestimmten Zeitpunkt aktiviert wurde:
Aktivierungsstatus der PITR | Früheste verfügbare PITR-Daten | |
---|---|---|
Deaktiviert | 1 Stunde vor der Zeit der Leseanfrage | |
innerhalb von 7 Tagen aktiviert | 1 Stunde, bevor die Wiederherstellung zu einem bestimmten Zeitpunkt aktiviert wurde | |
vor mehr als 7 Tagen aktiviert | 7 Tage vor dem Zeitpunkt der Leseanfrage |
Eine einzelne Version pro Minute wird im PITR-Fenster beibehalten. Sie können Dokumente minutengenau anhand des Zeitstempels einer ganzen Minute lesen. Für Lesevorgänge mit geringerem Detaillierungsgrad (z.B. 2023-05-30 09:00:00.1234AM
) wird der Fehler zurückgegeben, dass „read_time“ zu alt ist.
Bei mehreren Schreibvorgängen wird nur eine Version eines Dokuments beibehalten. Wenn ein Dokument beispielsweise mehrere Schreibvorgänge hatte, die von v1, v2, ... vk
zwischen dem Zeitstempel 2023-05-30 09:00:00AM
(exklusiv) und 2023-05-30 09:01:00AM
(einschließlich) reichen, gibt eine Leseanfrage beim Zeitstempel 2023-05-30 09:01:00AM
die vk
-Version des Dokuments zurück.
Sie können aus den Daten lesen, die während des PITR-Fensters erstellt wurden. Die Daten werden mit einem minutengenauen Detaillierungsgrad gespeichert und Sie können sie mit demselben Detaillierungsgrad wiederherstellen. Die Firestore-Funktion „PITR“ ist standardmäßig deaktiviert.
Im Feld earliestVersionTime der Datenbank wird die früheste zulässige Lesezeit für Ihre Daten angegeben.
Unabhängig davon, ob die Wiederherstellung zu einem bestimmten Zeitpunkt aktiviert ist oder nicht, können Sie Dokumente mit jedem Zeitstempel mit Mikrosekunden-Detaillierungsgrad in der letzten Stunde lesen (aber nicht exportieren), jedoch nicht vor der frühesten Versionszeit.
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, bei dem eine Abfragebedingung angegeben wird, oder verwenden Sie die direkte Schlüsselsuche mit einem Zeitstempel in der Vergangenheit. Schreiben Sie die Ergebnisse dann zurück in die Live-Datenbank. Dies wird normalerweise für chirurgische Operationen an einer Live-Datenbank verwendet. Wenn Sie beispielsweise ein bestimmtes Dokument versehentlich löschen oder eine Teilmenge von Daten falsch aktualisieren, können Sie sie mit dieser Methode wiederherstellen. Eine Anleitung dazu finden Sie unter Einen Teil der Datenbank wiederherstellen.
Zum Wiederherstellen der gesamten Datenbank exportieren Sie die Datenbank mit einem Zeitstempel in der Vergangenheit 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 exportieren, bei denen der Zeitstempel ein Zeitstempel für eine ganze Minute innerhalb der letzten sieben Tage, aber nicht vor der frühesten Versionszeit ist.
Preise
Berücksichtigen Sie die folgenden Preisinformationen, bevor Sie die PITR für Ihre Datenbank aktivieren:
Speicher: Firestore misst die Datenbankgröße täglich. Über den Zeitraum eines Monats werden diese Stichprobenpunkte gemittelt, um die Größe des Datenbankspeichers zu berechnen. Dieser Durchschnittswert wird mit dem Stückpreis von PTR (GB/Monat) multipliziert. Weitere Informationen finden Sie unter Speicherpreise.
Für den PITR-Speicher gibt es keine kostenlose Stufe und Sie müssen die Abrechnung aktivieren, wenn Sie PITR verwenden möchten.
Compute-Abrechnung: Für alle Abfragen, die Sie während des PITR-Fensters von 7 Tagen ausführen, entweder durch veraltete Lesevorgänge oder Exporte, fallen Kosten für Lesevorgänge an, abhängig von der Anzahl der gelesenen Dokumente. Weitere Informationen finden Sie unter pricing.
Mindestabrechnung: Ihnen können die PITR-Speicherkosten für bis zu 1 Tag in Rechnung gestellt werden, auch wenn Sie die PITR innerhalb eines Tages nach der Aktivierung deaktivieren.