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 auf die Verwendung der Spanner-Datenbank umstellen.
Je nach Anwendungsfall können Sie eine Live-Datenmigration mit minimaler Ausfallzeit ausführen oder für die Datenmigration eine längere Ausfallzeit benötigen.
Wenn für Ihre Anwendung keine langen Ausfallzeiten infrage kommen, sollten Sie eine Live-Datenmigration durchführen. Wenn Ihre Anwendung Ausfallzeiten verkraften kann, können Sie eine Migration mit Ausfallzeiten in Betracht ziehen.
Bei einer Live-Datenmigration müssen Sie die Netzwerkinfrastruktur konfigurieren, die für den Datenfluss zwischen der Quelldatenbank, der Ziel-Spanner-Datenbank und den Tools erforderlich ist, die Sie für die Datenmigration verwenden. Je nach den 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:
- Migrieren der Daten in einem konsistenten Snapshot Ihrer Quelldatenbank.
- Migration des Änderungsstreams (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, aber der Vorgang birgt auch Herausforderungen, darunter:
- CDC-Daten während der Migration des Snapshots speichern
- CDC-Daten in Spanner schreiben und gleichzeitig den eingehenden CDC-Stream erfassen
- Die Migration von CDC-Daten zu Spanner muss schneller sein als der eingehende CDC-Stream.
Migration mit Ausfallzeit
Wenn Ihre Quelldatenbank in CSV oder Avro exportiert werden kann, können Sie mit einer Ausfallzeit zu Spanner migrieren. Weitere Informationen finden Sie unter Spanner-Import und -Export – Übersicht.
Migrationen mit Ausfallzeiten können für Testumgebungen oder Anwendungen verwendet werden, die einige Stunden Ausfallzeit verkraften können. Bei einer Live-Datenbank kann eine Migration mit Ausfallzeit zu Datenverlusten führen.
Für eine Migration mit Ausfallzeit können Sie den folgenden allgemeinen Ansatz verwenden:
- Beenden Sie die 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 Erstellen einer Dumpdatei aus der Quelldatenbank Folgendes, um einen konsistenten Daten-Snapshot zu generieren:
- Bevor Sie den Dump ausführen, legen Sie eine Lesesperre auf die Quelldatenbank fest, damit die Daten während der Generierung der Dumpdatei nicht geändert werden.
- Alternativ können Sie die Dumpdatei mit einem Lesereplikat aus der Quelldatenbank generieren, bei dem die Replikation deaktiviert ist.
Quellspezifische Leitfäden
- MySQL: MySQL-Livedatenmigration