Nachdem Sie Ihr Spanner-Schema optimiert und Ihre Anwendung migriert haben, können Sie Ihre Daten in eine leere Spanner-Datenbank in Produktionsgröße verschieben und dann Ihre Anwendung so umstellen, dass sie die Spanner-Datenbank verwendet.
Je nach Anwendungsfall können Sie möglicherweise eine Live-Datenmigration mit minimaler Ausfallzeit durchführen oder es ist eine längere Ausfallzeit erforderlich, um die Datenmigration durchzuführen.
Wenn sich Ihre Anwendung keine lange Ausfallzeit leisten kann, sollten Sie eine Live-Datenmigration durchführen. Wenn Ihre Anwendung Ausfallzeiten verkraftet, können Sie eine Migration mit Ausfallzeit in Betracht ziehen.
Bei einer Live-Datenmigration müssen Sie die Netzwerkinfrastruktur konfigurieren, die für den Datenfluss zwischen Ihrer Quelldatenbank, der Ziel-Spanner-Datenbank und den Tools erforderlich ist, die Sie für die Datenmigration verwenden. Je nach Compliance-Anforderungen Ihrer Organisation müssen Sie sich für eine private oder öffentliche Netzwerkverbindung entscheiden. Möglicherweise muss der Netzwerkadministrator Ihrer Organisation die Infrastruktur einrichten.
Live-Datenmigration
Eine Live-Datenmigration besteht aus zwei Komponenten:
- Migration der Daten in einem konsistenten Snapshot Ihrer Quelldatenbank.
- Migration des Streams von Änderungen (Einfügungen, Aktualisierungen und Löschungen) seit diesem Snapshot, auch als Change Data Capture (CDC) bezeichnet.
Live-Datenmigrationen tragen zwar zum Schutz Ihrer Daten bei, der Prozess ist jedoch mit Herausforderungen verbunden, darunter:
- Speichern von CDC-Daten während der Migration des Snapshots.
- Schreiben der CDC-Daten in Spanner, während der eingehende CDC-Stream erfasst wird.
- Sicherstellen, dass die Migration von CDC-Daten zu Spanner schneller ist als der eingehende CDC-Stream.
Migration mit Ausfallzeit
Wenn Ihre Quelldatenbank in CSV oder Avro exportieren kann, können Sie mit Ausfallzeit zu Spanner migrieren. Weitere Informationen finden Sie in der Übersicht zu Spanner-Import und -Export.
Migrationen mit Ausfallzeit können für Testumgebungen oder Anwendungen verwendet werden, die einige Stunden Ausfallzeit verkraften. Bei einer Live-Datenbank kann eine Migration mit Ausfallzeit zu Datenverlust führen.
Für eine Migration mit Ausfallzeit sollten Sie den folgenden allgemeinen Ansatz in Betracht ziehen:
- Beenden Sie Ihre Anwendung und generieren Sie eine Dumpdatei der Daten aus der Quelldatenbank.
- Laden Sie die Dumpdatei im MySQL-, PostgreSQL-, Avro- oder CSV-Dumpformat in Cloud Storage hoch.
- Laden Sie die Dumpdatei mit Dataflow oder dem Spanner-Migrationstool in Spanner.
Wenn Sie mehrere kleine Dumpdateien generieren, können Sie schneller in Spanner schreiben, da Spanner mehrere Dumpdateien parallel lesen kann.
Beachten Sie beim Generieren einer Dumpdatei aus der Quelldatenbank Folgendes, um einen konsistenten Snapshot der Daten zu erstellen:
- Wenden Sie vor dem Dump eine Lesesperre auf die Quelldatenbank an, um zu verhindern, dass sich die Daten während der Generierung der Dumpdatei ändern.
- Alternativ können Sie die Dumpdatei mit einem Lesereplikat aus der Quelldatenbank generieren, bei dem die Replikation deaktiviert ist.
Quellspezifische Leitfäden
- MySQL: MySQL-Daten migrieren.