View a markdown version of this page

Runbook sulla migrazione di 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 sulla migrazione di 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 amministratori di database, ingegneri del cloud e sviluppatori durante tutto il percorso di migrazione end-to-end, dalla scoperta iniziale alla convalida post-migrazione.

Date le differenze di implementazione e 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 funzionalità e i tipi di dati di MongoDB supportati in Amazon DocumentDB e identifica le potenziali incompatibilità.

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

  • Migrazione dell'indice— Analizza le strategie per estrarre e trasformare gli indici MongoDB per ottenere 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— Scopri vari metodi per la migrazione dei dati utilizzando AWS DMS, tra cui l'acquisizione dei dati a pieno carico e modifica (CDC).

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

  • Convalida— Fornire procedure per i controlli 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à delle applicazioni e riducendo al minimo i rischi.

Compatibilità

Quando si esegue 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, 5.0 e 8.0, le applicazioni che utilizzano funzionalità più recenti potrebbero richiedere il refactoring. MongoDB-specific Le aree critiche da valutare includono i meccanismi di sharding (Amazon DocumentDB utilizza un approccio diverso), le implementazioni delle transazioni, le funzionalità dei flussi di modifiche e i tipi di indici (in particolare gli 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 l'ottimizzazione.

Il monitoraggio dei piani di esecuzione per rilevare potenziali lacune prestazionali è importante durante la fase di valutazione. Questo aiuta a creare una chiara tabella di marcia per la 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 gli indici a campo singolo, composto, TTL, parziale, sparse e 2dsphere, per ottimizzare le prestazioni delle query e gli indici di testo (versione 5) per le ricerche basate su testo.

  • Enterprise-grade replica: approfitta di un robusto meccanismo di failover automatico con repliche di lettura per una disponibilità elevata e senza costi operativi.

  • Soluzioni di backup avanzate: stai tranquillo con un sistema di backup automatico dotato di Point-in-Time ripristino (PITR) e istantanee manuali su richiesta per la protezione dei dati.

Migliorate AWS-funzionalità integrate

  • 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 delle applicazioni aziendali.

  • Real-time tracciamento dei dati: abilita i flussi di modifiche con un semplice comando e aumenta il periodo di conservazione del flusso di modifiche tramite una semplice impostazione di gruppo di parametri per il monitoraggio delle modifiche ai dati in tempo reale.

  • Location-based servizi — Implementazione di applicazioni geospaziali con supporto per $geoNear operatori e indici 2dsphere.

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

Vantaggi dell'architettura moderna

  • Cloud-native design: usufruisci di un'architettura AWS ottimizzata che sostituisce le funzionalità precedenti, ad esempio MapReduce con operazioni di pipeline di aggregazione più efficienti.

  • Sicurezza avanzata: approfitta dell'autenticazione AWS Identity and Access Management (IAM), SCRAM-SHA-1 SCRAM-SHA-256, con X.509 certificato 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 API, operazioni e tipi di dati MongoDB supportati in Amazon DocumentDB e per Differenze funzionali: Amazon DocumentDB e MongoDB massimizzare il potenziale del database.

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

Strumento di valutazione della compatibilità di Amazon DocumentDB

Lo strumento di compatibilità tra MongoDB e Amazon DocumentDB è un'utilità open source disponibile su 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 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

Log-based valutazione

  • Pro:

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

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

    • Rileva le interrogazioni 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

    • Acquisisce solo le operazioni che si sono verificate durante il periodo di registrazione

    • Potrebbero mancare le funzionalità utilizzate di rado o i carichi di lavoro stagionali

Analisi del codice sorgente

  • Pro:

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

    • Può identificare i 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 il codice esistente ma che non viene mai eseguito in produzione

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

    • Capacità limitata di analizzare interrogazioni costruite dinamicamente

Per ottenere risultati ottimali, utilizza entrambi i metodi di valutazione, quando possibile, per avere un quadro completo dei problemi di compatibilità prima della migrazione.

Rilevamento dei carichi di lavoro

La migrazione da MongoDB ad Amazon DocumentDB richiede una conoscenza approfondita del carico di lavoro del database esistente. Il rilevamento 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 illustra i passaggi chiave coinvolti nell'individuazione dei carichi di lavoro per facilitare una migrazione efficace da MongoDB ad Amazon DocumentDB.

Valutazione della distribuzione MongoDB esistente

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 esegue la migrazione da MongoDB ad Amazon DocumentDB, è importante comprendere la configurazione dello sharding MongoDB perché Amazon DocumentDB non supporta lo sharding controllato dall'utente. Le applicazioni progettate per un ambiente MongoDB frammentato 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. Completalo 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 il throughput 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 che si basano su MongoDB.

Identificazione delle differenze tra i modelli di dati

Sebbene Amazon DocumentDB lo sia MongoDB-compatible, ci sono 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 query 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.

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

  • Utilizzo dell'indice: valuta se gli indici sono utilizzati in modo efficace o necessitano di ottimizzazione in Amazon DocumentDB. Per valutare l'utilizzo degli indici e ottimizzare le prestazioni in Amazon DocumentDB, utilizza la fase della pipeline di $indexStats aggregazione combinata con il metodo nelle tue query critiche. explain() Inizia eseguendo l'esecuzione db.collection.aggregate([{$indexStats{}}]) per identificare quali indici vengono utilizzati. Puoi eseguire un'analisi più dettagliata 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 agli utenti di autenticazione SCRAM di Amazon DocumentDB. AWS Identity and Access Management

  • Strategia di migrazione degli utenti: piano per 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 MongoDB senza equivalenti diretti di Amazon DocumentDB (ad esempio, ruoli di amministrazione del cluster).

  • Autenticazione delle applicazioni: aggiornamento delle stringhe di connessione e della gestione delle credenziali per le politiche sulle password di Amazon DocumentDB. Puoi utilizzare Secrets Manager per archiviare le tue credenziali e ruotare le password.

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

  • Implementazione dei privilegi minimi: rivedi e perfeziona i controlli di accesso per implementare i principi dei privilegi minimi 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 del gruppo 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 la AWS Backup gestione centralizzata dei backup tra AWS servizi tra cui Amazon DocumentDB.

  • CloudWatch metriche: mappa le metriche di monitoraggio MongoDB alle metriche di Amazon DocumentDB per CPU, memoria, CloudWatch connessioni e storage.

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

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

    • Abilita tramite gruppi di parametri con soglie appropriate.

    • Analizza i dati del profiler per identificare le 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.

    • Effettua l'integrazione con Amazon SNS per avvisi e AWS Lambda risposte automatiche.

  • Registrazione di 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 delle metriche granulari a intervalli di 1 secondo OS-level .

Migrazione dell'indice

La migrazione da MongoDB ad Amazon DocumentDB comporta il trasferimento non solo di dati ma anche di indici per mantenere le prestazioni delle query e ottimizzare le operazioni del database. Questa sezione illustra la procedura dettagliata e dettagliata 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 https://github.com/awslabs/amazon-documentdb-tools/blob/master/index-tool/README.md

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

Esporta gli indici da MongoDB (se stai migrando da MongoDB)

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

Esporta gli 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 MongoDB preservandone i ruoli e le autorizzazioni utilizzando lo strumento di esportazione per gli utenti di Amazon DocumentDB.

Utilizzo dello strumento di esportazione degli utenti di Amazon DocumentDB

Export Users toolEsporta utenti e ruoli da MongoDB o Amazon DocumentDB in JavaScript file, che possono quindi essere utilizzati 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/"

Passaggio 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" } ] })

Passaggio 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: ripristinare gli 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 utente 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 passaggi dettagliati per eseguire una migrazione online da MongoDB ad Amazon DocumentDB utilizzando per AWS DMS abilitare tempi di inattività minimi e una replica continua. Per iniziare, configuri un cluster Amazon DocumentDB come destinazione e assicurati che l'istanza MongoDB sia configurata correttamente come origine, in genere richiedendo la modalità di set di repliche per l'acquisizione dei dati di modifica. Successivamente, crei un'istanza di replica DMS e definisci gli endpoint di origine e di 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.

Configura la destinazione (Amazon DocumentDB)

Nota

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

Crea un gruppo di parametri personalizzato

Consulta le AWS CLI procedure Console di gestione AWS or inCreazione di gruppi di parametri del cluster Amazon DocumentDB.

Crea un cluster Amazon DocumentDB

Nota

Sebbene in questa guida siano incluse altre procedure per la creazione di 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 la Console di gestione AWS console di Amazon DocumentDB all'indirizzo. https://console.aws.amazon.com/docdb

  2. Nel pannello di navigazione scegliere Cluster.

    Suggerimento

    Se il riquadro di navigazione non viene visualizzato sul lato sinistro della schermata, scegliere l'icona del menu (Menu button.) 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 Instance-based cluster (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 di configurazione dello storage in cluster, lascia invariata l'impostazione Amazon DocumentDB Standard (questa è l'opzione predefinita).

  7. Nella sezione Configurazione dell'istanza:

    • Per la classe di istanza DB, scegli le classi ottimizzate per la memoria (includi le classi r) (impostazione predefinita).

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

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

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

      Come procedura consigliata, scegli un'istanza quanto più grande possibile per ottenere il massimo rendimento a pieno carico e ridimensionala una volta completata la migrazione.

    • Per Numero di istanze, scegli 1 istanza. La scelta di un'istanza aiuta a minimizzare i costi. Scalabilità fino a tre istanze per un'elevata disponibilità una volta completata la migrazione a pieno carico.

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

  9. Nella sezione Impostazioni di rete, scegli un VPC e un gruppo di sottorete, 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 Encryption-at-rest sezione, abilita la crittografia (consigliata) e scegli o inserisci una chiave KMS.

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

  12. Rivedi la configurazione e scegli Crea cluster.

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

Configurare la fonte

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

  • MongoDB come origine: comune durante la migrazione da un MongoDB locale o autogestito a un Amazon DocumentDB o 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 carico) per supportare l'acquisizione dei dati di modifica durante la migrazione.

  • Amazon DocumentDB come sorgente: in genere utilizzato per la replica in più regioni, gli aggiornamenti di versione o la migrazione verso altri servizi di database come MongoDB Atlas. Richiede l'Abilitazione dei 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 le tue change_stream_log_retention_duration impostazioni siano sufficientemente grandi da coprire il tempo necessario per completare il caricamento completo.

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.

Quando si configura la connettività di rete per la migrazione da MongoDB a DMS:

EC2-hosted Fonte MongoDB

  • Modifica il gruppo di sicurezza EC2 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'istanza EC2 abbia un percorso verso la sottorete dell'istanza di replica DMS.

On-premises Fonte MongoDB

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

  • Se utilizzi Direct Connect una VPN, assicurati che il routing sia corretto tra la 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 degli indirizzi IP consentiti di MongoDB Atlas.

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

  • Configura AWS PrivateLink la connettività privata (livello Enterprise), se in esecuzione su un altro provider 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».

  • Assicurati che il log abbia una dimensione 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

Usa DMS Buddy per eseguire il provisioning della tua infrastruttura DMS. Crea un'infrastruttura di migrazione ottimale con impostazioni DMS e dimensioni delle istanze ottimali.

Se preferisci configurare 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 (piccoli carichi di lavoro), dms.r5.4xlarge (carichi di lavoro di grandi dimensioni).

    • Versione del motore: 3.5.4

    • Memoria allocata: l'impostazione predefinita è 100 GB (aumentala se necessario). Ciò è determinato dalle dimensioni del documento updates/second e dalla durata del caricamento completo.

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

    • Scegli lo stesso VPC di Amazon DocumentDB.

    • Assicurati che i gruppi di sicurezza consentano il traffico in entrata dall'origine e da Amazon DocumentDB.

  3. Scegli 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 pannello di navigazione, scegli Migrate or replicate, quindi scegli Endpoints.

  2. Seleziona Crea endpoint.

  3. Nella pagina Crea endpoint, scegli Source endpoint.

  4. Nella sezione Configurazione dell'endpoint:

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

    • Scegli MongoDB come motore di origine.

    • 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 Porta, 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-name>ReplicaSet= (richiesto per CDC)

Per una fonte Amazon DocumentDB

  1. Nella console DMS, nel pannello di navigazione, scegli Migrate or replicate, quindi Endpoints.

  2. Seleziona Crea endpoint.

  3. Nella pagina Crea endpoint, scegli Source endpoint.

  4. Nella sezione Configurazione dell'endpoint:

    • Inserisci un identificatore dell'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 Porta, 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 principale 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.

Crea un endpoint di destinazione (Amazon DocumentDB)
  1. Nella console DMS, nel pannello di navigazione, scegli Migrate or replicate, quindi Endpoints.

  2. Seleziona Crea endpoint.

  3. Nella pagina Crea endpoint, scegli Target endpoint.

  4. Nella sezione di configurazione dell'endpoint:

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

    • Scegli Amazon DocumentDB come motore di Target.

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

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

      • Se scegli Fornisci le informazioni di accesso manualmente:

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

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

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

        • Per CA Certificate, 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 attività di replica

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

  2. Scegli Create task (Crea attività).

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

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

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

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

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

  4. Nella sezione Impostazioni:

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

    • Per Interrompi l'operazione dopo il completamento del caricamento completo, lasciate l'impostazione predefinita.

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

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

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

    • Per Batch-optimized applicare, lascia deselezionata (disattivata) l'impostazione predefinita.

  5. Torna nella parte superiore della sezione Impostazioni 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 il nome dello schema, 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 Includi

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

    • Per il nome dello schema, 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 della premigrazione, 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 l'installazione di MongoDB).

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

Requisiti di Amazon DocumentDB target

  • Assicurati di aver effettuato il provisioning di un cluster Amazon DocumentDB.

  • Assicurati che sia presente un'istanza EC2 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 EC2 di migrazione.

  • Le autorizzazioni IAM appropriate devono essere configurate per accedere ad Amazon DocumentDB,

Requisiti generali

  • AWS CLI devono essere configurati (se si utilizzano AWS servizi per lo storage intermedio)

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

  • La finestra di inattività deve essere approvata (se si esegue una migrazione in tempo reale, si consiglia di prendere in considerazione altri approcci)

Prepara un cluster Amazon DocumentDB

Crea un cluster Amazon DocumentDB in: AWS

  • Appropriate le dimensioni di un'istanza in base al 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)

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

  • Opzione 1: Basic

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

    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

Scegliete un metodo appropriato in base alle dimensioni del dump:

  • Piccolo: copia direttamente sul tuo computer di migrazione (istanza EC2 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, considera 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: miglioramento del controllo e delle prestazioni

    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 tracciare l'avanzamento, le prestazioni e lo stato di una migrazione in corso da:

Da MongoDB ad Amazon DocumentDB

or

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 relative alla fase di carico completo

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

  • FullLoadThroughputRowsTarget— Numero di rows/documents caricamenti al secondo

  • FullLoadThroughputTablesTarget— Numero di tables/collections completamenti al minuto

  • FullLoadProgressPercent— Percentuale di completamento del carico completo

  • TablesLoaded— Numero di caricamenti tables/collections effettuati con successo

  • TablesLoading— Numero di caricamenti tables/collections attualmente in corso

  • TablesQueued— Numero di tables/collections attese da caricare

  • TablesErrored— Numero di quelli tables/collections che non sono stati caricati

Metriche di fase CDC

  • CDCLatencyTarget— Ritardo (secondi) tra il cambio di origine e l'applicazione di destinazione

  • CDCLatencySource— Ritardo (secondi) tra la modifica della sorgente e la lettura da parte del DMS

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

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

  • CDCIncomingChanges— Numero di eventi di modifica ricevuti dalla fonte

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

Metriche relative alle risorse

  • Utilizzo della CPU: 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 dei record

Crea CloudWatch allarmi per metriche critiche, CPUUtilization ad esempio CDCLatencyTarget per ricevere notifiche se le prestazioni della migrazione peggiorano.

Log DMS (log) 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 sugli errori:

    • Stream con «error» nel nome

    • Stream con ID di attività o nomi di 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 (utilizzando 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 dashboard con metriche prestazionali essenziali. CloudWatch Queste dashboard mostrano metriche critiche a livello di cluster (ritardo di replica, contatori delle operazioni), metriche a livello di istanza (CPU, memoria, connessioni) e metriche di archiviazione (utilizzo del volume, archiviazione di backup). Per gli scenari di migrazione, lo strumento offre dashboard specializzate che tengono traccia dell'avanzamento della migrazione con metriche come il ritardo di replica CDC e i tassi operativi. Le dashboard possono monitorare più cluster contemporaneamente e includere il supporto per le istanze. NVMe-backed Visualizzando queste metriche, i team possono identificare in modo proattivo i colli di bottiglia nelle prestazioni, ottimizzare l'allocazione delle risorse e garantire il corretto funzionamento delle distribuzioni di Amazon DocumentDB. Lo strumento elimina la necessità della creazione manuale di dashboard fornendo al contempo un monitoraggio coerente in tutti gli ambienti. Per istruzioni di configurazione e opzioni di configurazione avanzate, consulta il repository Amazon DocumentDB Dashboarder Tool. GitHub

Convalida

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

Da MongoDB ad Amazon DocumentDB

or

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 dello schema e dell'indice

Verifica che:

  • tutte le raccolte esistono nella destinazione.

  • gli indici vengono replicati correttamente.

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

Controlla le raccolte (origine e destinazione)

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

controlla gli indici (sorgente e destinazione)

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 i documenti in modo casuale e confrontare i campi tra origine e destinazione.

Campionamento manuale

Recupera cinque documenti a caso (fonte):

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

Recupera gli stessi ID del documento (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 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 Amazon DocumentDB di origine e di destinazione

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

Convalida dei dati in esecuzione

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, utilizza 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 differenze (se presenti)

Best practice

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

  • Esegui per fasi: prima convalida il numero di documenti, poi 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 le dimensioni del batch e il numero di thread di conseguenza.

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

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