Utilizzare Atlas Live Migration per eseguire la migrazione di MongoDB a MongoDB Atlas

Last reviewed 2023-05-08 UTC

Questo documento descrive un'architettura per la migrazione da un set di repliche MongoDB autogestito contenente database a un cluster completamente gestito in MongoDB Atlas utilizzando il servizio di migrazione Atlas Live Migration di MongoDB.

Questo documento è destinato agli architetti di database, agli amministratori di database e agli ingegneri di database interessati a un servizio MongoDB completamente ospitato o che sono responsabili della migrazione dei database MongoDB in una replica MongoDB impostata su un cluster MongoDB Atlas.

Architettura

Il seguente diagramma mostra l'architettura di migrazione:

Server MongoDB su Compute Engine con il percorso di migrazione dal principale a MongoDB Atlas.

Nel diagramma, una freccia rappresenta il percorso di migrazione dei dati dal set di repliche MongoDB di origine in esecuzione su Compute Engine al cluster di destinazione in esecuzione in MongoDB Atlas su Google Cloud.

L'architettura di deployment contiene i seguenti componenti:

  • Database di origine: un set di repliche MongoDB autogestito in esecuzione su tre istanze di Compute Engine.
  • Database di destinazione:un cluster MongoDB Atlas completamente gestito.
  • Servizio di migrazione: una configurazione di Atlas Live Migration per eseguire la migrazione dei dati dall'origine alla destinazione.

Sebbene questa architettura utilizzi un set di repliche MongoDB autogestito su istanze di Compute Engine, puoi anche eseguire il deployment di un set di repliche MongoDB di origine in un data center on-premise o in un altro ambiente cloud.

Alternative di progettazione

Le seguenti sezioni presentano potenziali alternative di progettazione per questa architettura.

Cluster MongoDB con sharding

L'architettura in questo documento utilizza un set di repliche MongoDB come origine. La migrazione di un cluster MongoDB con shard a MongoDB Atlas non è inclusa in questa architettura. La differenza di architettura tra un set di repliche MongoDB e un cluster MongoDB con shard è spiegata in Stack Exchange: amministratori di database.

Utility mongomirror Atlas

L'architettura in questo documento utilizza Atlas Live Migration, non l'utilità Atlas mongomirror. L'utilità mongomirror richiede l'installazione di un agente nell'ambiente MongoDB di origine e opera a un livello di astrazione inferiore.

Tecnologia di integrazione

La configurazione della migrazione in questa architettura è una migrazione omogenea con una semantica del testo. I dati non vengono trasformati durante la migrazione e non si verifica alcun consolidamento del database o resharding dei dati. Puoi implementare funzionalità che vanno oltre la semantica del testo utilizzando una tecnologia di integrazione come Striim.

Note sul layout

Le seguenti linee guida possono aiutarti a sviluppare un'architettura che soddisfi i requisiti della tua organizzazione in termini di affidabilità, costi e prestazioni.

Affidabilità

La migrazione in questa architettura è una migrazione unidirezionale da una replica MongoDB di origine impostata a un cluster MongoDB Atlas di destinazione. Dopo aver completato la migrazione completa della replica MongoDB di origine impostata sul cluster di destinazione, i database di origine non vengono aggiornati con le modifiche al cluster di destinazione. Di conseguenza, se implementi questa architettura in un ambiente di produzione, non puoi passare le applicazioni a database di origine aggiornati in un ambiente di riserva. Per ulteriori informazioni sui processi di fallback, consulta Migrazione dei database: concetti e principi (parte 2).

Ottimizzazione dei costi

Il deployment di questa architettura utilizza i seguenti componenti fatturabili di Google Cloud:

Per eseguire il deployment di questa architettura, non puoi utilizzare il livello gratuito di MongoDB Atlas. I tipi di macchina disponibili nel livello gratuito non supportano la migrazione Atlas Live. Il tipo di macchina minimo richiesto (M10 al momento della stesura di questo articolo) ha un costo di servizio orario in MongoDB Atlas. Per generare una stima del prezzo, vai alla pagina Prezzi di MongoDB Atlas ed esamina le informazioni sui prezzi di Google Cloud. Se implementi questa migrazione in produzione, ti consigliamo di utilizzare la versione standard ospitata di MongoDB Atlas.

Prestazioni

Atlas Live Migration supporta un approccio di migrazione dei database con tempi di inattività pari a zero. Durante la migrazione dal set di repliche MongoDB di origine, le applicazioni possono continuare ad accedere ai database di origine senza alcun impatto. Dopo il caricamento iniziale, Atlas Live Migration esegue la migrazione delle modifiche apportate dopo l'avvio della migrazione.

Una volta eseguita la migrazione del set di dati iniziale, esegui la migrazione dal database di origine al cluster di destinazione. Come parte del processo del cutover, sospendi l'accesso in scrittura al database di origine. Attendi che Atlas Live Migration rilevi le modifiche rimanenti e le applichi al database di destinazione. Una volta applicate le modifiche, puoi eseguire la migrazione completa in Atlas Live Migration e arrestare il database di origine.

Al termine della migrazione di tutti i dati, Atlas Live Migration ti informa sulla riga dello stato di avanzamento nell'interfaccia utente. A questo punto, la migrazione dei dati è completa e i sistemi delle applicazioni possono iniziare ad accedere al cluster di destinazione come nuovo sistema di registrazione.

Deployment

Per eseguire il deployment di questa architettura, consulta Eseguire il deployment di Atlas Live Migration per eseguire la migrazione di MongoDB a MongoDB Atlas.

Passaggi successivi