Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Die Migration eines Schemas von Ihrer Quelldatenbank zu Spanner ist ein mehrstufiger Prozess, bei dem automatisierte Tools mit manueller Analyse und Optimierung kombiniert werden. In den folgenden Schritten wird der empfohlene Ansatz beschrieben:
Schemaextraktion: Die Schemadefinition (DDL) wird aus der Quelldatenbank extrahiert.
Erste Konvertierung: Sie können ein automatisiertes Schemakonvertierungstool wie das Spanner Migration Tool (SMT) verwenden, das viele der grundlegenden Datentypzuordnungen und strukturellen Konvertierungen verarbeiten kann.
Detaillierte Schemaüberprüfung und -optimierung: Sie können das Schema Ihrer Quelldatenbank, das mit Spanner kompatibler ist, in kleinere, absichtliche Änderungen umwandeln, die einzeln getestet und optimiert werden können, um das Risiko zu verringern, alles auf einmal zu ändern.
Datentypzuordnung: Überprüfen und optimieren Sie die von SMT generierte Datentypzuordnung. Achten Sie darauf, dass die Spanner-Datentypen den Bereich, die Genauigkeit und die Semantik der entsprechenden Quelldatenbanktypen korrekt widerspiegeln.
Primärschlüssel und Verschachtelung: Identifizieren Sie Möglichkeiten, die verschränkten Tabellen von Spanner zu verwenden, um übergeordnete und untergeordnete Beziehungen im Schema der Quelldatenbank zu modellieren. Wählen Sie geeignete Primärschlüsselstrategien für Spanner aus, z. B. die Verwendung von UUIDs. SMT kann Ihnen bei der Auswahl einer geeigneten Primärschlüsselstrategie helfen. Berücksichtigen Sie die Auswirkungen auf die Datenlokalität und die Vermeidung von Hotspots. Prüfen Sie, wie Fremdschlüsseleinschränkungen in Ihrer Quelldatenbank verwendet werden, und legen Sie fest, wie sie in Spanner verarbeitet werden sollen. Weitere Informationen finden Sie unter Beziehungen zwischen übergeordneten und untergeordneten Tabellen.
Indexoptimierung: Analysieren Sie vorhandene Indexe in Ihrer Quelldatenbank und entwerfen Sie Spanner-Indexe, um die Abfrageleistung zu optimieren.
Sie sollten selten verwendete Indizes löschen.
Inkompatibilitäten beseitigen: Entfernen oder überschreiben Sie alle spezifischen Funktionen der Quelldatenbank, die in Spanner nicht unterstützt werden. Spanner unterstützt beispielsweise keine gespeicherten Prozeduren oder Trigger. Möglicherweise müssen Sie den Anwendungscode refaktorisieren.
Schemabereitstellung: Das Spanner-Schema in einer Entwicklungs- oder Staging-Umgebung bereitstellen.
Iterative Tests und Optimierungen:Laden Sie Beispieldaten hoch und testen Sie das Schema mit repräsentativen Anwendungsinteraktionen. Beobachten Sie die Leistung und identifizieren Sie Verbesserungsmöglichkeiten. Optimieren Sie das Schema anhand der Testergebnisse. Wiederholen Sie diesen Vorgang, bis das Schema die Leistungs- und Funktionsanforderungen Ihrer Anwendung erfüllt.
Schemavalidierung: Entwickeln Sie Scripts oder Verfahren, um die Struktur der Quelldatenbank und der Spanner-Schemas zu vergleichen und sicherzustellen, dass die Konvertierung korrekt durchgeführt wurde.
Endgültige Schemabereitstellung: Das validierte und optimierte Schema wird in der Spanner-Produktions-Instanz bereitgestellt.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-11 (UTC)."],[],[],null,["# Migrate your schema\n\nMigrating a schema from your source database to Spanner involves a\nmulti-step process that combines automated tooling with manual analysis\nand refinement. The following steps outline the recommended approach:\n\n1. **Schema extraction**: Extract the schema definition (DDL) from your source\n database.\n\n2. **Initial conversion** : You can consider using an automated\n schema conversion tool, such as\n [Spanner migration tool (SMT)](https://github.com/GoogleCloudPlatform/spanner-migration-tool),\n which can handle many of the basic data type mapping and structural\n conversions.\n\n3. **Detailed schema review and refinement**: Consider converting your source\n database schema that's more compatible with Spanner in smaller,\n deliberate changes, that can be individually tested and optimized to reduce\n the risk of changing everything at once.\n\n 1. **Data type mapping**: Review and refine the data type mapping generated by SMT. Ensure that Spanner data types accurately represent the range, precision, and semantics of the corresponding source database types.\n 2. **Primary keys and interleaving** : Identify opportunities to use Spanner's interleaved tables to model parent-child relationships present in the source database schema. Choose appropriate [primary key strategies](/spanner/docs/schema-design#primary-key-prevent-hotspots) for Spanner such as using UUIDs. SMT can help you choose an appropriate primary key strategy. Consider the implications for data locality and hotspot avoidance. Evaluate how foreign key constraints are used in your source database and determine how to handle them in Spanner. For more information, see [Parent-child table relationships](/spanner/docs/schema-and-data-model#parent-child).\n 3. **Index optimization**: Analyze existing indexes in your source database and design Spanner indexes to optimize query performance. Consider dropping infrequently used indexes.\n 4. **Remove incompatibilities**: Remove or rewrite any source database specific features that aren't supported in Spanner. For example, Spanner doesn't support stored procedures or triggers. This might require you to refactor application code.\n4. **Schema deployment**: Deploy the Spanner schema to a\n development or staging environment.\n\n5. **Iterative testing and refinement** :\n [Load sample data](/spanner/docs/load-sample-data)\n and test the schema with representative application interactions. Monitor\n performance and identify areas of improvement. Refine the schema based on the\n results of testing. Repeat this process until the schema meets your application's\n performance and functional requirements.\n\n6. **Schema validation**: Develop scripts or procedures to compare the structure\n of the source database and Spanner schemas to ensure that the\n conversion was performed correctly.\n\n7. **Final schema deployment**: Deploy the validated and refined schema to the\n Spanner production instance.\n\nSource specific guides\n----------------------\n\n- MySQL: [Migrate MySQL schema](/spanner/docs/migrate-mysql-schema)."]]