Esegui la migrazione a Firestore con compatibilità MongoDB

Questa guida ti illustra la procedura passo passo per eseguire la migrazione del database di origine compatibile con MongoDB a un database Firestore con compatibilità MongoDB con tempi di inattività minimi.

Informazioni sul processo di migrazione

La procedura di migrazione prevede le seguenti fasi:

  1. Preparazione: crei le risorse necessarie per la migrazione e imposti le variabili di ambiente che verranno utilizzate per eseguire i comandi nelle fasi successive del processo di migrazione.

  2. Importa dal database di origine compatibile con MongoDB: utilizzi il servizio Datastream per acquisire i contenuti del database di origine compatibile con MongoDB e trasferirli in un bucket Cloud Storage.

  3. Scrivi dati nel database Firestore con compatibilità MongoDB: utilizzi il servizio Dataflow per trasferire i dati dal bucket Cloud Storage a un database Firestore con compatibilità MongoDB.

    Questa pipeline Dataflow verrà eseguita contemporaneamente al flusso Datastream che estrae i dati dal database di origine compatibile con MongoDB.

  4. Esegui la migrazione del traffico a Firestore: al momento opportuno della procedura, esegui la migrazione del traffico di lettura e scrittura dell'applicazione al database Firestore con compatibilità MongoDB e arresta la pipeline di migrazione.

Il seguente diagramma riassume la procedura di migrazione:

Architettura di migrazione dei dati di streaming

Il database di origine compatibile con MongoDB rimane in uno stato di servizio durante il trasferimento dei dati:

  • Il processo Datastream acquisisce sia i dati inattivi che gli eventi di modifica.
  • Si verificherà un breve periodo di indisponibilità parziale quando dovrai interrompere il traffico di scrittura nel database di origine. Durante questo periodo, il resto degli eventi di modifica viene replicato in Firestore.

  • Al termine della replica, il database Firestore con compatibilità MongoDB può diventare la nuova fonte attendibile per il tuo carico di lavoro dell'applicazione. Tutto il traffico in lettura e scrittura può essere indirizzato al nuovo database.

Passaggi dettagliati per la migrazione

Questa sezione descrive la migrazione in modo più dettagliato.

Il servizio Datastream crea un flusso tra un'origine e una destinazione. In questo caso, l'origine è l'attuale deployment compatibile con MongoDB, mentre la destinazione è Cloud Storage. Questo processo prevede i seguenti passaggi:

  1. Crea un profilo di connessione Datastream di origine per l'origine MongoDB. Le istruzioni specifiche dipendono dal tipo e dalla modalità di deployment dell'origine compatibile con MongoDB.

  2. Crea un bucket Cloud Storage che riceverà i dati e gli eventi di modifica dal tuo database di origine compatibile con MongoDB.

  3. Crea un profilo di connessione Datastream di destinazione che utilizzi questo bucket Cloud Storage.

  4. Crea e attiva uno stream Datastream che connette il profilo di connessione di origine al profilo di connessione di destinazione.

  5. Avvia una pipeline Dataflow per iniziare a inserire i dati acquisiti nel database Firestore con compatibilità MongoDB.

  6. Monitora lo stream per identificare le tappe fondamentali del processo di migrazione e determinare se si sono verificati errori durante il trasferimento dei dati.

  7. Quando è opportuno, interrompi il traffico di scrittura nel database di origine. Dopo che tutti i dati, comprese le modifiche recenti, sono stati replicati nel database Firestore con compatibilità MongoDB, reindirizza il traffico di lettura alla nuova destinazione.

  8. Attiva il traffico di scrittura nel tuo database Firestore con compatibilità MongoDB.

Informazioni sugli esempi di codice

Gli esempi di codice in questa guida devono essere eseguiti uno dopo l'altro. Questa guida presuppone che tu configuri l'ambiente impostando in anticipo tutte le variabili di ambiente. Successivamente, esegui i comandi necessari per la migrazione che utilizzano le variabili di ambiente già configurate. Ti consigliamo di utilizzare questo approccio. Poiché molti comandi utilizzano le stesse variabili di ambiente, puoi ridurre la possibilità di introdurre errori tra le diverse fasi del processo di migrazione.

In alternativa, puoi sostituire le variabili negli esempi di comando con gli stessi valori impostati per le variabili di ambiente corrispondenti.

Limitazioni

Prima di iniziare, esamina le differenze tra Firestore con compatibilità MongoDB e MongoDB. Presta particolare attenzione a quanto segue:

Se uno dei tuoi dati non soddisfa le limitazioni nelle categorie precedenti:

  • Ti consigliamo di risolvere questi problemi nel tuo set di dati prima di iniziare la procedura di migrazione.

  • Se scegli di procedere senza modifiche, i documenti interessati dalle limitazioni non verranno scritti in Firestore e verranno messi da parte. Puoi decidere come devono essere gestiti questi documenti. Se vengono convertiti in tipi, valori o dimensioni supportati, possono essere rielaborati.

Datastream presenta i seguenti requisiti:

  • La versione principale minima di MongoDB supportata da Datastream è 4.0. Per alcune versioni secondarie, sono supportate versioni patch minime:

    • 4.0.21
    • 4.2.10
    • 4.4.2
  • Il cluster MongoDB deve supportare Change Streams. Il deployment MongoDB deve essere configurato come set di repliche o cluster con sharding per abilitare Change Streams.

Passaggi successivi

Vai a Configurare le risorse per la migrazione.