Eseguire la migrazione dei dati

Dopo aver ottimizzato lo schema Spanner e eseguito la migrazione dell'applicazione, puoi spostare i dati in un database Spanner vuoto di dimensioni di produzione e poi passare all'utilizzo del database Spanner per l'applicazione.

A seconda del caso d'uso, potresti essere in grado di eseguire una migrazione dei dati in tempo reale con tempi di inattività minimi oppure potresti richiedere tempi di inattività prolungati per eseguire la migrazione dei dati.

Se la tua applicazione non può permettersi molto tempo di riposo, valuta la possibilità di eseguire una migrazione dei dati in tempo reale. Se la tua applicazione può gestire il tempo di riposo, puoi prendere in considerazione la migrazione con tempo di riposo.

In una migrazione dei dati in tempo reale, devi configurare l'infrastruttura di rete necessaria per il flusso dei dati tra il database di origine, il database Spanner di destinazione e gli strumenti che utilizzi per eseguire la migrazione dei dati. Devi decidere se utilizzare la connettività di rete privata o pubblica, a seconda dei requisiti di conformità della tua organizzazione. Potresti dover chiedere all'amministratore di rete della tua organizzazione di configurare l'infrastruttura.

Migrazione dei dati in tempo reale

Una migrazione dei dati in tempo reale è costituita da due componenti:

  • Esegui la migrazione dei dati in uno snapshot coerente del database di origine.
  • Eseguire la migrazione dello stream di modifiche (inserimenti, aggiornamenti ed eliminazioni) dall'snapshot, nota come Change Data Capture (CDC).

Sebbene le migrazioni dei dati in tempo reale contribuiscano a proteggere i tuoi dati, il processo comporta delle difficoltà, tra cui:

  • Memorizzazione dei dati CDC durante la migrazione dello snapshot.
  • Scrivere i dati CDC in Spanner durante l'acquisizione dello stream CDC in entrata.
  • Assicurati che la migrazione dei dati CDC a Spanner sia più rapida rispetto allo stream CDC in entrata.

Migrazione con tempi di inattività

Se il database di origine può esportare in CSV o Avro, puoi eseguire la migrazione a Spanner con tempi di riposo. Per ulteriori informazioni, consulta la panoramica dell'importazione e dell'esportazione di Spanner.

Le migrazioni con tempo di riposo possono essere utilizzate per ambienti di test o applicazioni che possono gestire alcune ore di tempo di riposo. In un database in produzione, una migrazione con tempo di riposo potrebbe comportare la perdita di dati.

Per eseguire una migrazione con tempo di riposo, considera il seguente approccio di alto livello:

  1. Interrompi l'applicazione e genera un file dump dei dati dal database di origine.
  2. Carica il file di dump su Cloud Storage in un formato di dump MySQL, PostgreSQL, Avro o CSV.
  3. Carica il file dump in Spanner utilizzando Dataflow o lo strumento di migrazione di Spanner.

La generazione di più file dump di piccole dimensioni consente di scrivere più velocemente in Spanner, in quanto Spanner può leggere più file dump in parallelo.

Quando generi un file dump dal database di origine, tieni presente quanto segue per generare uno snapshot coerente dei dati:

  • Prima di eseguire il dump, applica un blocco di lettura al database di origine per impedire la modifica dei dati durante la generazione del file di dump.
  • In alternativa, genera il file di dump utilizzando una replica di lettura dal database di origine con la replica disattivata.

Guide specifiche per le fonti