Migrazione dei dati in tempo reale da MySQL

Questo documento spiega come eseguire una migrazione live dei dati da un'istanza MySQL di origine a Spanner con tempi di inattività minimi utilizzando Terraform per eseguire il deployment di Dataflow e Datastream.

Dopo aver eseguito la migrazione live dei dati e aver verificato che tutti i dati siano stati trasferiti, che il codice e le dipendenze siano stati migrati e che i test siano stati completati, puoi passare all'utilizzo di Spanner anziché del database MySQL di origine per la tua applicazione.

Puoi eseguire una migrazione live dei dati dopo aver creato il database Spanner di destinazione. Prima di eseguire la migrazione dei dati, devi creare uno schema compatibile nel database di destinazione.

Come funziona

La migrazione live dei dati è composta dalle due fasi seguenti:

  • Migrazione di backfill:

    • Durante la migrazione di backfill, Dataflow legge i dati esistenti dal database MySQL di origine ed esegue la migrazione dei dati al database Spanner di destinazione. Devi utilizzare un modello Dataflow di migrazione bulk per spostare i dati dall'istanza MySQL di origine a Spanner.
    • Quando la migrazione di backfill non riesce a scrivere una riga in Spanner, la scrive in una directory della coda di messaggi non recapitabili in un bucket Cloud Storage. Puoi fare in modo che la migrazione di backfill riprovi a scrivere queste righe in Spanner.
  • Migrazione Change Data Capture (CDC):

    • Questa fase viene eseguita contemporaneamente alla migrazione di backfill, acquisendo in tempo reale le modifiche che si verificano nell'istanza MySQL di origine. Queste modifiche vengono quindi applicate a Spanner al termine della migrazione di backfill.
    • Devi utilizzare Datastream per acquisire in tempo reale le modifiche che si verificano nell'istanza MySQL di origine e scriverle in un bucket Cloud Storage.
    • Al termine della migrazione di backfill, devi utilizzare Dataflow per spostare il CDC dal bucket Cloud Storage a Spanner. Se Dataflow non riesce a scrivere una riga in Spanner per qualsiasi motivo, la scrive in una directory della coda di messaggi non recapitabili in un bucket Cloud Storage diverso. La migrazione CDC riprova automaticamente a scrivere le righe dalla directory della coda di messaggi non recapitabili a Spanner.

Pianificare la migrazione live dei dati