Datenaufbewahrung mit Zeitreisen und Ausfallsicherheit
In diesem Dokument werden die Zeitreisen und die Fail-Safe-Datenaufbewahrung für Datasets beschrieben. Während der Zeitreise- und der Fail-Safe-Perioden werden Daten, die Sie in einer beliebigen Tabelle im Dataset geändert oder gelöscht haben, weiterhin gespeichert, falls Sie sie wiederherstellen müssen.
Zeitreise
Sie können auf die Daten zu jeder Zeit innerhalb des Zeitreisenfensters zugreifen, das standardmäßig die letzten sieben Tage abdeckt. Sie können mit Zeitreisen Daten abfragen, die aktualisiert oder gelöscht wurden, eine gelöschte Tabelle oder einen gelöschten Datensatz oder eine abgelaufene Tabelle wiederherstellen.
Fenster für Zeitreise konfigurieren
Sie können die Dauer des Zeitreisefensters von mindestens zwei Tagen auf maximal sieben Tage festlegen. Sieben Tage ist die Standardeinstellung. Sie legen das Zeitreisefenster für die Dataset-Ebene fest, das dann für alle Tabellen im Dataset gilt.
Sie können das Zeitreisefenster so konfigurieren, dass es länger ist, wenn eine längere Zeit für die mögliche Wiederherstellung aktualisierter oder gelöschter Daten erforderlich ist, und kürzer, wenn dies nicht erforderlich ist. Bei Verwendung eines kürzeren Zeitreisefensters können Sie unter Verwendung des Abrechnungsmodells für physische Speicher Speicherkosten sparen. Diese Einsparungen gelten nicht für die Verwendung des Abrechnungsmodells für logischen Speicher.
Weitere Informationen dazu, wie sich das Speicherabrechnungsmodell auf die Kosten auswirkt, finden Sie unter Abrechnung.
Wie sich das Fenster für die Zeitreise auf die Tabellen- und Dataset-Wiederherstellung auswirkt
Eine gelöschte Tabelle oder ein gelöschtes Dataset verwendet die zur Zeit des Löschvorgangs gültige Zeitfensterdauer.
Wenn Sie beispielsweise eine Zeitreisefenster von zwei Tagen haben und die Dauer dann auf sieben Tage erhöhen, können Tabellen, die vor dieser Änderung gelöscht wurden, weiterhin nur für zwei Tage wiederhergestellt werden. Wenn Sie ein Zeitreisefenster von fünf Tagen haben und diese Dauer auf drei Tage reduzieren, können Tabellen, die vor der Änderung gelöscht wurden, weiterhin fünf Tage lang wiederhergestellt werden.
Da Zeitreisefenster auf Dataset-Ebene festgelegt werden, können Sie das Zeitreisefenster eines gelöschten Datasets erst ändern, wenn es wiederhergestellt wurde.
Wenn Sie die Dauer des Zeitreisefensters reduzieren, eine Tabelle löschen und dann feststellen, dass Sie eine längere Wiederherstellungsbarkeit für diese Daten benötigen, können Sie einen Snapshot der Tabelle zu einem Zeitpunkt vor dem Löschen der Tabellen erstellen. Dies muss erfolgen, während die gelöschte Tabelle noch wiederhergestellt werden kann. Weitere Informationen finden Sie unter Tabellen-Snapshot mit Zeitreisen erstellen.
Fenster für die Zeitreise angeben
Sie können die Google Cloud Console, das bq-Befehlszeilentool oder die BigQuery API verwenden, um das Zeitreisefenster für ein Dataset anzugeben.
Eine Anleitung zum Festlegen des Zeitreisefensters für ein neues Dataset finden Sie unter Datasets erstellen.
Eine Anleitung zum Aktualisieren des Zeitfensters für ein vorhandenes Dataset finden Sie unter Zeitreisefenster aktualisieren.
Wenn im Zeitstempel eine Zeit außerhalb des Zeitreisefensters oder vor dem Erstellen der Tabelle angegeben ist, schlägt die Abfrage fehl und gibt einen Fehler wie den folgenden zurück:
TableID
was created at time which is before its allowed time travel intervaltimestamp
. Creation time:timestamp
Zeitreisen und Zugriff auf Zeilenebene
Wenn eine Tabelle Zugriffsrichtlinien auf Zeilenebene hat oder hatte, kann nur ein Tabellenadministrator auf Verlaufsdaten für die Tabelle zugreifen.
Die folgende IAM-Berechtigung (Identity and Access Management) ist erforderlich:
Berechtigung | Ressource |
---|---|
bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
|
Die Tabelle, auf deren Verlaufsdaten zugegriffen wird |
Die folgende BigQuery-Rolle enthält die erforderliche Berechtigung:
Rolle | Ressource |
---|---|
roles/bigquery.admin
|
Die Tabelle, auf deren Verlaufsdaten zugegriffen wird |
Die Berechtigung bigquery.rowAccessPolicies.overrideTimeTravelRestrictions
kann keiner benutzerdefinierten Rolle hinzugefügt werden.
Führen Sie folgenden Befehl aus, um die entsprechende Unix-Epochen-Zeit abzurufen:
date -d '2023-08-04 16:00:34.456789Z' +%s000
Ersetzen Sie die UNIX-Epochenzeit, die
1691164834000
vom vorherigen Befehl im bq-Befehlszeilentool erhalten hat. Führen Sie folgenden Befehl aus, um eine Kopie der gelöschten TabelledeletedTableID
in einer anderen TabellerestoredTable
innerhalb desselben DatasetsmyDatasetID
wiederherzustellen:bq cp myProjectID:myDatasetID.deletedTableID@1691164834000 myProjectID:myDatasetID.restoredTable
Fail-Safe
BigQuery bietet eine Fail-Safe-Periode. Während der Fail-Safe-Periode werden gelöschte Daten automatisch sieben weitere Tage nach dem Zeitreisefenster aufbewahrt, sodass die Daten für die Notfallwiederherstellung länger verfügbar bleiben. Daten können auf Tabellenebene wiederhergestellt werden. Die Daten für eine Tabelle werden ab der Zeit wiederhergestellt, die durch den Zeitstempel des Löschvorgangs dargestellt wird. Die Fail-Safe-Periode kann nicht konfiguriert werden.
Sie können Daten in der Fail-Safe-Speicherung weder abfragen noch direkt wiederherstellen. Wenn Sie Daten aus einer Fail-Safe-Speicherung wiederherstellen möchten, wenden Sie sich an Cloud Customer Care.
Abrechnung
Wenn Sie Ihr Speicherabrechnungsmodell auf die Verwendung physischer Byte festlegen, enthalten Ihre Gesamtspeicherkosten die Byte, die für Zeitreisen und für die Fail-Safe-Speicherung verwendet wurden. Zeitreisen und Fail-Safe-Speicher werden zum aktiven physischen Speicherpreis berechnet. Sie können das Zeitstempelfenster konfigurieren, um die Speicherkosten mit Ihren Anforderungen an die Datenaufbewahrung in Einklang zu bringen.
Wenn Sie Ihr Speicherabrechnungsmodell so einstellen, dass logische Byte verwendet werden, enthalten die gesamten Speicherkosten, die Ihnen in Rechnung gestellt werden, die für die zeitübergreifende/Fail-Safe-Speicherung verwendeten Byte nicht.
Die folgende Tabelle zeigt einen Vergleich der Kosten für physischen und logischen Speicher:
Abrechnungsmodell | Wofür Sie zahlen. |
---|---|
Physischer (komprimierter) Speicher |
|
Logischer (unkomprimierter) Speicher (Standardeinstellung) |
|
Wenn Sie physischen Speicher verwenden, können Sie die von Zeitreisen und Fail-Safe-Speicherung verbrauchten Byte anhand der TIME_TRAVEL_PHYSICAL_BYTES
- und FAIL_SAFE_PHYSICAL_BYTES
-Spalten der Ansichten TABLE_STORAGE
und TABLE_STORAGE_BY_ORGANIZATION
erkennen. Ein Beispiel für die Verwendung einer dieser Ansichten zur Schätzung Ihrer Kosten finden Sie unter Speicherabrechnung prognostizieren.
Beispiel für physischen Speicher
Die folgende Tabelle zeigt, wie gelöschte Daten bei Verwendung von physischem Speicher abgerechnet werden. Dieses Beispiel zeigt eine Situation, in der der gesamte aktive physische Speicher 200 GiB beträgt und dann 50 GiB gelöscht werden. Das Zeitreisefenster beträgt sieben Tage:
Tag 0 | Tag 1 | Tag 2 | Tag 3 | Tag 4 | Tag 5 | Tag 6 | Tag 7 | Tag 8 | Tag 9 | Tag 10 | Tag 11 | Tag 12 | Tag 13 | Tag 14 | Tag 15 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Aktiver Speicher | 200 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 | 150 |
Zeitreisenspeicher | 50 | 50 | 50 | 50 | 50 | 50 | 50 | |||||||||
Ausfallsichere Speicherung | 50 | 50 | 50 | 50 | 50 | 50 | 50 |
Das Löschen von Daten aus dem langfristigen physischen Speicher funktioniert auf die gleiche Weise.
Beschränkungen
- Zeitreisen ermöglichen nur den Zugriff auf Verlaufsdaten für die Dauer des Zeitfensters. Verwenden Sie Tabellen-Snapshots, um Tabellendaten für Nicht-Notfallzwecke über das Zeitreisefenster hinaus zu erhalten.
- Wenn eine Tabelle Zugriffsrichtlinien auf Zeilenebene hat oder hatte, können Zeitreisen nur von Tabellenadministratoren verwendet werden. Weitere Informationen finden Sie unter Zeitreise und Zugriff auf Zeilenebene.
- Zeitreisen stellen Tabellenmetadaten nicht wieder her.
Nächste Schritte
- Zeitreisedaten abfragen und wiederherstellen
- Weitere Informationen zu Tabellen-Snapshots.