Sichern und Wiederherstellen

Übersicht

Mit Cloud Spanner Backup and Restore können Sie bei Bedarf Sicherungen von Cloud Spanner-Datenbanken erstellen und wiederherstellen, um Nutzer- und Anwendungsfehler zu vermeiden, die zu einer logischen Datenbeschädigung führen. Sicherungen sind hochverfügbar, verschlüsselt und können ab ihrer Erstellung bis zu einem Jahr lang aufbewahrt werden. Wenn Sie längere Aufbewahrungszeiten benötigen, empfehlen wir Ihnen, Ihre Datenbank zu exportieren.

Sie können Backup and Restore auf folgende Arten verwenden:

Für logische Datenkorruption bietet Cloud Spanner auch die Wiederherstellung zu einem bestimmten Zeitpunkt.

Wichtige Features

  • Datenkonsistenz: Sicherungen sind eine transaktionale und extern konsistente Kopie einer Cloud Spanner-Datenbank am version_time der Sicherung.

  • Replikation: Sicherungen befinden sich in derselben Instanz wie ihre Quelldatenbank und werden an denselben geografischen Standorten repliziert. Bei regionalen Instanzen wird eine Kopie der Sicherung in jeder der drei Lese-/Schreibzonen gespeichert. Bei multiregionalen Instanzen wird eine Kopie in allen Zonen gespeichert, die ein schreibgeschütztes oder schreibgeschütztes Replikat enthalten.

  • Automatischer Ablauf: Alle Sicherungen haben ein benutzerdefiniertes Ablaufdatum, das bestimmt, wann sie automatisch gelöscht wird.

Wählen Sie "Sichern und wiederherstellen" oder "Importieren und exportieren" aus

Cloud Spanner Import und Export bieten ähnliche Anwendungsfälle wie die Sicherung und Wiederherstellung. In der folgenden Tabelle werden Gemeinsamkeiten und Unterschiede beschrieben, um Ihnen die Entscheidung zu erleichtern.

Sichern und WiederherstellenImport und Export
Datenkonsistenz Sowohl Sicherungen als auch exportierte Datenbanken sind transaktional und extern konsistent.
Auswirkungen auf die Leistung Beide werden nicht mit hoher Priorität ausgeführt, um die Auswirkungen auf die Datenbankleistung möglichst gering zu halten. Der Export wird mit medium-priority ausgeführt, während die Sicherung mit niedriger Priorität ausgeführt wird. Weitere Informationen finden Sie unter Aufgabenpriorität.
Speicherformat Verwendet ein proprietäres, verschlüsseltes Format, das für eine schnelle Wiederherstellung entwickelt wurde. Unterstützt sowohl CSV- als auch Avro-Dateiformate.
Portabilität Sicherungen befinden sich in derselben Instanz wie ihre Quelldatenbank und können nicht verschoben werden.

Sie können eine Datenbank in jeder Instanz im Projekt mit derselben Instanzkonfiguration wie die Sicherung wiederherstellen.
Exportierte Datenbanken befinden sich in Google Cloud Storage und die Daten können zu jedem System migriert werden, das CSV oder Avro unterstützt.
Bindung Sicherungen können bis zu einem Jahr lang aufbewahrt werden. Exportierte Datenbanken werden in Cloud Storage gespeichert und dort standardmäßig so lange aufbewahrt, bis sie gelöscht werden. Sie können Lebenszyklus- und Aufbewahrungsrichtlinien anpassen.
Abrechnung Sicherungen werden Ihrem Cloud Spanner-Projekt basierend auf dem pro Zeiteinheit verwendeten Speicher in Rechnung gestellt. Weitere Informationen finden Sie im Abschnitt Abrechnung. Die Abrechnung für Import und Export ist aufgrund der Verwendung von Google Cloud Storage und Dataflow komplizierter. Weitere Informationen finden Sie unter Preise für Datenbankexport und -import.
Wiederherstellungszeit Die Wiederherstellung erfolgt in zwei Vorgängen: Wiederherstellung und Optimierung. Der Wiederherstellungsvorgang bietet eine schnelle Zeit bis zum ersten Byte, da die Datenbank die Sicherung direkt bereitstellt, ohne die Daten zu kopieren. Nach Abschluss des Wiederherstellungsvorgangs ist die Datenbank einsatzbereit. Die Leselatenz kann jedoch während der Optimierung etwas höher sein. Weitere Informationen finden Sie unter So funktioniert die Wiederherstellung. Der Import ist langsamer. Sie müssen warten, bis alle Daten in die Datenbank geschrieben wurden.

So funktioniert die Sicherung

Inhalt

Nutzer können eine Sicherung einer beliebigen Cloud Spanner-Datenbank erstellen. Diese Sicherungen sind abgeschlossen, weil sie alle Daten in der Datenbank, einschließlich des Schemas und der sekundären Indexe, im version_time der Sicherung enthalten sind. Alle Änderungen an den Daten oder dem Schema nach version_time werden nicht in die Sicherung aufgenommen. Sicherungen enthalten keine Datenbankmetadaten wie IAM-Richtlinien (Identity and Access Management).

Verschlüsselung

Cloud Spanner-Sicherungen wie Datenbanken können durch CMEK oder von Google verwaltete Verschlüsselung geschützt werden. Standardmäßig verwendet eine Sicherung dieselbe Verschlüsselungskonfiguration wie die Datenbank, Sie können dieses Verhalten jedoch überschreiben, wenn Sie beim Erstellen der Sicherung eine andere Verschlüsselungskonfiguration angeben. Wenn die Sicherung mit CMEK aktiviert ist, wird sie mit der primären Version des KMS-Schlüssels zum Zeitpunkt der Sicherung verschlüsselt. Nachdem die Sicherung erstellt wurde, können der Schlüssel und die Schlüsselversion nicht mehr geändert werden, auch wenn der KMS-Schlüssel rotiert wird. Weitere Informationen finden Sie unter CMEK-fähige Sicherung erstellen.

Erstellungsprozess

Wenn Sie eine Sicherung erstellen, müssen Sie eine Quelldatenbank, einen Namen für die Sicherungsressource und ein Ablaufdatum angeben (bis zu einem Jahr nach der Erstellung der Sicherung). Optional können Sie eine version_time angeben, mit der Sie Ihre Datenbank zu einem früheren Zeitpunkt sichern können. Das Feld version_time dient in der Regel dazu, die Sicherungen mehrerer Datenbanken zu synchronisieren oder Daten mithilfe der Wiederherstellung zu einem bestimmten Zeitpunkt wiederherzustellen. Wenn version_time nicht angegeben ist, wird er auf den create_time der Sicherung gesetzt. Das System erstellt eine Sicherungsressource und einen lange laufenden Sicherungsvorgang, um den Fortschritt der Sicherung zu verfolgen.

Um die externe Konsistenz der Sicherung zu gewährleisten, hängt Cloud Spanner den Inhalt der Datenbank bei der Erstellung 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 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 und abgeschlossen ist. Sicherungen können wiederhergestellt werden, sobald der Vorgang abgeschlossen ist.

Ressourcenhierarchie

Sicherungen sind Ressourcen in Cloud Spanner. Jede Sicherungsressource ist unter derselben Instanz wie ihre Quelldatenbank in der Ressourcenhierarchie organisiert und hat einen Ressourcenpfad im Format projects/<project>/instances/<instance>/backups/<backup>. Eine Sicherung ist auch nach dem Löschen der Quelldatenbank weiterhin vorhanden, kann jedoch die übergeordnete Instanz nicht überdauern. Sie können eine Cloud Spanner-Instanz nicht löschen, um ein versehentliches Löschen von Sicherungen zu verhindern. Nutzern, die die Instanz löschen möchten, empfehlen wir, die Sicherung wiederherzustellen und dann die wiederhergestellte Datenbank zu exportieren, bevor die Sicherung und die Instanz gelöscht werden.

Sicherungszeit und -leistung

Die zum Erstellen einer Sicherung benötigte Zeit hängt von verschiedenen Faktoren ab, aber hauptsächlich von der Größe der Datenbank und der Anzahl der Knoten. Wenn Sie schnellere Sicherungszeiten benötigen, können Sie die Anzahl der Knoten erhöhen. Beachten Sie jedoch, dass Änderungen an der Knotenzahl für nachfolgende Sicherungen wirksam werden.

Bei der Sicherung wird auch eine inaktive CPU verwendet. Achten Sie daher darauf, dass die CPU-Auslastung den empfohlenen Richtlinien entspricht. Eine Überlastung der CPU kann zu sehr langen Sicherungszeiten führen und die Datenbanklatenz beeinträchtigen.

Die CPU in einer Instanz wird von allen laufenden Sicherungen in der Instanz gemeinsam genutzt. Das gleichzeitige Erstellen von Sicherungen verschiedener Datenbanken in derselben Instanz kann zu langen Sicherungszeiten führen.

So funktioniert die Wiederherstellung

Beim Wiederherstellen müssen Sie eine Quellensicherung und eine neue Zieldatenbank angeben. Eine Wiederherstellung in einer vorhandenen Datenbank ist nicht möglich. Die neue Datenbank muss sich im selben Projekt wie die Sicherung und in einer Instanz mit derselben Instanzkonfiguration wie die Sicherung befinden. Wenn sich eine Sicherung beispielsweise in einer Instanz befindet, die us-west3 konfiguriert ist, kann sie in jeder Instanz im Projekt wiederhergestellt werden, die ebenfalls us-west3 konfiguriert ist. Die Knotenanzahl der Instanzen muss nicht identisch sein. Die wiederhergestellte Datenbank enthält alle Daten und das Schema aus der ursprünglichen Datenbank am create_time der Sicherung. Sie hat keine IAM-Berechtigungen (außer die, die von der Instanz übernommen wurden, die die wiederhergestellte Datenbank enthält). Nutzer sollten nach Abschluss der Wiederherstellung die entsprechenden IAM-Berechtigungen anwenden. Der Wiederherstellungsprozess ist auf Hochverfügbarkeit ausgelegt, da die Datenbank wiederhergestellt werden kann, solange der Großteil der Regionen und Zonen in der Instanz verfügbar ist.

Zum Wiederherstellen einer CMEK-fähigen Sicherung müssen sowohl der Schlüssel als auch die Schlüsselversion für Cloud Spanner verfügbar sein. Die wiederhergestellte Datenbank verwendet standardmäßig die gleiche Verschlüsselungskonfiguration wie die Sicherung. Sie können dieses Verhalten überschreiben, indem Sie beim Wiederherstellen der Datenbank eine andere Verschlüsselungskonfiguration angeben. Weitere Informationen finden Sie unter Daten aus einer CMEK-fähigen Sicherung wiederherstellen.

Es ist wichtig zu verstehen, dass eine wiederhergestellte Datenbank zwischen drei States-Übergängen wechselt, die von zwei Vorgängen verfolgt werden.

  • Status CREATING: Wenn Sie eine Wiederherstellung initiieren, erstellt das System eine neue Datenbank und einen lang andauernden Datenbankvorgang mit RestoreDatabaseMetadata, um den Fortschritt der Wiederherstellung zu verfolgen. Die neue Datenbank beginnt und verbleibt im Status CREATING, was bedeutet, dass sie erst wieder verwendet werden kann, wenn der Wiederherstellungsvorgang abgeschlossen ist. Um schnelle Wiederherstellungszeiten (normalerweise unter 10 Minuten) zu ermöglichen, werden die Dateien in der Sicherung bereitgestellt, ohne sie in die Datenbank zu kopieren.

  • Status READY_OPTIMIZING: Nach Abschluss des Wiederherstellungsvorgangs wechselt die Datenbank in den Status READY_OPTIMIZING. In diesem Status ist er einsatzbereit, es können jedoch etwas höhere Leselatenzen auftreten, während die Datenbank Daten aus der Sicherung liest. Jeder Versuch, die Sicherung zu löschen, schlägt fehl, während sie noch für die Datenbankwiederherstellung oder -optimierung verwendet wird.

    Wenn der Wiederherstellungsvorgang abgeschlossen ist, erhalten Sie einen weiteren lang andauernden Datenbankvorgang mit OptimizeRestoredDatabaseMetadata, um den Fortschritt der Optimierung zu verfolgen. Der Optimierungsvorgang kopiert die Daten aus der Sicherung in die Datenbank. Wenn Sie den Optimierungsprozess beschleunigen möchten, können Sie der Instanz weitere Knoten hinzufügen.

  • Status READY: Nach Abschluss des Optimierungsvorgangs wechselt die Datenbank in den Status READY. Zu diesem Zeitpunkt ist die wiederhergestellte Datenbank vollständig leistungsfähig und verweist nicht mehr auf die Sicherung.

Eine Instanz kann maximal eine Datenbank im Wiederherstellungsstatus CREATING haben. Sie können keine weitere Sicherung der Instanz wiederherstellen, bis die wiederhergestellte Datenbank in den Status READY_OPTIMIZING oder READY versetzt wurde.

Abrechnung

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. Die Wiederherstellung aus einer Sicherung ist kostenlos.

Sicherungen werden separat gespeichert und abgerechnet. Der Sicherungsspeicher wirkt sich nicht auf die Abrechnung für Datenbankspeicher oder Datenbankspeicherlimits aus.

Eine abgeschlossene Sicherung wird mindestens 24 Stunden in Rechnung gestellt. Wenn Sie eine Sicherung erstellen und diese eine Minute später löschen, werden Ihnen noch 24 Stunden in Rechnung gestellt.

Weitere Informationen zu Sicherungskosten finden Sie auf der Seite Cloud Spanner – Preise.

Zugriffssteuerung (IAM)

Mit IAM können Sie den Zugriff auf Cloud Spanner-Ressourcen steuern, darunter Sicherungen und wiederhergestellte Datenbanken. Wenn IAM, Rollen und Berechtigungen für Sie neu sind, lesen Sie die Übersicht über IAM.

Sicherungsressourcen sind in der Cloud Spanner-Ressourcenhierarchie unter Instanzen organisiert. Wir empfehlen, IAM-Richtlinien auf Projekt- oder Instanzebene anzuwenden. Wenn Sie eine detailliertere Kontrolle benötigen, können IAM-Richtlinien auch auf Sicherungs- und Datenbankebene angewendet werden. Dies wird jedoch aufgrund der Komplexität nicht empfohlen. Beachten Sie, dass Sicherungen keine Datenbankmetadaten wie IAM-Richtlinien enthalten. Wenn Sie also eine Datenbank wiederherstellen, übernimmt die Datenbank zuerst Richtlinien von der übergeordneten Instanz.

In diesem Abschnitt werden die vordefinierten Rollen beschrieben, die Zugriff auf Sicherungen und Wiederherstellungen haben.

Die folgenden Rollen wurden speziell für die Sicherung und Wiederherstellung entwickelt:

  • spanner.backupAdmin: Kann Sicherungen erstellen, ansehen, aktualisieren und löschen. Mit dieser Rolle kann auch die IAM-Richtlinie einer Sicherung angezeigt und verwaltet werden. Diese Rolle kann eine Datenbank nicht aus einer Sicherung wiederherstellen.
  • spanner.restoreAdmin: Kann Datenbanken aus Sicherungen wiederherstellen. Wenn Sie eine Sicherung auf einer anderen Instanz wiederherstellen müssen, wenden Sie diese Rolle auf Projektebene oder auf beide Instanzen an. Mit dieser Rolle können keine Sicherungen erstellt werden.
  • spanner.backupWriter: Kann Sicherungen erstellen, aber nicht aktualisieren oder löschen. Diese Rolle ist für Skripts vorgesehen, die die Erstellung von Sicherungen automatisieren.

Die folgenden Rollen haben auch Zugriff auf die Sicherung und Wiederherstellung:

  • spanner.admin: Hat vollständigen Zugriff auf Sicherung und Wiederherstellung. Diese Rolle hat vollständigen Zugriff auf alle Cloud Spanner-Ressourcen.
  • owner: Hat vollständigen Zugriff auf Sicherung und Wiederherstellung
  • editor: Hat vollständigen Zugriff auf Sicherung und Wiederherstellung
  • viewer: Kann Sicherungen, Sicherungsvorgänge und Wiederherstellungsvorgänge anzeigen. Diese Rolle kann keine Sicherung erstellen, aktualisieren, löschen oder wiederherstellen.

Weitere Informationen finden Sie unter Cloud Spanner IAM.