Migrazione dei dati

Dopo aver ottimizzato lo schema Spanner ed eseguito la migrazione dell'applicazione, puoi spostare i dati in un database Spanner vuoto di dimensioni di produzione, quindi 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 live con tempi di inattività minimi oppure potresti aver bisogno di tempi di inattività prolungati per eseguire la migrazione dei dati.

Se la tua applicazione non può permettersi molti tempi di inattività, valuta la possibilità di eseguire una migrazione dei dati live. Se la tua applicazione può gestire i tempi di inattività, puoi considerare la migrazione con tempi di inattività.

In una migrazione dei dati live, devi configurare l'infrastruttura di rete necessaria per il flusso di dati tra il database di origine, il database Spanner di destinazione e gli strumenti che utilizzi per eseguire la migrazione dei dati. Devi scegliere la connettività di rete privata o pubblica a seconda dei requisiti di conformità della tua organizzazione. Potresti aver bisogno dell'amministratore di rete della tua organizzazione per configurare l'infrastruttura.

Migrazione dei dati live

Una migrazione dei dati live è composta da due componenti:

  • Migrazione dei dati in uno snapshot coerente del database di origine.
  • Migrazione dello stream di modifiche (inserimenti, aggiornamenti ed eliminazioni) dallo snapshot, denominato Change Data Capture (CDC).

Sebbene le migrazioni dei dati live contribuiscano a proteggere i dati, il processo comporta delle sfide, tra cui le seguenti:

  • Archiviazione dei dati CDC durante la migrazione dello snapshot.
  • Scrittura dei dati CDC in Spanner durante l'acquisizione dello stream CDC in entrata.
  • Assicurarsi che la migrazione dei dati CDC a Spanner sia più veloce dello stream CDC in entrata.

Migrazione con tempi di inattività

Se il database di origine può esportare in formato CSV o Avro, puoi eseguire la migrazione a Spanner con tempi di inattività. Per saperne di più, consulta la panoramica dell'importazione e dell'esportazione di Spanner.

Le migrazioni con tempi di inattività possono essere utilizzate per ambienti di test o applicazioni che possono gestire alcune ore di inattività. In un database live, una migrazione con tempi di inattività potrebbe comportare la perdita di dati.

Per eseguire una migrazione con tempi di inattività, prendi in considerazione il seguente approccio di alto livello:

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

La generazione di più file di dump di piccole dimensioni velocizza la scrittura in Spanner, in quanto Spanner può leggere più file di dump in parallelo.

Quando generi un file di 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 disabilitata.

Guide specifiche per l'origine