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.