Runbook di migrazione Amazon DocumentDB - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Runbook di migrazione Amazon DocumentDB

Questo runbook fornisce una guida completa per la migrazione di un database MongoDB su Amazon DocumentDB utilizzando (DMS). AWS Database Migration Service È progettato per supportare gli amministratori di database, gli ingegneri del cloud e gli sviluppatori durante tutto il percorso di migrazione, dalla scoperta iniziale alla convalida end-to-end post-migrazione.

Date le differenze nell'implementazione e nelle funzionalità supportate tra MongoDB e Amazon DocumentDB, questo runbook enfatizza un approccio strutturato e sistematico. Descrive le valutazioni essenziali prima della migrazione, evidenzia le considerazioni sulla compatibilità e descrive in dettaglio le attività chiave necessarie per garantire una migrazione di successo con interruzioni minime.

Il runbook è organizzato nei seguenti argomenti:

  • Compatibilità— Comprendi le caratteristiche e i tipi di dati di MongoDB supportati in Amazon DocumentDB e identifica potenziali incompatibilità.

  • Scoperta del carico di lavoro— Analizza i carichi di lavoro MongoDB esistenti, read/write inclusi modelli, volumi di dati e linee di base delle prestazioni.

  • Migrazione degli indici— Analizza le strategie per estrarre e trasformare gli indici MongoDB per prestazioni ottimali in Amazon DocumentDB.

  • Migrazione degli utenti— Descrivi in dettaglio l'approccio per la migrazione di utenti, ruoli e controlli di accesso del database ad Amazon DocumentDB.

  • Migrazione dei dati— Utilizza vari metodi di migrazione dei dati AWS DMS, tra cui l'acquisizione dei dati a pieno caricamento e modifica (CDC).

  • Monitoraggio— Descrivi in dettaglio i vari approcci di monitoraggio durante la migrazione utilizzando DMS o strumenti nativi.

  • Validation— Fornire procedure per il controllo dell'integrità dei dati, la convalida funzionale e il confronto delle prestazioni dopo la migrazione.

Seguendo le indicazioni contenute in questo runbook, i team possono garantire una transizione fluida, sicura ed efficiente ad Amazon DocumentDB, preservando al contempo la funzionalità dell'applicazione e riducendo al minimo i rischi.

Compatibilità

Durante la migrazione da MongoDB ad Amazon DocumentDB, una valutazione iniziale approfondita e un controllo della compatibilità delle funzionalità sono essenziali per una migrazione di successo. Questo processo inizia con un inventario completo delle funzionalità di MongoDB, inclusi operatori di pipeline di aggregazione, modelli di query, indici e modelli di dati.

Poiché Amazon DocumentDB è compatibile con le API MongoDB 3.6, 4.0 e 5.0, le applicazioni che utilizzano nuove funzionalità specifiche di MongoDB potrebbero richiedere il refactoring. Le aree critiche da valutare includono i meccanismi di sharding (Amazon DocumentDB utilizza un approccio diverso), le implementazioni delle transazioni, la funzionalità dei flussi di modifica e i tipi di indice (in particolare indici sparsi e parziali).

Anche le caratteristiche prestazionali sono diverse, con Amazon DocumentDB ottimizzato per carichi di lavoro aziendali con prestazioni prevedibili. I test dovrebbero comportare l'esecuzione di carichi di lavoro rappresentativi su entrambi i sistemi per identificare i modelli di query che potrebbero richiedere un'ottimizzazione.

Il monitoraggio dei piani di esecuzione per individuare potenziali lacune nelle prestazioni è importante durante la fase di valutazione. Questo aiuta a creare una chiara tabella di marcia di migrazione, a identificare le modifiche necessarie alle applicazioni e a stabilire tempistiche realistiche per una transizione senza intoppi.

Compatibilità delle funzionalità principali

Supporto completo delle funzionalità

  • Operazioni CRUD: usufruisci del supporto completo per tutte le operazioni di base di creazione, lettura, aggiornamento ed eliminazione, inclusi gli operatori di blocco e di interrogazione, garantendo una perfetta compatibilità delle applicazioni.

  • Funzionalità di indicizzazione avanzate: sfrutta il supporto completo per indici a campo singolo, composti, TTL, parziali, sparsi e a due sfere, per ottimizzare le prestazioni delle query e gli indici di testo (versione 5) per le ricerche basate su testo.

  • Replica di livello aziendale: sfrutta un robusto meccanismo di failover automatico con repliche di lettura per un'elevata disponibilità superiore senza sovraccarichi operativi.

  • Soluzioni di backup avanzate: rilassatevi con il sistema di backup automatizzato con Point-in-Time ripristino (PITR) e istantanee manuali su richiesta per la protezione dei dati.

Funzionalità avanzate e integrate AWS

  • Aggregazione semplificata: sfrutta le fasi di aggregazione più comunemente utilizzate ($match,, $group $sort$project, ecc.) con prestazioni ottimizzate per i carichi di lavoro aziendali.

  • Supporto alle transazioni: implementa transazioni con più documenti e più raccolte, perfette per la maggior parte delle esigenze applicative aziendali.

  • Monitoraggio dei dati in tempo reale: abilita i flussi di modifica con un semplice comando e aumenta il periodo di conservazione dei flussi di modifiche tramite una semplice impostazione di gruppi di parametri per il monitoraggio delle modifiche dei dati in tempo reale.

  • Servizi basati sulla posizione: implementa applicazioni geospaziali con supporto per indici operatori e 2dsphere. $geoNear

  • Funzionalità di ricerca di testo: utilizza la funzionalità di ricerca di testo integrata per le esigenze di scoperta dei contenuti.

Vantaggi dell'architettura moderna

  • Design nativo per il cloud: sfrutta un'architettura AWS ottimizzata che sostituisce le funzionalità legacy, ad esempio MapReduce con operazioni di pipeline di aggregazione più efficienti.

  • Sicurezza avanzata: sfrutta i vantaggi dell'autenticazione dei certificati AWS Identity and Access Management (IAM), SCRAM-SHA-1, SCRAM-SHA-256, X.509 e dell'autenticazione basata su password.

  • Prestazioni prevedibili: ottieni prestazioni costanti ottimizzate specificamente per i carichi di lavoro aziendali.

Per una panoramica completa delle funzionalità di Amazon DocumentDB, consulta APIsMongoDB, operazioni e tipi di dati supportati in Amazon DocumentDB e per Differenze funzionali: Amazon DocumentDB e MongoDB massimizzare il potenziale del tuo database.

Amazon DocumentDB non supporta tutti gli indici offerti da MongoDB. Forniamo uno strumento di indicizzazione gratuito per verificare la compatibilità. Ti consigliamo di utilizzare lo strumento di indicizzazione per valutare l'incompatibilità e pianificare soluzioni alternative di conseguenza.

Strumento di valutazione della compatibilità di Amazon DocumentDB

Lo strumento di compatibilità da MongoDB ad Amazon DocumentDB è un'utilità open source disponibile GitHub che aiuta a valutare la compatibilità dei carichi di lavoro di MongoDB con Amazon DocumentDB analizzando i log di MongoDB o il codice sorgente dell'applicazione.

Caratteristiche principali

  • Identifica i modelli di utilizzo dell'API MongoDB nel tuo carico di lavoro

  • Segnala potenziali problemi di compatibilità prima della migrazione

  • Genera report di compatibilità dettagliati con consigli

  • Disponibile come utilità autonoma che può essere eseguita localmente

Metodi di valutazione

Valutazione basata su log

  • Professionisti:

    • Cattura il comportamento effettivo in fase di esecuzione e i modelli di interrogazione

    • Identifica le frequenze di utilizzo e le caratteristiche prestazionali del mondo reale

    • Rileva query dinamiche che potrebbero non essere visibili nel codice sorgente

    • Non è richiesto l'accesso al codice sorgente dell'applicazione

  • Contro:

    • Richiede l'accesso ai log di MongoDB con la profilazione abilitata

    • Cattura solo le operazioni avvenute durante il periodo di registrazione

    • Potrebbero non essere disponibili funzionalità utilizzate raramente o carichi di lavoro stagionali

Analisi del codice sorgente

  • Professionisti:

    • Copertura completa di tutte le potenziali operazioni di MongoDB nella codebase

    • Può identificare problemi nei percorsi di codice eseguiti raramente

    • Rileva la logica lato client che potrebbe essere influenzata dalle differenze di Amazon DocumentDB

    • Non è necessario eseguire l'applicazione per eseguire la valutazione

  • Contro:

    • Può contrassegnare un codice che esiste ma non viene mai eseguito in produzione

    • Richiede l'accesso al codice sorgente completo dell'applicazione

    • Capacità limitata di analizzare query costruite dinamicamente

Per ottenere risultati ottimali, consigliamo di utilizzare entrambi i metodi di valutazione quando possibile per avere un quadro completo delle sfide di compatibilità prima della migrazione.

Scoperta del carico di lavoro

La migrazione da MongoDB ad Amazon DocumentDB richiede una conoscenza approfondita del carico di lavoro del database esistente. La scoperta del carico di lavoro è il processo di analisi dei modelli di utilizzo del database, delle strutture dei dati, delle prestazioni delle query e delle dipendenze operative per garantire una transizione senza interruzioni con interruzioni minime. Questa sezione descrive i passaggi chiave coinvolti nella scoperta del carico di lavoro per facilitare una migrazione efficace da MongoDB ad Amazon DocumentDB.

Valutazione della distribuzione esistente di MongoDB

Prima della migrazione, è fondamentale valutare l'attuale ambiente MongoDB, tra cui:

  • Architettura del cluster: identifica il numero di nodi, i set di repliche e le configurazioni di sharding. Quando si effettua la migrazione da MongoDB ad Amazon DocumentDB, è importante comprendere la configurazione dello sharding di MongoDB perché Amazon DocumentDB non supporta lo sharding controllato dall'utente. Le applicazioni progettate per un ambiente MongoDB condiviso richiederanno modifiche all'architettura, poiché Amazon DocumentDB utilizza un approccio di scalabilità diverso con la sua architettura basata sullo storage. Dovrai adattare la tua strategia di distribuzione dei dati e possibilmente consolidare le raccolte frammentate quando passi ad Amazon DocumentDB.

  • Storage e volume di dati: misura la dimensione totale dei dati e la dimensione dell'indice del cluster. Completa questo con lo strumento di revisione Oplog per comprendere i modelli di scrittura e la velocità di crescita dei dati. Per ulteriori informazioni sul dimensionamento del cluster, consulta. Dimensionamento delle istanze

  • Schemi di carico di lavoro: analizza la velocità di lettura e scrittura, la frequenza di esecuzione delle query e l'efficienza di indicizzazione.

  • Dipendenze operative: documenta tutte le applicazioni, i servizi e le integrazioni facendo affidamento su MongoDB.

Identificazione delle differenze tra modelli di dati

Sebbene Amazon DocumentDB sia compatibile con MongoDB, esistono differenze nelle funzionalità supportate, come:

  • Transazioni: Amazon DocumentDB supporta le transazioni ACID, ma con alcune. Limitazioni

  • Progettazione dello schema: assicurati che le strutture dei documenti, i documenti incorporati e i riferimenti siano in linea con le best practice di Amazon DocumentDB.

Analisi delle interrogazioni e delle prestazioni

La comprensione del comportamento delle query aiuta a ottimizzare le prestazioni di migrazione e post-migrazione. Le aree chiave da analizzare includono:

  • Query lente: identifica le query con tempi di esecuzione elevati utilizzando gli strumenti di profilazione di MongoDB.

  • Modelli di query: categorizza i tipi di query più comuni, comprese le operazioni e le aggregazioni CRUD.

  • Utilizzo dell'indice: valuta se gli indici vengono utilizzati in modo efficace o se necessitano di ottimizzazione in Amazon DocumentDB. Per valutare l'utilizzo dell'indice e ottimizzare le prestazioni in Amazon DocumentDB, utilizza la fase della pipeline di $indexStats aggregazione combinata con il explain() metodo per le query critiche. Inizia eseguendo db.collection.aggregate([{$indexStats{}}]) per identificare quali indici vengono utilizzati. Puoi eseguire analisi più dettagliate eseguendo le query più frequenti con. explainPlan

  • Concorrenza e distribuzione del carico di lavoro: valuta i rapporti di lettura e scrittura, il pool di connessioni e i colli di bottiglia delle prestazioni.

Revisione della sicurezza e del controllo degli accessi

Autenticazione e autorizzazione

  • MongoDB RBAC su Amazon DocumentDB IAM e RBAC: mappa gli utenti e i ruoli di controllo degli accessi basati sui ruoli di MongoDB alle policy (IAM) e AWS Identity and Access Management agli utenti di autenticazione SCRAM di Amazon DocumentDB.

  • Strategia di migrazione degli utenti: pianifica la migrazione degli utenti del database, dei ruoli personalizzati e dei privilegi verso i meccanismi di autenticazione supportati da Amazon DocumentDB.

  • Differenze di privilegi: identifica i privilegi di MongoDB senza equivalenti diretti di Amazon DocumentDB (ad esempio, ruoli di amministrazione del cluster).

  • Autenticazione delle applicazioni: aggiorna le stringhe di connessione e la gestione delle credenziali per le politiche di password di Amazon DocumentDB. Puoi utilizzare Secrets Manager per memorizzare le tue credenziali e ruotare le password.

  • Gestione degli account di servizio: stabilisci processi per la gestione delle credenziali degli account di servizio in. AWS Secrets Manager

  • Implementazione con privilegi minimi: rivedi e perfeziona i controlli di accesso per implementare i principi del privilegio minimo nel nuovo ambiente.

Encryption (Crittografia)

Garantisci che la crittografia a riposo e in transito sia in linea con i requisiti di conformità.

Configurazione della rete

Pianifica la configurazione del Virtual Private Cloud (VPC) e le regole dei gruppi di sicurezza.

Considerazioni operative e di monitoraggio

Per mantenere l'affidabilità del sistema, l'individuazione dei carichi di lavoro dovrebbe includere anche:

  • Strategia di backup e ripristino: valuta i metodi di backup esistenti e le funzionalità di backup di Amazon DocumentDB.

  • AWS Backup integrazione: sfrutta AWS Backup la gestione centralizzata dei backup tra AWS servizi tra cui Amazon DocumentDB.

  • CloudWatch metriche: mappa i parametri di monitoraggio di MongoDB ai parametri di Amazon DocumentDB per CloudWatch CPU, memoria, connessioni e storage.

  • Performance Insights: implementa Amazon DocumentDB Performance Insights per visualizzare il carico del database e analizzare i problemi di prestazioni con analisi dettagliate delle query.

  • Profiler: configura il profiler Amazon DocumentDB per acquisire operazioni a esecuzione lenta (simile al profiler di MongoDB ma con impostazioni specifiche di Amazon DocumentDB).

    • Abilita tramite gruppi di parametri con soglie appropriate.

    • Analizza i dati del profiler per identificare opportunità di ottimizzazione

  • CloudWatch Eventi: configura il monitoraggio basato sugli eventi per gli eventi del cluster Amazon DocumentDB.

    • Configura le notifiche per eventi di backup, finestre di manutenzione e failover.

    • Integra con Amazon SNS per avvisi e risposte AWS Lambda automatiche.

  • Registrazione degli audit: pianifica la configurazione della registrazione di audit per tenere traccia delle attività degli utenti e degli eventi rilevanti per la sicurezza.

  • Monitoraggio avanzato: abilita il monitoraggio avanzato per metriche granulari a livello di sistema operativo a intervalli di 1 secondo.

Migrazione degli indici

La migrazione da MongoDB ad Amazon DocumentDB implica il trasferimento non solo di dati ma anche di indici per mantenere le prestazioni delle query e ottimizzare le operazioni del database. Questa sezione descrive il step-by-step processo dettagliato per la migrazione degli indici da MongoDB ad Amazon DocumentDB, garantendo al contempo compatibilità ed efficienza.

Utilizzo dello strumento di indicizzazione Amazon DocumentDB

Clona lo strumento di indicizzazione

git clone https://github.com/aws-samples/amazon-documentdb-tools.git cd amazon-documentdb-tools/index-tool
pip install -r requirements.txt

Esporta indici da MongoDB (in caso di migrazione da MongoDB)

python3 migrationtools/documentdb_index_tool.py --dump-indexes --dir mongodb_index_export --uri 'mongodb://localhost:27017'

Esportazione di indici da Amazon DocumentDB (in caso di migrazione da Amazon DocumentDB)

python3 migrationtools/documentdb_index_tool.py --dump-indexes --dir docdb_index_export --uri 'mongodb://user:password@mydocdb.cluster-cdtjj00yfi95.eu-west- 2.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=rds-combined-ca- bundle.pem&replicaSet=rs0&retryWrites=false'

Importa indici

python3 migrationtools/documentdb_index_tool.py --restore-indexes --skip-incompatible --dir mongodb_index_export --uri 'mongodb://user:password@mydocdb.cluster-cdtjj00yfi95.eu-west- 2.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=rds-combined-ca- bundle.pem&replicaSet=rs0&retryWrites=false'

Verifica gli indici

python3 migrationtools/documentdb_index_tool.py --show-issues --dir mongodb_index_export

Migrazione degli utenti

La migrazione degli utenti da MongoDB ad Amazon DocumentDB è essenziale per mantenere il controllo degli accessi, l'autenticazione e la sicurezza del database. Questa sezione descrive i passaggi dettagliati per migrare con successo gli utenti di MongoDB preservandone i ruoli e le autorizzazioni utilizzando lo strumento di esportazione utenti di Amazon DocumentDB.

Utilizzo dello strumento Amazon DocumentDB Export Users

Export Users toolEsporta utenti e ruoli da MongoDB o Amazon DocumentDB in file, che possono quindi essere utilizzati JavaScript per ricrearli in un altro cluster.

Prerequisiti

# Clone the repository git clone https://github.com/awslabs/amazon-documentdb-tools.git cd amazon-documentdb-tools/migration/export-users
# Install required dependencies pip install pymongo

Fase 1: Esportazione di utenti e ruoli

# Export users and roles to JavaScript files python3 docdbExportUsers.py \ --users-file mongodb-users.js \ --roles-file mongodb-roles.js \ --uri "mongodb://admin:password@source-host:27017/"

Fase 2: Modifica il file degli utenti

// Example of how to update the users.js file // Find each user creation statement and add the password db.getSiblingDB("admin").createUser({ user: "appuser", // Add password here pwd: "newpassword", roles: [ { role: "readWrite", db: "mydb" } ] })

Fase 3: Ripristino dei ruoli personalizzati in Amazon DocumentDB

# Import roles first mongo --ssl \ --host target-host:27017 \ --sslCAFile rds-combined-ca-bundle.pem \ --username admin \ --password password \ mongodb-roles.js

Fase 4: Ripristino degli utenti su Amazon DocumentDB

# Import users after roles are created mongo --ssl \ --host target-host:27017 \ --sslCAFile rds-combined-ca-bundle.pem \ --username admin \ --password password \ mongodb-users.js

Note importanti

  • Le password non vengono esportate per motivi di sicurezza e devono essere aggiunte manualmente al file users.js.

  • I ruoli devono essere importati prima degli utenti per garantire la corretta assegnazione dei ruoli.

  • Lo strumento genera JavaScript file che possono essere eseguiti direttamente con la shell mongo.

  • I ruoli personalizzati e i relativi privilegi vengono preservati durante la migrazione.

  • Questo approccio consente la revisione e la modifica delle autorizzazioni degli utenti prima dell'importazione.

Questo metodo fornisce un approccio sicuro e flessibile alla migrazione di utenti e ruoli da MongoDB ad Amazon DocumentDB, consentendo al contempo la reimpostazione delle password durante il processo di migrazione.

Migrazione dei dati

Migrazione online

Questa sezione fornisce i passaggi dettagliati per eseguire una migrazione online da MongoDB ad Amazon DocumentDB AWS DMS utilizzando per consentire tempi di inattività minimi e replica continua. Per iniziare, devi configurare un cluster Amazon DocumentDB come destinazione e assicurarti che l'istanza MongoDB sia configurata correttamente come origine, in genere richiedendo la modalità set di repliche per l'acquisizione dei dati delle modifiche. Successivamente, crei un'istanza di replica DMS e definisci gli endpoint di origine e destinazione con i dettagli di connessione necessari. Dopo aver convalidato gli endpoint, si configura e si avvia un'attività di migrazione che può includere il caricamento completo dei dati, la replica continua o entrambi.

Configurazione della destinazione (Amazon DocumentDB)

Nota

Se hai già effettuato il provisioning di un cluster Amazon DocumentDB verso cui migrare, puoi saltare questo passaggio.

Crea un gruppo di parametri personalizzato

Vedi le AWS CLI procedure AWS Management Console o inCreazione di gruppi di parametri del cluster Amazon DocumentDB.

Crea un cluster Amazon DocumentDB

Nota

Sebbene in questa guida siano presenti altre procedure per creare un cluster Amazon DocumentDB, i passaggi di questa sezione si applicano specificamente all'attività di migrazione di grandi quantità di dati in un nuovo cluster.

  1. Accedi a e apri AWS Management Console la console Amazon DocumentDB all'indirizzo https://console.aws.amazon.com /docdb.

  2. Nel pannello di navigazione scegliere Clusters (Cluster).

    Suggerimento

    Se il riquadro di navigazione non viene visualizzato sul lato sinistro della schermata, scegliere l'icona del menu (Hamburger menu icon with three horizontal lines.) nell'angolo in alto a sinistra della pagina.

  3. Nella console di gestione Amazon DocumentDB, in Clusters, scegli Crea.

  4. Nella pagina Crea cluster Amazon DocumentDB, nella sezione Tipo di cluster, scegli Cluster basato su istanze (questa è l'opzione predefinita).

  5. Nella sezione Configurazione del cluster:

    • Per l'identificatore del cluster, inserisci un nome univoco, ad esempiomydocdbcluster. Tieni presente che la console cambierà tutti i nomi dei cluster in lettere minuscole indipendentemente da come vengono immessi.

    • Per la versione Engine, scegli 5.0.0.

  6. Nella sezione Configurazione dello storage del cluster, lascia l'impostazione Amazon DocumentDB Standard così com'è (questa è l'opzione predefinita).

  7. Nella sezione Configurazione dell'istanza:

    • Per la classe di istanza DB, scegli Classi ottimizzate per la memoria (include le classi r) (questa è l'impostazione predefinita).

    • Per la classe Instance, scegli una classe di istanza in base al carico di lavoro. Per esempio:

      • db.r6g.large: per carichi di lavoro più piccoli

      • db.r6g.4xlarge: per carichi di lavoro più grandi

      Come best practice, ti consigliamo di scegliere un'istanza più grande possibile per ottenere la massima velocità di trasmissione a pieno carico e di ridimensionarla al termine della migrazione.

    • Per Numero di istanze, scegli 1 istanza. La scelta di un'istanza aiuta a ridurre al minimo i costi. Ti consigliamo di passare a tre istanze per un'elevata disponibilità dopo il completamento della migrazione a pieno carico.

  8. Nella sezione Autenticazione, inserisci un nome utente per l'utente principale, quindi scegli Gestione automatica. Inserisci una password, quindi confermala.

  9. Nella sezione Impostazioni di rete, scegli un VPC e un gruppo di sottoreti, quindi configura il gruppo di sicurezza VPC. Assicurati che il tuo gruppo di sicurezza Amazon DocumentDB consenta la connessione in entrata dal gruppo di sicurezza dell'istanza DMS aggiornando le regole in entrata.

  10. Nella ncryption-at-rest sezione E, abilita la crittografia (scelta consigliata) e scegli o inserisci una chiave KMS.

  11. Nella sezione Backup, imposta il periodo di conservazione del backup (1-35 giorni).

  12. Controlla la tua configurazione e scegli Crea cluster.

    Il tempo di implementazione richiede in genere tra 10 e 15 minuti,

Configura la fonte

MongoDB e Amazon DocumentDB possono entrambi fungere da fonti di migrazione, a seconda dello scenario:

  • MongoDB come sorgente: comune durante la migrazione da un MongoDB locale o autogestito a Amazon DocumentDB o ad altri servizi di database. AWS Richiede l'esecuzione in modalità set di repliche con un oplog di dimensioni adeguate (assicurati che sia dimensionato per contenere tutte le operazioni durante il pieno caricamento) per supportare l'acquisizione dei dati delle modifiche durante la migrazione.

  • Amazon DocumentDB come sorgente: in genere utilizzato per la replica tra regioni, gli aggiornamenti di versione o la migrazione ad altri servizi di database come MongoDB Atlas. Richiede l'Abilitare i flussi di modificaimpostazione del change_stream_log_retention_duration parametro nel gruppo di parametri del cluster per acquisire le modifiche in corso durante la migrazione. Assicurati che l'change_stream_log_retention_durationimpostazione sia sufficientemente ampia da coprire il tempo necessario per completare il Full Load.

Prima di iniziare la migrazione, configura la fonte per consentire AWS DMS l'accesso.

Crea un utente MongoDB con le autorizzazioni appropriate:

db.createUser({ user: "dmsUser", pwd: "yourSecurePassword", roles: [{ role: "readAnyDatabase", db: "admin" }] })

Configura rete e autenticazione.

Durante la configurazione della connettività di rete per la migrazione da MongoDB a DMS:

EC2- sorgente MongoDB ospitata

  • Modifica il gruppo EC2 di sicurezza per consentire il traffico in entrata dal gruppo di sicurezza dell'istanza di replica DMS.

  • Aggiungi una regola per la porta TCP 27017 (o la tua porta MongoDB personalizzata).

  • Utilizza l'ID del gruppo di sicurezza dell'istanza di replica DMS come fonte per un controllo preciso degli accessi.

  • Assicurati che la sottorete dell' EC2 istanza abbia un percorso verso la sottorete dell'istanza di replica DMS.

Sorgente MongoDB locale

  • Configura il firewall per consentire le connessioni in entrata dagli indirizzi IP pubblici dell'istanza di replica DMS.

  • Se utilizzi AWS Direct Connect una VPN, assicurati il routing corretto tra la tua rete e il VPC contenente l'istanza DMS.

  • Verifica la connettività utilizzando i comandi telnet o nc dalla sottorete DMS al server MongoDB.

Fonte MongoDB Atlas

  • Aggiungi gli indirizzi IP di un'istanza di replica DMS all'elenco di indirizzi IP di MongoDB Atlas.

  • Configura il peering VPC tra VPC e AWS MongoDB Atlas VPC se Atlas è in esecuzione. AWS

  • Configura AWS PrivateLink la connettività privata (livello Enterprise), se in esecuzione su un altro provider di servizi cloud.

  • Crea un utente dedicato con le read/write autorizzazioni appropriate.

  • Usa una stringa di connessione MongoDB Atlas con la modalità SSL impostata su «verify-full».

  • Garantisci una dimensione del log sufficiente per la durata della migrazione.

Fonte Amazon DocumentDB

Configura il gruppo di sicurezza Amazon DocumentDB di origine per consentire il traffico in entrata dal gruppo di sicurezza dell'istanza di replica DMS.

Crea un'istanza di replica DMS

Ti consigliamo di utilizzare DMS Buddy per il provisioning dell'infrastruttura DMS in quanto crea un'infrastruttura di migrazione ottimale con impostazioni DMS e dimensioni delle istanze ottimali.

Se preferisci effettuare la configurazione manualmente, segui questi passaggi:

  1. Apri la console AWS DMS e scegli Crea istanza di replica.

  2. Inserisci i dettagli dell'istanza di replica:

    • Nome dell'istanza: scegli un nome univoco.

    • Classe di istanza: seleziona in base al carico di lavoro. Esempio: dms.r5.large (carichi di lavoro piccoli), dms.r5.4xlarge (carichi di lavoro di grandi dimensioni).

    • Versione del motore: 3.5.4

    • Archiviazione allocata: l'impostazione predefinita è 100 GB (aumentare se necessario). Questo valore è determinato dalla dimensione del documento updates/second e dalla durata del caricamento completo.

    • Implementazione Multi-AZ: abilita l'alta disponibilità, se necessario.

    • Scegli lo stesso VPC di Amazon DocumentDB.

    • Assicurarsi che i gruppi di sicurezza consentano il traffico in entrata dalla sorgente e da Amazon DocumentDB.

  3. Fai clic su Crea istanza di replica e attendi che lo stato sia disponibile.

Crea endpoint DMS

Crea un endpoint di origine

Per una fonte MongoDB

  1. Nella console DMS, nel riquadro di navigazione, scegli Migra o replica, quindi scegli Endpoints.

  2. Seleziona Crea endpoint.

  3. Nella pagina Crea endpoint, scegli Source endpoint.

  4. Nella sezione Configurazione dell'endpoint:

    • Inserisci un identificatore Endpoint univoco e significativo (ad esempio, «mongodb-source»).

    • Scegli MongoDB come motore sorgente.

    • Per Accede al database di endpoint scegli Fornisci le informazioni di accesso manualmente.

    • Per il nome del server, inserisci il tuo. MongoDB server DNS name/IP address

    • Per Port, inserisci 27017 (porta MongoDB predefinita).

    • Per la modalità di autenticazione, scegli la modalità appropriata per la tua applicazione (Password/SSL) (l'impostazione predefinita è Secrets Manager).

    • Se la modalità di autenticazione è Password, fornisci:

      • Nome utente e password: inserisci le credenziali MongoDB.

      • Nome del database: il nome del database di origine.

      • Meccanismo di autenticazione: SCRAM-SHA-1 (predefinito) o meccanismo appropriato

  5. Per la modalità Metadati, lasciate l'impostazione predefinita del documento.

  6. Attributi di connessione aggiuntivi:

    • authsource=admin (se il database di autenticazione è diverso)

    • your-replica-set-nameReplicaSet=< > (richiesto per CDC)

Per un sorgente Amazon DocumentDB

  1. Nella console DMS, nel pannello di navigazione, scegli Migra o replica, quindi scegli Endpoints.

  2. Seleziona Crea endpoint.

  3. Nella pagina Crea endpoint, scegli Source endpoint.

  4. Nella sezione Configurazione dell'endpoint:

    • Inserisci un identificatore Endpoint univoco e significativo (ad esempio, «docdb-source»).

    • Scegli Amazon DocumentDB come motore di origine.

    • Per Accede al database di endpoint scegli Fornisci le informazioni di accesso manualmente.

    • Per il nome del server, inserisci il tuosource Amazon DocumentDB cluster endpoint.

    • Per Port, inserisci 27017 (porta Amazon DocumentDB predefinita).

    • Per la modalità SSL, scegli verify-full (consigliato per Amazon DocumentDB).

    • Per il certificato CA, scegli il certificato CA root di Amazon RDS.

    • Per la modalità di autenticazione, scegli la modalità appropriata per la tua applicazione (Password/SSL) (l'impostazione predefinita è Secrets Manager).

    • Se la modalità di autenticazione è Password, fornisci:

      • Nome utente e password: inserisci le credenziali di Amazon DocumentDB.

      • Nome del database: il nome del database di origine.

      • Meccanismo di autenticazione: SCRAM-SHA-1 (predefinito) o meccanismo appropriato

  5. Per la modalità Metadati, lasciate l'impostazione predefinita del documento.

Creare un endpoint di destinazione (Amazon DocumentDB)
  1. Nella console DMS, nel pannello di navigazione, scegli Migra o replica, quindi scegli Endpoints.

  2. Seleziona Crea endpoint.

  3. Nella pagina Crea endpoint, scegli Target endpoint.

  4. Nella sezione Configurazione dell'endpoint:

    • Inserisci un identificatore Endpoint univoco e significativo (ad esempio, «docdb-target»).

    • Scegli Amazon DocumentDB come motore di Target.

    • Per l'accesso al database degli endpoint, scegli il metodo che desideri utilizzare per autenticare l'accesso al database:

      • Se scegli AWS Secrets Manager, scegli il segreto in cui archiviare le credenziali di Amazon DocumentDB nel campo Segreto.

      • Se scegli Fornisci le informazioni di accesso manualmente:

        • Per il nome del server, inserisci il tuotarget Amazon DocumentDB cluster endpoint.

        • Per Port, inserisci 27017 (porta Amazon DocumentDB predefinita).

        • Per la modalità SSL, scegli verify-full (consigliato per Amazon DocumentDB).

        • Per il certificato CA, scarica e specifica il pacchetto di certificati CA per la verifica SSL.

        • Per la modalità di autenticazione, scegli la modalità appropriata per la tua applicazione (Password/SSL) (l'impostazione predefinita è Secrets Manager).

        • Se la modalità di autenticazione è Password, fornisci:

          • Nome utente e password: inserisci le credenziali di Amazon DocumentDB.

          • Nome del database: il nome del database di origine.

          • Meccanismo di autenticazione: SCRAM-SHA-1 (predefinito) o meccanismo appropriato

  5. Per la modalità Metadati, lasciate l'impostazione predefinita del documento.

Crea un'attività di replica

  1. Nella console DMS, nel riquadro di navigazione, scegli Migra o replica, quindi scegli Attività.

  2. Scegli Create task (Crea attività).

  3. Nella pagina Crea attività, nella sezione Configurazione delle attività:

    • Immettere un identificatore di attività univoco e significativo (ad esempio, "mongodb-docdb-replication«).

    • Scegliete l'endpoint di origine creato in precedenza nel menu a discesa Source database Endpoint.

    • Scegli l'endpoint di destinazione che hai creato in precedenza nel menu a discesa Target database Endpoint.

    • Per Tipo di attività, scegli Migra e replica.

  4. Nella sezione Impostazioni:

    • Per la modalità di preparazione della tabella Target, lascia l'impostazione predefinita.

    • Per Arresta l'attività dopo il completamento del caricamento completo, lascia l'impostazione predefinita.

    • Per le impostazioni delle colonne LOB, lasciate invariata l'impostazione della modalità LOB limitata.

    • Per la convalida dei dati, lasciate l'impostazione predefinita di Disattiva.

    • Per i registri delle attività, seleziona la casella Attiva CloudWatch registri.

    • Per l'applicazione ottimizzata in batch, lasciate deselezionata (disattivata) l'impostazione predefinita.

  5. Tornando all'inizio della sezione Impostazioni delle attività, in modalità Modifica, scegli l'editor JSON e imposta i seguenti attributi:

    { "TargetMetadata": { "ParallelApplyThreads": 5 }, "FullLoadSettings": { "MaxFullLoadSubTasks": 16 } }
  6. Nella sezione Mappature delle tabelle, aggiungi una nuova regola di selezione:

    • Per Schema name, aggiungi il database di origine da migrare. Usa% per specificare più database.

    • Per il nome della tabella Schema, aggiungi la raccolta di sorgenti da migrare. Usa% per specificare più raccolte.

    • Per Azione, lascia l'impostazione predefinita di Include

  7. Per raccolte di grandi dimensioni (oltre 100 GB), aggiungi la regola delle impostazioni della tabella:

    • Per Schema name, aggiungi il database di origine da migrare. Usa% per specificare più database.

    • Per il nome della tabella Schema, aggiungi la raccolta di sorgenti da migrare. Usa% per specificare più raccolte.

    • Per Numero di partizioni, inserisci 16 (deve essere inferiore aMaxFullLoadSubTask).

  8. Nella sezione Valutazione preliminare, assicurati che sia disattivata.

Migrazione offline

Questa sezione descrive il processo per eseguire una migrazione offline da un'istanza MongoDB autogestita ad Amazon DocumentDB utilizzando strumenti MongoDB nativi: e. mongodump mongorestore

Prerequisiti

Requisiti MongoDB di origine

  • Accesso all'istanza MongoDB di origine con le autorizzazioni appropriate.

  • Installamongodump. se necessario (viene installato durante un'installazione di MongoDB).

  • Assicurati che ci sia abbastanza spazio su disco per i file di dump.

Requisiti target di Amazon DocumentDB

  • Assicurati di disporre di un cluster Amazon DocumentDB.

  • Assicurati che ci sia un' EC2 istanza nello stesso VPC di Amazon DocumentDB per facilitare la migrazione.

  • La connettività di rete deve essere disponibile tra l'ambiente di origine e Amazon DocumentDB.

  • mongorestore deve essere installato sull'istanza di migrazione. EC2

  • È necessario configurare le autorizzazioni IAM appropriate per accedere ad Amazon DocumentDB,

Requisiti generali

  • AWS CLI deve essere configurato (se si utilizzano AWS servizi per l'archiviazione intermedia)

  • Deve essere disponibile una larghezza di banda sufficiente per il trasferimento dei dati.

  • È necessario approvare una finestra di inattività (se si effettua una migrazione in tempo reale, è necessario prendere in considerazione altri approcci)

Preparare un cluster Amazon DocumentDB

Crea un cluster Amazon DocumentDB in: AWS

  • Scegli una dimensione dell'istanza in base al tuo carico di lavoro.

  • Configura un VPC, sottoreti e gruppi di sicurezza.

  • Abilita i parametri necessari tramite gruppi di parametri.

Esegui il dump dei dati (mongodump)

Scegliete una delle seguenti opzioni per creare un file di dump:

  • Opzione 1: base

    mongodump -- uri="mongodb://<source_user>:<source_password>@<source_host>:<source_port>/<database>" -- out=/path/to/dump
  • Opzione 2: controllo e prestazioni migliori

    mongodump \ --uri="mongodb://<source_user>:<source_password>@<sourcehost>:<source_port>" \ --out=/path/to/dump \ --gzip \# Compress output --numParallelCollections=4 \# Parallel collections dump --ssl \# If using SSL --authenticationDatabase=admin \ # If auth is required --readPreference=secondaryPreferred # If replica set
  • Opzione 3: database di grandi dimensioni

    mongodump \ --host=<source_host> \ --port=<source_port> \ --username=<source_user> \ --password=<source_password> \ --db=<specific_db> \# Only dump specific DB --collection=<specific_collection> \ # Only dump specific collection --query='{ "date": { "$gt": "2020-01-01" } }' \ # Filter documents --archive=/path/to/archive.gz \# Single archive output --gzip \ --ssl

Trasferisci i file di dump nell'ambiente di ripristino

Scegli un metodo appropriato in base alla dimensione del tuo dump:

  • Piccolo: copia direttamente sul tuo computer di migrazione (EC2 istanza creata in precedenza):

    scp -r /path/to/dump user@migration-machine:/path/to/restore
  • Medio: usa Amazon S3 come storage intermedio:

    aws s3 cp --recursive /path/to/dump s3://your-bucket/mongodb-dump/
  • Grande: per database molto grandi, prendi in considerazione un AWS DataSync trasferimento fisico.

Ripristina i dati su Amazon DocumentDB (mongorestore)

Prima di iniziare il processo di ripristino, crea gli indici in Amazon DocumentDB. Puoi utilizzare lo strumento Amazon DocumentDB Index per esportare e importare indici.

Scegli una delle seguenti opzioni per ripristinare i dati:

  • Opzione 1: ripristino di base

    mongorestore --uri="mongodb://<docdb_user>:<docdb_password>@<docdb_endpoint>:27017" /path/to/dump
  • Opzione 2: controllo e prestazioni migliori

    mongorestore \ --uri="mongodb://<docdb_user>:<docdb_password>@<docdb_endpoint>:27017" \ --ssl \ --sslCAFile=/path/to/rds-combined-ca-bundle.pem \ # DocumentDB CA cert --gzip \# If dumped with gzip --numParallelCollections=4 \# Parallel restoration --numInsertionWorkersPerCollection=4 \# Parallel documents insertion --noIndexRestore \# skip indexes as they are pre-created /path/to/dump
  • Opzione 3: database di grandi dimensioni o controlli specifici

    mongorestore \ --host=<docdb_endpoint> \ --port=27017 \ --username=<docdb_user> \ --password=<docdb_password> \ --ssl \ --sslCAFile=/path/to/rds-combined-ca-bundle.pem \ --archive=/path/to/archive.gz \# If using archive format --gzip \ --nsInclude="db1.*" \# Only restore specific namespaces --nsExclude="db1.sensitive_data" \ # Exclude specific collections if needed --noIndexRestore \# skip indexes as they are pre-created --writeConcern="{w: 'majority'}" # Ensure write durability

Monitoraggio

Questa sezione fornisce un processo di monitoraggio dettagliato per tenere traccia dell'avanzamento, delle prestazioni e dello stato di una migrazione in corso da:

Da MongoDB ad Amazon DocumentDB

oppure

Da Amazon DocumentDB ad Amazon DocumentDB

Le fasi di monitoraggio si applicano indipendentemente dal metodo di migrazione (AWS DMS mongodump/mongorestore o altri strumenti).

AWS DMS Monitoraggio della migrazione (se applicabile)

Monitora le seguenti CloudWatch metriche chiave:

Metriche della fase a pieno carico

  • FullLoadThroughputBandwidthTarget— Larghezza di banda di rete (KB/secondo) a pieno carico

  • FullLoadThroughputRowsTarget— Numero di caricati al rows/documents secondo

  • FullLoadThroughputTablesTarget— Numero di tables/collections completati al minuto

  • FullLoadProgressPercent— Percentuale di completamento del carico completo

  • TablesLoaded— Numero di caricati tables/collections con successo

  • TablesLoading— Numero di caricamento tables/collections in corso

  • TablesQueued— Numero di tables/collections elementi in attesa di caricamento

  • TablesErrored— Numero di tables/collections quello che non è stato caricato

Metriche di fase CDC

  • CDCLatencyTarget: ritardo (secondi) tra la modifica dell'origine e l'applicazione di destinazione

  • CDCLatencyOrigine: ritardo (secondi) tra la modifica dell'origine e la lettura da parte del DMS

  • CDCThroughputRowsTarget— Righe al secondo applicate durante la replica in corso

  • CDCThroughputBandwidthTarget— Larghezza di banda di rete (KB/secondo) durante CDC

  • CDCIncomingModifiche: numero di eventi di modifica ricevuti dalla fonte

  • CDCChangesMemoryTarget— Memoria utilizzata (MB) per archiviare le modifiche sul lato di destinazione

Metriche delle risorse

  • CPUUtilization— utilizzo della CPU dell'istanza di replica

  • FreeableMemory— Memoria disponibile sull'istanza di replica

  • FreeStorageSpace— Storage disponibile sull'istanza di replica

  • NetworkTransmitThroughput— Throughput di rete per l'istanza di replica

  • NetworkReceiveThroughput— Throughput di rete per l'istanza di replica

Metriche di errore

  • ErrorsCount— Numero totale di errori durante la migrazione

  • TableErrorsCount— Numero di errori specifici della tabella

  • RecordsErrorsCount— Numero di errori specifici del record

Crea CloudWatch allarmi per metriche critiche come CDCLatencyTarget e per ricevere notifiche in caso CPUUtilization di peggioramento delle prestazioni di migrazione.

Registri DMS (registri) CloudWatch

  1. Vai alla console Amazon CloudWatch Logs.

  2. Trova e scegli nel tuo gruppo di log. Sarà simile a «dms-tasks —».

  3. Cerca i flussi di log che potrebbero contenere informazioni di errore:

    • Stream con «errore» nel nome

    • Stream con nomi di attività IDs o endpoint

    • I flussi di log più recenti durante il periodo della migrazione

  4. All'interno di questi stream, cerca parole chiave come:

    • «errore»

    • «eccezione»

    • «fallito»

    • «avviso»

stato dell'attività DMS (in uso AWS CLI)

aws dms describe-replication-tasks --filters Name=replication-task id,Values=<task_id> --query "ReplicationTasks[0].Status"

Flusso di stato previsto:

creazione → pronto → in esecuzione → arresto → interrotto (o fallito)

Monitora usando docdb-dashboarder

Lo docdb-dashboarder strumento fornisce un monitoraggio completo per i cluster Amazon DocumentDB generando automaticamente CloudWatch dashboard con metriche prestazionali essenziali. Queste dashboard mostrano parametri critici a livello di cluster (ritardo di replica, contatori operativi), parametri a livello di istanza (CPU, memoria, connessioni) e parametri di storage (utilizzo del volume, storage di backup). Per gli scenari di migrazione, lo strumento offre dashboard specializzati che tracciano l'avanzamento della migrazione con metriche come il ritardo di replica del CDC e le frequenze operative. Le dashboard possono monitorare più cluster contemporaneamente e includere il supporto per le istanze supportate. NVMe Visualizzando queste metriche, i team possono identificare in modo proattivo i punti deboli delle prestazioni, ottimizzare l'allocazione delle risorse e garantire il corretto funzionamento delle loro distribuzioni di Amazon DocumentDB. Lo strumento elimina la necessità di creare dashboard manualmente, fornendo al contempo un monitoraggio coerente in tutti gli ambienti. Per istruzioni di configurazione e opzioni di configurazione avanzate, consulta il repository di Amazon DocumentDB Dashboarder Tool. GitHub

Validation

Questa sezione fornisce un processo di convalida dettagliato per garantire la coerenza dei dati, l'integrità e la compatibilità delle applicazioni dopo la migrazione da:

Da MongoDB ad Amazon DocumentDB

oppure

Da Amazon DocumentDB ad Amazon DocumentDB

Le fasi di convalida si applicano indipendentemente dal metodo di migrazione (AWS DMS mongodump/mongorestore o altri strumenti).

Lista di controllo per la convalida

Verifica che il numero di documenti in ogni raccolta corrisponda tra origine e destinazione:

Fonte MongoDB

mongo --host <source_host> --port <port> --username <user> -- password <password> --eval "db.<collection>.count()"

Obiettivo Amazon DocumentDB

mongo --host <target_host> --port <port> --username <user> -- password <password> --eval "db.<collection>.count()"

Convalida di schemi e indici

Assicuratevi che:

  • tutte le raccolte esistono nella destinazione.

  • gli indici vengono replicati correttamente.

  • le definizioni dello schema (se applicate) sono identiche.

Controlla le raccolte (origine o destinazione)

mongo --host <source_host> --eval "show collections" mongo --host <target_host> --ssl --eval "show collections"

controlla gli indici (Source vs. Target)

mongo --host <source_host> --eval" db.<collection>.getIndexes()" mongo --host <target_host> --ssl –eval" db.<collection>.getIndexes()"

Confronta l'elenco delle raccolte per assicurarti che non vi siano raccolte mancanti o aggiuntive.

Verifica gli indici controllando i nomi degli indici, le definizioni delle chiavi, i vincoli univoci e gli indici TTL (se presenti).

Controlla le regole di convalida dello schema (se usi la convalida dello schema in MongoDB)

mongo --host <source_host> --eval" db.getCollectionInfos({name: '<collection>'}) [0].options.validator" mongo --host <target_host> --ssl –eval" db.getCollectionInfos({name: '<collection>'})[0].options.validator"

Campionamento dei dati e convalida a livello di campo

È possibile campionare in modo casuale i documenti e confrontare i campi tra origine e destinazione.

Campionamento manuale

Recupera cinque documenti casuali (fonte):

mongo --host <source_host> --eval "db.<collection>.aggregate([{ \$sample: { size: 5 } }])"

Recupera lo stesso documento IDs (destinazione):

mongo --host <target_host> --ssl –eval "db.<collection>.find({ _id: { \$in: [<list_of_ids>] } })"

Campionamento automatico

import pymongo # Connect to source and target source_client = pymongo.MongoClient("<source_uri>") target_client = pymongo.MongoClient("<target_uri>", ssl=True) source_db = source_client["<db_name>"] target_db = target_client["<db_name>"] # Compare 100 random documents for doc in source_db.<collection>.aggregate([{ "$sample": { "size": 100 } }]): target_doc = target_db.<collection>.find_one({ "_id": doc["_id"] }) if target_doc != doc: print(f"❌ Mismatch in _id: {doc['_id']}") else: print(f"✅ Match: {doc['_id']}")

Validazione tramite strumento DataDiffer

Lo DataDiffer strumento fornisce un modo affidabile per confrontare i dati tra i database di origine e di destinazione.

Prerequisiti

I seguenti prerequisiti devono essere soddisfatti prima di installare lo DataDiffer strumento:

  • Python 3.7+

  • PyMongo libreria

  • Connettività di rete ai cluster di origine MongoDB e di destinazione di Amazon DocumentDB

Configurazione e installazione

Clona il repository e accedi alla directory DataDiffer

git clone https://github.com/awslabs/amazon-documentdb-tools.git cd amazon-documentdb-tools/migration/data-differ

Installa le dipendenze richieste

pip install -r requirements.txt

Esecuzione della convalida dei dati

Crea un file di configurazione (ad esempio config.json) con i dettagli della connessione

{ "source": { "uri": "mongodb://username:password@source-mongodb- host:27017/?replicaSet=rs0", "db": "your_database", "collection": "your_collection" }, "target": { "uri": "mongodb://username:password@target-docdb- cluster.region.docdb.amazonaws.com:27017/?tls=true&tlsCAFile=global- bundle.pem&replicaSet=rs0", "db": "your_database", "collection": "your_collection" }, "options": { "batch_size": 1000, "threads": 4, "sample_size": 0, "verbose": true } }

Esegui lo strumento DataDiffer

python differ.py --config config.json

Per raccolte di grandi dimensioni, utilizzate il campionamento per convalidare un sottoinsieme di dati

python differ.py --config config.json --sample-size 10000

Per convalidare più raccolte, create file di configurazione separati o utilizzate la modalità batch

python differ.py --batch-config batch_config.json

Interpretazione dei risultati

Lo strumento produrrà:

  • Documenti totali in origine e destinazione

  • Numero di documenti corrispondenti

  • Numero di documenti mancanti

  • Numero di documenti con differenze

  • Rapporto dettagliato delle eventuali differenze

Best practice

Di seguito sono riportate le migliori pratiche per l'utilizzo dello DataDiffer strumento:

  • Esecuzione in fasi: prima convalida il conteggio dei documenti, quindi campiona i documenti chiave e infine esegui un confronto completo, se necessario.

  • Verifica le differenze di schema: Amazon DocumentDB presenta alcune limitazioni rispetto a MongoDB. Lo strumento evidenzierà tipi o strutture di dati incompatibili.

  • Convalida durante i periodi di silenzio: esegui la convalida quando le operazioni di scrittura sono minime per garantire la coerenza.

  • Monitora l'utilizzo delle risorse: il processo di confronto può richiedere molte risorse. Regola di conseguenza le dimensioni del batch e il numero di thread.

  • Convalida degli indici: dopo la convalida dei dati, assicurati che tutti gli indici richiesti siano stati creati sul cluster Amazon DocumentDB di destinazione.

  • Risultati della convalida dei documenti: tieni un registro dei risultati di convalida per ogni raccolta come parte della documentazione sulla migrazione.