Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
La migrazione di uno schema dal database di origine a Spanner prevede un
procedura in più passaggi che combina strumenti automatici con analisi e perfezionamento manuali. I passaggi seguenti descrivono l'approccio consigliato:
Estrazione dello schema: estrai la definizione dello schema (DDL) dal database di origine.
Conversione iniziale: puoi valutare la possibilità di utilizzare uno strumento di conversione dello schema automatico, come lo strumento di migrazione di Spanner (SMT), che può gestire molte delle conversioni strutturali e di mappatura dei tipi di dati di base.
Revisione e perfezionamento dettagliati dello schema: valuta la possibilità di convertire lo schema del database di origine più compatibile con Spanner in modifiche più piccole e deliberate, che possono essere testate e ottimizzate singolarmente per ridurre il rischio di modificare tutto contemporaneamente.
Mappatura dei tipi di dati: rivedi e perfeziona la mappatura dei tipi di dati generata da SMT. Assicurati che i tipi di dati di Spanner rappresentino con precisione
l'intervallo, la precisione e la semantica dei tipi di database di origine corrispondente.
Chiavi principali e interleaving: identifica le opportunità di utilizzare le tabelle interlacciate di Spanner per modellare le relazioni padre-figlio presenti nello schema del database di origine. Scegli le strategie per le chiavi primarie appropriate per Spanner, ad esempio l'utilizzo di UUID. SMT può aiutarti a scegliere una strategia per la chiave primaria appropriata. Valuta
le implicazioni per la localizzazione dei dati e l'evitamento degli hotspot. Valuta come vengono utilizzati i vincoli delle chiavi esterne nel database di origine e determina come gestirli in Spanner. Per ulteriori informazioni, consulta Relazioni tra tabelle principali e secondarie.
Ottimizzazione degli indici: analizza gli indici esistenti nel database di origine e progetta gli indici Spanner per ottimizzare le prestazioni delle query.
Valuta la possibilità di eliminare gli indici usati di rado.
Rimuovi le incompatibilità: rimuovi o riscrivi le funzionalità specifiche del database di origine non supportate in Spanner. Ad esempio, Spanner non supporta procedure memorizzate o trigger. Potrebbe essere necessario eseguire il refactoring del codice dell'applicazione.
Deployment dello schema: esegui il deployment dello schema Spanner in un ambiente di sviluppo o di gestione temporanea.
Test e perfezionamento iterativi:
carica i dati di esempio
e testa lo schema con interazioni con l'applicazione rappresentative. Monitora
il rendimento e identifica le aree di miglioramento. Perfeziona lo schema in base ai risultati dei test. Ripeti questa procedura finché lo schema non soddisfa i requisiti di prestazioni e funzionalità della tua applicazione.
Convalida dello schema: sviluppa script o procedure per confrontare la struttura del database di origine e gli schemi di Spanner per assicurarti che la conversione sia stata eseguita correttamente.
Deployment dello schema finale: esegui il deployment dello schema convalidato e perfezionato nell'istanza di produzione Spanner.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-05 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)."]]