Einführung in Tabellen-Snapshots
Dieses Dokument ist eine Einführung in BigQuery-Tabellen-Snapshots. Es ist das erste einer Reihe von Dokumenten, die beschreiben, wie Sie mit BigQuery-Tabellen-Snapshots arbeiten, einschließlich Erstellen, Wiederherstellen, Aktualisieren, Abrufen von Informationen und Abfragen von Tabellen-Snapshots. Diese Dokumentreihe richtet sich an Nutzer, die mit BigQuery und BigQuery-Tabellen vertraut sind.
Tabellen-Snapshots
In einem BigQuery-Tabellen-Snapshot wird der Inhalt einer Tabelle (die Basistabelle) zu einer bestimmten Zeit beibehalten. Sie können einen Snapshot einer aktuellen Tabelle speichern oder einen Snapshot einer Tabelle zu einem beliebigen Zeitpunkt in den letzten sieben Tagen speichern. Für einen Tabellen-Snapshot kann ein Ablauf festgelegt sein. Wenn die konfigurierte Zeit seit dem Erstellen des Tabellen-Snapshots verstrichen ist, löscht BigQuery den Tabellen-Snapshot. Sie können einen Tabellen-Snapshot wie eine Standardtabelle abfragen. Tabellen-Snapshots sind schreibgeschützt. Sie können jedoch eine Standardtabelle aus einem Tabellen-Snapshot erstellen (wiederherstellen) und dann die wiederhergestellte Tabelle ändern.
Tabellen-Snapshots bieten unter anderem folgende Vorteile:
Daten länger als sieben Tage aufbewahren. Mit der Zeitreisen von BigQuery können Sie nur auf die Daten einer Tabelle von vor sieben Tagen oder noch kürzer zugreifen. Mit Tabellen-Snapshots können Sie die Daten einer Tabelle zu einem bestimmten Zeitpunkt, so lange wie Sie möchten, beibehalten.
Speicherkosten minimieren. BigQuery speichert nur Byte, die sich von einem Snapshot und der Basistabelle unterscheiden. Daher verwendet ein Tabellen-Snapshot normalerweise weniger Speicherplatz als eine vollständige Kopie der Tabelle.
Wenn Sie veränderliche, einfache Kopien Ihrer Tabellen benötigen, können Sie Tabellenklone verwenden.
Zugriffssteuerung für Tabellen-Snapshots
Die Zugriffssteuerung für Tabellen-Snapshots ähnelt der Zugriffssteuerung für Tabellen. Weitere Informationen finden Sie unter Zugriff auf Ressourcen mit IAM steuern.
Tabellen-Snapshots abfragen
Sie fragen die Daten eines Tabellen-Snapshots genauso wie andere BigQuery-Tabellen ab. Weitere Informationen finden Sie unter BigQuery-Daten abfragen.
Speicherkosten
Speicherkosten gelten für Tabellen-Snapshots. BigQuery berechnet allerdings nur Daten in einem Tabellen-Snapshot, die nicht bereits einer anderen Tabelle in Rechnung gestellt werden:
Wenn ein Tabellen-Snapshot erstellt wird, fallen erst einmal keine Speicherkosten für den Tabellen-Snapshot an.
Wenn der Basistabelle nach dem Erstellen des Tabellen-Snapshots neue Daten hinzugefügt werden, zahlen Sie nicht für die Speicherung dieser Daten im Tabellen-Snapshot.
Wenn Daten in der Basistabelle geändert oder gelöscht werden, die auch in einem Tabellen-Snapshot vorhanden sind, fallen die folgenden Kosten an:
Ihnen wird der Speicherplatz für den Tabellen-Snapshot der geänderten oder gelöschten Daten in Rechnung gestellt.
Wenn die Basistabelle als physischer Speicher abgerechnet wird, werden Zeitreise- und Fail-Safe-Gebühren nicht in die Basistabelle abgerechnet. Wenn der Snapshot gelöscht wird, werden Ihnen die Kosten für die zeitübergreifende Wiederherstellung und die Fail-Safe-Speicherung in Rechnung gestellt.
Wenn mehrere Snapshots die geänderten oder gelöschten Daten enthalten, wird Ihnen nur der Speicherplatz berechnet, der vom ältesten Snapshot verwendet wurde.
Wenn Sie einen Tabellen-Snapshot oder -Klon innerhalb einer Region oder von einer Region oder Multiregion in eine andere kopieren, wird eine vollständige Kopie der Tabelle erstellt. Dadurch fallen zusätzliche Speicherkosten an.
Der Unterschied zwischen den Speicherkosten für Basistabellen und Tabellen-Snapshots ist in der folgenden Abbildung dargestellt:
Weitere Informationen finden Sie unter BigQuery-Speicherpreise.
Beschränkungen
Ein Tabellen-Snapshot muss sich in derselben Region und in derselben Organisation wie seine Basistabelle befinden. Wenn Sie ein Dataset in einer anderen Region auswählen, erstellt BigQuery eine Kopie der Tabelle im Ziel-Dataset in dieser Region.
Tabellen-Snapshots sind schreibgeschützt. Sie können die Daten in einem Tabellen-Snapshot nur aktualisieren, wenn Sie eine Standardtabelle aus dem Snapshot erstellen und dann die Daten aktualisieren. Sie können nur die Metadaten eines Tabellen-Snapshots aktualisieren, z. B. Beschreibung, Ablaufdatum und Zugriffsrichtlinie.
Aufgrund des Sieben-Tage-Limits für Zeitreisen können Sie nur einen Snapshot der Daten einer Tabelle erstellen, wie sie vor sieben Tagen oder aktueller waren.
Sie können keinen Snapshot einer Ansicht oder einer materialisierten Ansicht erstellen.
Sie können keinen Snapshot einer externen Tabelle erstellen.
Sie können eine vorhandene Tabelle oder einen Tabellen-Snapshot nicht überschreiben, wenn Sie einen Tabellen-Snapshot erstellen.
Wenn Sie eine Tabelle mit Daten im schreiboptimierten Speicher (Streamingpuffer) erstellen, werden die Daten im schreiboptimierten Speicher nicht in den Tabellen-Snapshot aufgenommen.
Wenn Sie einen Snapshot einer Tabelle mit Daten in Zeitreisen erstellen, sind die Daten in den Zeitreisen nicht im Tabellen-Snapshot enthalten.
Wenn Sie einen Snapshot einer partitionierten Tabelle erstellen, für die ein Partitionsablauf festgelegt ist, werden die Informationen zum Partitionsablauf nicht im Snapshot beibehalten. Die Snapshot-Tabelle verwendet stattdessen den Standardpartitionsablauf des Ziel-Datasets. Wenn Sie die Informationen zum Partitionsablauf beibehalten möchten, kopieren Sie die Tabelle stattdessen.
Kontingente und Limits
Informationen zu Kontingenten und Limits für Tabellen-Snapshots finden Sie unter Kontingente und Limits für Tabellen-Snapshots.
Nächste Schritte
- Tabellen-Snapshot erstellen.
- Tabellen-Snapshot wiederherstellen
- Beschreibung, Ablaufdatum oder Zugriffsrichtlinie eines Tabellen-Snapshots aktualisieren
- Monatliche Snapshots einer Tabelle mithilfe eines Dienstkontos erstellen, mit dem eine geplante Abfrage ausgeführt wird
- Snapshots auf Dataset-Ebene automatisieren