Sichern und Wiederherstellen

Überblick

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 Datenbeschädigungen bietet Cloud Spanner außerdem 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. Cloud 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.

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 Sicherungen haben keine Auswirkungen auf die Leistung einer Instanz. Cloud Spanner führt Sicherungen mit dedizierten Jobs aus, die nicht auf die Serverressourcen einer Instanz zurückgreifen. Der Export wird als Aufgabe mittlerer Priorität ausgeführt, um die Auswirkungen auf die Datenbankleistung zu minimieren. 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 in dem Sinne abgeschlossen, dass sie alle Daten in der Datenbank (einschließlich Schema und sekundärer Indexe) am version_time der Sicherung enthalten. Jegliche Änderungen an den Daten oder dem Schema nach dem version_time werden nicht in die Sicherung aufgenommen. Sicherungen umfassen alle Datenbankoptionen, die mit dem Befehl ALTER DATABASE SET OPTIONS festgelegt werden, enthalten jedoch keine IAM-Richtlinien (Identitäts- und Zugriffsverwaltung).

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 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 mit der primären Version des KMS-Schlüssels zum Zeitpunkt der Sicherung verschlüsselt. Sobald 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 ein version_time angeben, mit dem Sie Ihre Datenbank zu einem früheren Zeitpunkt sichern können. Das Feld version_time wird normalerweise verwendet, um die Sicherungen mehrerer Datenbanken zu synchronisieren oder um Daten mit der Wiederherstellung zu einem bestimmten Zeitpunkt wiederherzustellen. Wenn version_time nicht angegeben ist, wird als Wert die create_time der Sicherung festgelegt. Das System erstellt eine Sicherungsressource und einen lang andauernden 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 Kopie der schreibgeschützten Zone und der schreibgeschützten Zone in der Instanz parallel. Wenn eine Zone vorübergehend nicht verfügbar ist, wird die Sicherung erst abgeschlossen, wenn die Zone wieder online ist und beendet wird. Sicherungen können wiederhergestellt werden, sobald der Vorgang abgeschlossen ist. Bei Instanzen mit mehreren Regionen müssen alle Lese-/Schreibzonen und schreibgeschützten Zonen in allen Regionen ihre Sicherungsreplikate abschließen, bevor die Sicherung als wiederholbar markiert wird.

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

Bei der Sicherung erstellt Cloud Spanner einen Sicherungsjob, mit dem Daten direkt aus der Datenbank in den Sicherungsspeicher kopiert werden. Die Größe dieses Jobs wird anhand der Größe der Datenbank angepasst. Dieser Sicherungsjob verwendet keine CPU-Ressourcen, die der Instanz der Datenbank zugewiesen sind, und beeinflusst daher nicht die Leistung der Instanz. Darüber hinaus hat die Rechenlast auf der Instanz der Datenbank keinen Einfluss auf die Geschwindigkeit des Sicherungsvorgangs.

Informationen zum Überwachen des Fortschritts und des Abschlusses einer Sicherung finden Sie unter Sicherungsfortschritt anzeigen.

Wenn eine Sicherung länger als gewöhnlich dauert, während sich keine anderen Faktoren geändert haben, kann dies an einer Verzögerung bei der Planung der Sicherungsaufgabe in einer Zone liegen. Dieser Vorgang kann bis zu 30 Minuten dauern. Wir empfehlen, die Sicherung nicht abzubrechen und neu zu starten, da wahrscheinlich auch die gleiche Planungsverzögerung bei der neuen Sicherung auftritt.

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 befinden und in einer Instanz sein, die dieselbe Instanzkonfiguration wie die Sicherung hat. Wenn sich eine Sicherung beispielsweise in einer Instanz befindet, die us-west3 konfiguriert ist, kann sie in einer beliebigen Instanz im Projekt wiederhergestellt werden, die auch in us-west3 konfiguriert ist. Die Computing-Kapazität der Instanzen muss nicht identisch sein.

Die wiederhergestellte Datenbank enthält alle Daten und Schemas der ursprünglichen Datenbank am create_time der Sicherung, einschließlich aller Datenbankoptionen, die mit ALTER DATABASE SET OPTIONS festgelegt wurden. Befehl. Es hat keine IAM-Berechtigungen (mit Ausnahme derer, die von der Instanz übernommen werden, die die wiederhergestellte Datenbank enthält). Nach Abschluss der Wiederherstellung müssen Sie geeignete IAM-Berechtigungen anwenden.

Der Wiederherstellungsprozess ist auf Hochverfügbarkeit ausgelegt. Die Datenbank kann wiederhergestellt werden, sofern das überwiegende Quorum 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 dieselbe 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 Wiederherstellen aus einer CMEK-fähigen Sicherung.

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 die Rechenkapazität der Instanz erhöhen.

  • 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 höchstens eine Datenbank im Wiederherstellungsstatus CREATING haben. Sie können erst dann eine weitere Sicherung auf der Instanz wiederherstellen, wenn die wiederhergestellte Datenbank in den Status READY_OPTIMIZING oder READY versetzt wird.

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 in Rechnung gestellt. Der Sicherungsspeicher hat keinen Einfluss auf die Abrechnung für Datenbankspeicher und Datenbankspeicherlimits.

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 mit 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.