In diesem Dokument finden Sie einen Überblick über Spanner-Sicherungen und Sicherungszeitpläne.
Mit Spanner können Sie bei Bedarf vollständige Sicherungen von Datenbanken und vollständige oder inkrementelle Sicherungen mit einem Sicherungszeitplan erstellen. Bei vollständigen Sicherungen werden alle Daten einer Datenbank gespeichert, während inkrementelle Sicherungen nur die Daten enthalten, die sich seit einer vorherigen Sicherung geändert haben.
Sie können die Sicherungen wiederherstellen, wenn Operator- oder Anwendungsfehler zu logischen Datenbeschädigungen führen.
Sicherungen sind hochverfügbar, verschlüsselt und können ab ihrer Erstellung bis zu einem Jahr lang aufbewahrt werden. Wenn Sie eine Sicherung erstellen, befindet sich die Sicherung in derselben Instanz, Region und im selben Projekt wie die Quelldatenbank. Wenn Sie die Sicherung aus Compliance- oder Geschäftskontinuitätsgründen in einer anderen Region oder einem anderen Projekt wiederherstellen müssen, können Sie die Sicherung in eine Instanz in einer separaten Region oder einem separaten Projekt kopieren.
Jede Sicherung ist mit einer createTime
und einer versionTime
verknüpft. createTime
ist der Zeitstempel, zu dem Spanner mit der Erstellung der Sicherung beginnt.
versionTime
ist der Zeitstempel, zu dem der Datenbankinhalt in der Sicherung erfasst wird. Die Sicherung enthält eine konsistente Ansicht der Datenbank zum Zeitpunkt versionTime
.
Bei On-Demand-Sicherungen sind createTime
und versionTime
standardmäßig identisch. Bei Bedarf können Sie beim Erstellen einer On-Demand-Sicherung eine ältere versionTime
angeben, sofern sie innerhalb der Aufbewahrungsdauer der Version der Datenbank liegt.
Bei geplanten Sicherungen ist versionTime
die Uhrzeit, die Sie beim Erstellen des Sicherungszeitplans auswählen. Spanner beginnt innerhalb von vier Stunden nach dem versionTime
mit dem Erstellen der Sicherung. Der createTime
fällt also in dieses Zeitfenster.
Das unterscheidet sich von On-Demand-Sicherungen, bei denen Spanner mit dem Erstellen der Sicherung beginnt, sobald die Anfrage eingegangen ist.
Angenommen, Sie erstellen einen Sicherungszeitplan mit einer Häufigkeit von 0 7 * * * UTC
oder täglich um 7:00 Uhr UTC. Das bedeutet, dass für jede Sicherung versionTime
auf 7:00 Uhr UTC festgelegt ist und createTime
ein Zeitstempel innerhalb des vierstündigen Zeitraums zwischen 7:00 Uhr UTC und 11:00 Uhr UTC ist.
Weitere Informationen zur Verwendung von createTime
und versionTime
über die API findest du in der Backup API-Referenz.
Wichtige Features
Datenkonsistenz: Sicherungen einer Spanner-Datenbank sind transaktional und extern konsistent zum
versionTime
der Sicherung.Replikation: Sicherungen befinden sich in derselben Instanz wie ihre Quelldatenbank und werden an denselben geografischen Standorten repliziert. Bei regionalen Instanzen wird die Sicherung in jeder der drei Lese-/Schreibzonen gespeichert. Bei dual-regionalen und multiregionalen Instanzen wird die Sicherung in allen Zonen gespeichert, die ein schreibgeschütztes oder schreibgeschütztes Replikat enthalten. Wenn Sie die Sicherung Ihrer Datenbank in einer anderen Region oder einem anderen Projekt speichern möchten, können Sie die abgeschlossene Sicherung von der Quellinstanz in eine Zielinstanz in einer anderen Region oder einem anderen Projekt kopieren. Weitere Informationen finden Sie unter Sicherung kopieren.
Automatischer Ablauf: Alle Sicherungen haben ein benutzerdefiniertes Ablaufdatum, das bestimmt, wann sie automatisch gelöscht wird. Spanner löscht abgelaufene Sicherungen asynchron. Daher kann es zu einer Verzögerung zwischen dem Ablauf einer Sicherung und dem tatsächlichen Löschen kommen.
Sicherung erstellen
Wenn Sie eine Sicherung erstellen, befindet sie sich in derselben Instanz, Region und im selben Projekt wie die Quelldatenbank.
Eine Sicherung enthält die folgenden Informationen aus der Datenbank an der versionTime
der Sicherung:
- Eine vollständige Sicherung enthält alle Daten. Eine inkrementelle Sicherung enthält nur die Daten, die sich seit einer vorherigen Sicherung geändert haben.
- Schemainformationen, einschließlich Tabellennamen, Feldern, Datentypen, sekundären Indexen, Änderungsstreams und der Beziehungen zwischen diesen Entitäten.
- Alle Datenbankoptionen, die mit dem Befehl
ALTER DATABASE SET OPTIONS
festgelegt werden.
Eine Spanner-Sicherung enthält keine der folgenden Informationen:
- Jegliche Änderungen an den Daten oder dem Schema nach dem
versionTime
. - IAM-Richtlinien (Identity and Access Management)
- Änderungsstream-Datensätze Das Schema des Änderungsstreams wird zwar gespeichert, die Daten des Änderungsstreams sollen jedoch fast gleichzeitig mit den beschriebenen Änderungen gestreamt und verwendet werden.
Um die externe Konsistenz der Sicherung zu gewährleisten, hängt Spanner den Inhalt der Datenbank bei versionTime
an.
Dadurch wird verhindert, dass das System für die automatische Speicherbereinigung die relevanten Datenwerte für die Dauer des Sicherungsvorgangs entfernt. Anschließend beginnt jede Zone mit Lese-/Schreibzugriff und Lesezugriff in der Instanz, die Daten parallel zu kopieren. Wenn eine Zone vorübergehend nicht verfügbar ist, ist die Sicherung erst abgeschlossen, wenn die Zone wieder online ist. Sicherungen können wiederhergestellt werden, sobald der Vorgang abgeschlossen ist. Bei multiregionalen Instanzen müssen alle Sicherungs-/Schreibzonen und schreibgeschützten Zonen in allen Regionen ihre Sicherungsreplikate vervollständigen, bevor die Sicherung als wiederherstellbar gekennzeichnet wird.
Sicherungszeitpläne
Mit Spanner können Sie vollständige oder inkrementelle Sicherungen für Datenbanken planen. Eine inkrementelle Sicherung enthält nur die Daten, die sich seit einer vorherigen Sicherung geändert haben. Bei einer vollständigen Sicherung wird der gesamte Inhalt der Datenbank gespeichert. Sie können den Sicherungszeitplantyp (vollständig oder inkrementell) und die Häufigkeit angeben, mit der Spanner Sicherungen erstellen soll.
Mit einem Zeitplan für Vollsicherungen kann alle 12 Stunden oder häufiger eine Sicherung erstellt werden. Mit einem Zeitplan für inkrementelle Sicherungen kann alle 4 Stunden oder häufiger eine Sicherung erstellt werden.
Spanner bietet inkrementelle Sicherungen für Ihre Datenbank über ein Sicherungsprogramm. Sie können keine inkrementelle Sicherung auf Abruf erstellen.
Die Sicherung wird innerhalb von vier Stunden nach dem geplanten Zeitpunkt erstellt. Pro Datenbank können maximal vier Sicherungszeitpläne verwendet werden.
Inkrementelle Sicherungen
Inkrementelle Sicherungen bilden Ketten zwischen vollständigen Sicherungen. Die erste Sicherung, die mit einem Zeitplan für inkrementelle Sicherungen erstellt wird, ist eine vollständige Sicherung. Die aufeinanderfolgenden Sicherungen in der Kette sind inkrementelle Sicherungen, die jeweils nur die Daten enthalten, die sich seit der vorherigen Sicherung in der Kette geändert haben.
Spanner erlaubt zusätzlich zur ersten vollständigen Sicherung bis zu 13 inkrementelle Sicherungen pro Kette. Eine Kette wird durch den entsprechenden incrementalBackupChainId
-Wert identifiziert.
Wenn eine Kette ihre maximale Länge erreicht, erstellt Spanner eine neue Kette, beginnend mit der ursprünglichen vollständigen Sicherung.
In einigen Fällen erstellt Spanner möglicherweise eine neue Kette, bevor die maximale Kettenlänge erreicht wird. Im Folgenden sind einige Szenarien aufgeführt:
- Die älteste vollständige Sicherung wurde vor mindestens 28 Tagen erstellt.
- Die neueste Sicherung in der Kette wird gelöscht.
- Der Zeitplan für die inkrementelle Sicherung wird geändert.
Hier sind einige Faktoren, die Ihnen bei der Entscheidung für inkrementelle Sicherungen helfen können:
Verschlüsselung: Inkrementelle Sicherungen unterstützen nur die Verschlüsselung mitGoogle-owned and Google-managed encryption keys , auch wenn die Datenbank mit einem vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) verschlüsselt ist.
Wiederherstellung: Die Wiederherstellung einer inkrementellen Sicherung kann länger dauern als die Wiederherstellung einer vollständigen Sicherung mit denselben Daten.
Löschen: Wenn Sie eine Sicherung in einer Kette löschen oder sie abläuft, behält Spanner sie möglicherweise, um neuere Sicherungen in der Kette zu unterstützen, falls vorhanden. Spanner benötigt alle älteren Sicherungen in der Kette, um eine inkrementelle Sicherung wiederherzustellen. Wenn Sie alle Daten in einer Sicherungskette löschen möchten, einschließlich abgelaufener oder gelöschter Sicherungen, löschen Sie alle Sicherungen in der Kette.
Aufbewahrung: Jeder Sicherungszeitplan enthält die folgenden Begriffe, die Informationen zum Zeitplan liefern:
creation_interval
: Gibt die angegebene Häufigkeit für den Sicherungszeitplan an.retention_duration
: Gibt an, wie lange die vom Zeitplan erstellten Sicherungen aufbewahrt werden. Bei einer bestimmten Kette wird die älteste Vollsicherung über das ursprüngliche Ablaufdatum hinaus aufbewahrt, wenn sie zur Unterstützung neuerer Sicherungen in der Kette erforderlich ist. Die Gesamtaufbewahrungsdauer für die vollständige Sicherung beträgt höchstens den niedrigsten der folgenden Werte:retention_duration
+ 28 Tageretention_duration
+ (creation_interval
*14)
Sicherungskopie: Wenn Sie eine inkrementelle Sicherung kopieren, kopiert Spanner die Sicherungskette, beginnend mit der ersten vollständigen Sicherung und endend mit der spezifischen inkrementellen Sicherung, die Sie kopieren möchten. Spanner berechnet Ihnen den Speicherplatz basierend auf dem Gesamtverbrauch.
Weitere Informationen zum Erstellen von inkrementellen Sicherungen finden Sie unter Sicherungszeitpläne erstellen und verwalten.
Standard-Sicherungszeitpläne
Wenn Sie eine neue Spanner-Instanz erstellen, können Sie angeben, ob Spanner einen Standardsicherungszeitplan für jede neue Datenbank in der Instanz erstellen soll. Mit dem Standardsicherungszeitplan wird alle 24 Stunden eine Vollsicherung erstellt. Diese Sicherungen haben eine Aufbewahrungsdauer von 7 Tagen. Sie können den Standard-Sicherungszeitplan nach dem Erstellen bearbeiten oder löschen.
Standardsicherungszeitpläne werden für alle neuen Instanzen automatisch aktiviert. Sie können Standard-Sicherungszeitpläne in einer Instanz beim Erstellen oder später durch Bearbeiten der Instanz aktivieren oder deaktivieren.
Sie können Standard-Sicherungszeitpläne für vorhandene Instanzen aktivieren. Standardsicherungszeitpläne gelten jedoch nicht für vorhandene Datenbanken in der Instanz. Standardsicherungszeitpläne gelten nur für neue Datenbanken in der Instanz.
Es dauert 24 Stunden, bis der Standardsicherungszeitplan aktiv wird und Sicherungen erstellt werden.
Sie müssen alle Sicherungen in einer Instanz löschen, bevor Sie die Instanz löschen. Wenn Sie Instanzen zu Testzwecken erstellen und löschen, können Sie die neue Instanz innerhalb von 24 Stunden löschen, um das manuelle Löschen der Sicherungen zu vermeiden.
Eine Anleitung zum Aktivieren oder Deaktivieren von Standard-Sicherungszeitplänen finden Sie unter Typ des Standard-Sicherungszeitplans bearbeiten.
Speicherkosten für vollständige und inkrementelle Sicherungen
Jedes Spanner-Sicherungselement enthält die folgenden Felder mit Informationen zum Speicherverbrauch:
exclusiveSizeBytes
: Die Anzahl der für die Sicherung erforderlichen Byte. Diese Größe entspricht der abrechenbaren Größe der Sicherung.freeableSizeBytes
: Die Anzahl der Byte, die freigegeben werden, wenn Sie die Sicherung löschen.oldestVersionTime
: DieversionTime
der ältesten vollständigen Sicherung in der Kette, auch wenn diese Sicherung abgelaufen ist. Anhand dieses Felds können Sie nachvollziehen, welche Daten gespeichert werden.
Mit inkrementellen Sicherungen können Sie Speicherkosten sparen. Ein inkrementelles Back-up kann ein deutlich kleineres exclusiveSizeBytes
-Feld als ein vollständiges Back-up haben, da im inkrementellen Back-up nur die Änderungen seit der vorherigen Sicherung in der Kette gespeichert werden müssen.
Wenn Sie diesen Feldwert für jedes Back-up in der Kette hinzufügen, wird die Gesamtzahl der Byte angezeigt, die von den Back-ups in der Kette verwendet werden.
Für die Wiederherstellung einer inkrementellen Sicherung sind alle älteren Sicherungen in derselben Kette erforderlich.
Das bedeutet, dass die Daten aller älteren Sicherungen in der Kette nicht aus dem System gelöscht werden können, wenn eine neuere inkrementelle Sicherung vorhanden ist. Das Feld freeableSizeBytes
für alle älteren Sicherungen in derselben Kette ist dann null.
Angenommen, Sie haben einen Zeitplan für eine vollständige Sicherung und einen Zeitplan für eine inkrementelle Sicherung für eine Datenbank mit einer Größe von 100 GB erstellt, die jeden Tag um 10 GB zunimmt. In der folgenden Tabelle sind die möglichen Speicherkosten für diese Sicherungszeitpläne aufgeführt:
Tag | Größe der Sicherung nach vollständigem Zeitplan | Größe der inkrementellen Sicherung |
---|---|---|
1 | 100 GB | 100 GB |
2 | 110 GB | 10 GB |
3 | 120 GB | 10 GB |
4 | 130 GB | 10 GB |
5 | 140 GB | 10 GB |
Bei einem vollständigen Sicherungszeitplan werden über einen Zeitraum von fünf Tagen 600 GB Speicherplatz belegt, während beim inkrementellen Sicherungszeitplan etwa 140 GB Speicherplatz belegt werden.
Bei einem Zeitplan für inkrementelle Sicherungen ist die Größe der vollständigen Sicherung die Summe der Größen aller Sicherungen in der Kette bis zu dieser Sicherung. Sie wird im Feld sizeBytes
angezeigt.
So funktioniert das Kopieren von Sicherungen
Mit Spanner können Sie eine Sicherung Ihrer Spanner-Datenbank von einer Instanz in eine andere Instanz in einer anderen Region oder einem anderen Projekt kopieren, um zusätzliche Datenschutz- und Compliance-Funktionen zu nutzen.
Sie können keine Sicherung kopieren, wenn die Ziel- oder Quellregion Google Cloud ausgefallen ist. Um Ihre Daten bei einem regionalen Ausfall zu schützen, müssen Sie Ihre Sicherungen regelmäßig an einen Speicherort außerhalb der betroffenen Region kopieren.
Die kopierte Sicherung hat dieselben wichtigen Funktionen wie die ursprüngliche Sicherung. Außerdem können Sie eine kopierte Sicherung in derselben Instanz wie die kopierte Sicherung wiederherstellen, um regionen- und projektübergreifende Anwendungsfälle für Sicherung und Wiederherstellung zu unterstützen.
Speicherort von Spanner-Sicherungen
Sicherungen sind Ressourcen in Spanner. Jede Sicherungsressource ist in der Ressourcenhierarchie unter derselben Instanz wie ihre Quelldatenbank organisiert und hat einen Ressourcenpfad im folgenden Format:
projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME
Ersetzen Sie Folgendes:
PROJECT_ID
: Projekt-ID.INSTANCE_ID
: Instanz-ID.BACKUP_NAME
: der Name der Sicherung.
Eine Sicherung ist auch nach dem Löschen der Quelldatenbank weiterhin vorhanden, kann jedoch die übergeordnete Instanz nicht überdauern. Sie können eine Spanner-Instanz nicht löschen, um ein versehentliches Löschen von Sicherungen zu verhindern. Wenn Sie die Instanz löschen möchten, empfehlen wir, die Sicherung wiederherzustellen und dann die wiederhergestellte Datenbank zu exportieren, bevor Sie die Sicherung und die Instanz löschen.
Verschlüsselung
Spanner-Sicherungen wie Datenbanken werden entweder mitGoogle-owned and Google-managed encryption keys oder mit vom Kunden verwalteten Verschlüsselungsschlüsseln (CMEK) verschlüsselt. Standardmäßig verwendet eine Sicherung dieselbe Verschlüsselungskonfiguration wie ihre Datenbank. Sie können dieses Verhalten jedoch überschreiben, indem Sie beim Erstellen der Sicherung eine andere Verschlüsselungskonfiguration angeben. Wenn die Sicherung CMEK-fähig ist, wird sie zum Zeitpunkt der Sicherung mit der primären Version des KMS-Schlüssels verschlüsselt. Nachdem die Sicherung erstellt wurde, können Schlüssel und Schlüsselversion nicht mehr geändert werden, auch nicht, wenn der KMS-Schlüssel rotiert wird. Weitere Informationen finden Sie unter CMEK-fähiges Back-up erstellen.
Für eine kopierte Sicherung wird dieselbe Verschlüsselungskonfiguration wie für die Quellsicherung verwendet, entwederGoogle-owned and Google-managed encryption keys oder vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK). Sie können dieses Verhalten überschreiben, indem Sie beim Kopieren der Sicherung eine andere Verschlüsselungskonfiguration angeben. Wenn die kopierte Sicherung beim regionenübergreifenden Kopieren mit CMEK verschlüsselt werden soll, geben Sie den Cloud KMS-Schlüssel für die Zielregion an.
Sie können die Verschlüsselungskonfiguration beim Erstellen oder Ändern des Sicherungszeitplans angeben. Wenn Sie möchten, dass der Sicherungszeitplan Sicherungen erstellt, die mit CMEK-Schlüsseln verschlüsselt sind, müssen Sie den Schlüsselpfad angeben.
Inkrementelle Sicherungen unterstützen nur die Verschlüsselung mitGoogle-owned and Google-managed encryption keys, auch wenn die Datenbank mit einem CMEK-Schlüssel verschlüsselt ist.
Leistung
In diesem Abschnitt wird die optimale Sicherungsleistung in Spanner beschrieben.
Leistung beim Sichern
Bei einem Sicherungsvorgang erstellt Spanner einen Sicherungsjob, um Daten direkt aus der Datenbank in den Sicherungsspeicher zu kopieren, und passt die Größe dieses Jobs entsprechend der Größe der Datenbank an. Dieser Sicherungsjob verwendet keine CPU-Ressourcen, die der Instanz der Datenbank zugewiesen sind, und wirkt sich daher nicht auf die Leistung der Instanz aus. Außerdem wirkt sich die Rechenlast auf der Instanz der Datenbank nicht auf die Geschwindigkeit des Sicherungsvorgangs aus. Informationen zum Fortschritt und Abschluss eines Sicherungsvorgangs finden Sie unter Sicherungsfortschritt ansehen.
Die meisten Sicherungen dauern in der Regel 1–4 Stunden. Einige Sicherungen können aufgrund ihrer Größe oder aufgrund einer internen Ressourcenwarteschlange länger dauern. Wenn eine Sicherung länger als gewöhnlich dauert, sich aber keine anderen Faktoren geändert haben, kann dies an einer Verzögerung bei der Planung der Sicherungsaufgabe in einer Zone liegen. Das kann manchmal bis zu 30 Minuten dauern. Wir empfehlen, die Sicherung nicht abzubrechen und neu zu starten, da diese Planungsverzögerung wahrscheinlich auch bei der neuen Sicherung vorkommt.
Leistung beim Kopieren einer Sicherung
Die Dauer des Kopiervorgangs hängt von Faktoren wie der Größe der Quellsicherung und der für die kopierte Sicherung ausgewählten Zielregion ab. In der Regel sind die meisten Kopien innerhalb von 1–4 Stunden fertig. Je nach Sicherungsgröße und Zielregion kann es bei einigen Kopien länger dauern. Das Kopieren einer Sicherung hat keine Auswirkungen auf die Leistung der Quellinstanz oder ‑datenbank. Sie können mehrere gleichzeitige Kopien der Quellsicherung in Instanzen in verschiedenen Regionen erstellen, ohne dass es zu Leistungseinbußen kommt.
Wenn Sie eine inkrementelle Sicherung kopieren, kopiert Spanner auch alle älteren Sicherungen in der Kette. Anstatt die Sicherungskette einzeln zu kopieren, kopiert Spanner alle Sicherungen gleichzeitig, um die Leistung zu verbessern.
Sicherung löschen
Wenn Sie eine inkrementelle Sicherung löschen, können Sie möglicherweise nicht den Speicherplatz wiederherstellen, wenn in derselben Kette neuere inkrementelle Sicherungen vorhanden sind.
Die neueren inkrementellen Sicherungen hängen von den Daten in der gelöschten inkrementellen Sicherung und den älteren Sicherungen in der Kette ab. Spanner behält die Daten und gibt den Speicherplatz erst frei, wenn alle neueren inkrementellen Sicherungen ablaufen.
Im Feld freeableSizeBytes
sehen Sie, wie viel Speicherplatz Sie wieder freigeben können, wenn Sie die Sicherung löschen.
Preise
Die Abrechnung basiert auf dem Speicherplatz, den Ihre Sicherungen pro Zeiteinheit verbrauchen. Die Abrechnung beginnt, sobald der Sicherungsvorgang abgeschlossen ist, und wird fortgesetzt, bis die Sicherung gelöscht wurde. Eine abgeschlossene Sicherung wird mindestens 24 Stunden in Rechnung gestellt. Wenn Sie eine Sicherung erstellen und diese kurz nach Abschluss löschen, werden Ihnen trotzdem 24 Stunden in Rechnung gestellt.
Für eine Sicherungskopie fallen dieselben Speicherkosten an wie für die ursprüngliche Sicherung. Wenn Sie eine Kopie zwischen zwei Instanzen erstellen, die sich in verschiedenen Regionen befinden, fallen Kosten für die ausgehende Datenübertragung an.
Wenn Sie beispielsweise Ihre Datenbank von der Quellkonfiguration der multiregionalen Instanz nam7
in die Zielkonfiguration der multiregionalen Instanz nam-eur-asia3
kopieren, fallen die folgenden Kosten an:
- Keine Gebühren für überlappende
us-central1
-Region - Kostenlos für die Region
us-central2
- Die Gebühr für die interkontinentale Datenübertragung wird zweimal berechnet: einmal für jeden neuen Kontinent (Europa und Asien).
- Die Gebühr für die Datenübertragung zwischen Regionen auf demselben Kontinent wird einmal für
us-east1
- Die Gebühr für die Datenübertragung zwischen Regionen auf demselben Kontinent wird in Europa nur einmal erhoben.
Spanner optimiert den Kopiervorgang, um die Anzahl der regionenübergreifenden Übertragungen zu minimieren. So lassen sich die Kosten für die Datenübertragung minimieren und gleichzeitig eine schnelle Sicherung durch Kopieren ermöglichen.
Sicherungen werden separat gespeichert und abgerechnet. Der Sicherungsspeicher hat keine Auswirkungen auf die Abrechnung für Datenbankspeicher oder die Datenbankspeicherlimits. Weitere Informationen finden Sie unter Messwerte zur Speicherauslastung.
Weitere Informationen zu Sicherungskosten finden Sie unter Spanner-Preise.
Nächste Schritte
Informationen zum Erstellen von Sicherungen finden Sie unter Sicherungen erstellen.
Informationen zum Verwalten von Sicherungen finden Sie unter Sicherungen verwalten.