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:

Wichtige Features

  • Datenkonsistenz: Sicherungen sind eine transaktionale und extern konsistente Kopie einer Cloud Spanner-Datenbank am create_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 mit niedriger Priorität ausgeführt, um die Auswirkungen auf die Datenbankleistung zu minimieren. Beim Export wird die Nutzer-CPU mit niedriger Priorität verwendet, während beim Sichern die System-CPU mit niedriger Priorität verwendet 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 in dem Sinne abgeschlossen, dass sie alle Daten in der Datenbank (einschließlich Schema und sekundärer Indexe) am create_time der Sicherung enthalten. Jegliche Änderungen an den Daten oder dem Schema nach dem Start der Sicherung werden nicht in die Sicherung aufgenommen. Sicherungen enthalten keine Datenbankmetadaten wie IAM-Richtlinien.

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

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.

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.

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 Cloud Identity and Access Management (IAM) können Sie den Zugriff auf Cloud Spanner-Ressourcen steuern, darunter Sicherungen und wiederhergestellte Datenbanken. Wenn Sie mit IAM, Rollen und Berechtigungen noch nicht vertraut sind, finden Sie in der Cloud IAM-Übersicht eine Einführung.

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 zunächst 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.