Vidage, restauration, importation et exportation de données - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vidage, restauration, importation et exportation de données

Vous pouvez utiliser les mongoimport utilitairesmongodump, mongorestoremongoexport, et pour déplacer des données vers et depuis votre cluster Amazon DocumentDB. Cette section décrit l'objectif de chacun de ces outils et configurations pour vous aider à obtenir de meilleures performances.

mongodump

L'utilitaire mongodump crée une sauvegarde binaire (BSON) d'une base de données MongoDB. mongodumpCet outil est la méthode préférée pour transférer les données de votre déploiement MongoDB source lorsque vous souhaitez les restaurer dans votre cluster Amazon DocumentDB en raison des économies de taille obtenues en stockant les données dans un format binaire.

En fonction des ressources disponibles sur l'instance ou la machine que vous utilisez pour exécuter la commande, vous pouvez accélérer le processus mongodump en augmentant le nombre de connexions parallèles déversées par rapport à la valeur par défaut 1 à l'aide de l'--numParallelCollectionsoption. En règle générale, commencez par un travailleur par vCPU sur l'instance principale de votre cluster Amazon DocumentDB.

Note

Nous recommandons les outils de base de données MongoDB jusqu'à la version 100.6.1 incluse pour Amazon DocumentDB. Vous pouvez accéder aux téléchargements des outils de base de données MongoDB ici.

Exemple d'utilisation

Voici un exemple d'utilisation de l'mongodumputilitaire dans le cluster Amazon DocumentDB,. sample-cluster

mongodump --ssl \ --host="sample-cluster.node.us-east-1.docdb.amazonaws.com:27017" \ --collection=sample-collection \ --db=sample-database \ --out=sample-output-file \ --numParallelCollections 4 \ --username=sample-user \ --password=abc0123 \ --sslCAFile global-bundle.pem

mongorestore

L'utilitaire mongorestore vous permet de restaurer une sauvegarde binaire (BSON) d'une base de données créée avec l'utilitaire mongodump. Vous pouvez améliorer les performances de restauration en augmentant le nombre d'agents de travail pour chaque collection pendant la restauration avec l'option --numInsertionWorkersPerCollection (la valeur par défaut est 1). En règle générale, commencez par un travailleur par vCPU sur l'instance principale de votre cluster Amazon DocumentDB.

Exemple d'utilisation

Voici un exemple d'utilisation de l'mongorestoreutilitaire dans le cluster Amazon DocumentDB,. sample-cluster

mongorestore --ssl \ --host="sample-cluster.node.us-east-1.docdb.amazonaws.com:27017" \ --username=sample-user \ --password=abc0123 \ --sslCAFile global-bundle.pem <fileToBeRestored>

mongoexport

L'mongoexportoutil exporte les données d'Amazon DocumentDB aux formats de fichier JSON, CSV ou TSV. L'outil mongoexport constitue la méthode privilégiée pour exporter des données qui doivent être lisibles par l'homme ou par la machine.

Note

mongoexport ne prend pas directement en charge les exportations parallèles. Toutefois, il est possible d'augmenter les performances en exécutant simultanément plusieurs tâches mongoexport pour différentes collections.

Exemple d'utilisation

Voici un exemple d'utilisation de l'mongoexportoutil dans le cluster Amazon DocumentDB. sample-cluster

mongoexport --ssl \ --host="sample-cluster.node.us-east-1.docdb.amazonaws.com:27017" \ --collection=sample-collection \ --db=sample-database \ --out=sample-output-file \ --username=sample-user \ --password=abc0123 \ --sslCAFile global-bundle.pem

mongoimport

L'mongoimportoutil importe le contenu de fichiers JSON, CSV ou TSV dans un cluster Amazon DocumentDB. Vous pouvez utiliser le paramètre -–numInsertionWorkers pour paralléliser et accélérer l'importation (la valeur par défaut est 1).

Exemple d'utilisation

Voici un exemple d'utilisation de l'mongoimportoutil dans le cluster Amazon DocumentDB. sample-cluster

mongoimport --ssl \ --host="sample-cluster.node.us-east-1.docdb.amazonaws.com:27017" \ --collection=sample-collection \ --db=sample-database \ --file=<yourFile> \ --numInsertionWorkers 4 \ --username=sample-user \ --password=abc0123 \ --sslCAFile global-bundle.pem

Didacticiel

Le didacticiel suivant explique comment utiliser les mongoimport utilitairesmongodump, mongorestoremongoexport, et pour déplacer des données vers et depuis un cluster Amazon DocumentDB.

  1. Conditions préalables — Avant de commencer, assurez-vous que votre cluster Amazon DocumentDB est provisionné et que vous avez accès à une instance Amazon EC2 dans le même VPC que votre cluster. Pour plus d’informations, consultez Connectez-vous à l'aide d'Amazon EC2.

    Pour pouvoir utiliser les outils utilitaires mongo, le mongodb-org-tools package doit être installé dans votre instance EC2, comme suit.

    sudo yum install mongodb-org-tools-4.0.18

    Amazon DocumentDB utilisant le chiffrement TLS (Transport Layer Security) par défaut, vous devez également télécharger le fichier d'autorité de certification (CA) Amazon RDS pour utiliser le shell mongo pour vous connecter, comme suit.

    wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
  2. Télécharger des exemples de données — Pour ce didacticiel, vous allez télécharger des exemples de données contenant des informations sur les restaurants.

    wget https://raw.githubusercontent.com/ozlerhakan/mongodb-json-files/master/datasets/restaurant.json
  3. Importez les exemples de données dans Amazon DocumentDB : les données étant au format JSON logique, vous utiliserez l'mongoimportutilitaire pour les importer dans votre cluster Amazon DocumentDB.

    mongoimport --ssl \ --host="tutorialCluster.amazonaws.com:27017" \ --collection=restaurants \ --db=business \ --file=restaurant.json \ --numInsertionWorkers 4 \ --username=<yourUsername> \ --password=<yourPassword> \ --sslCAFile global-bundle.pem
  4. Videz les données avec mongodump — Maintenant que vous avez des données dans votre cluster Amazon DocumentDB, vous pouvez effectuer un vidage binaire de ces données à l'aide de l'mongodumputilitaire.

    mongodump --ssl \ --host="tutorialCluster.us-east-1.docdb.amazonaws.com:27017"\ --collection=restaurants \ --db=business \ --out=restaurantDump.bson \ --numParallelCollections 4 \ --username=<yourUsername> \ --password=<yourPassword> \ --sslCAFile global-bundle.pem
  5. Supprimer la restaurants collection — Avant de restaurer la restaurants collection dans la business base de données, vous devez d'abord supprimer la collection qui existe déjà dans cette base de données, comme suit.

    use business
    db.restaurants.drop()
  6. Restaurez les données avec mongorestore — Grâce au vidage binaire des données de l'étape 3, vous pouvez désormais utiliser l'mongorestoreutilitaire pour restaurer vos données sur votre cluster Amazon DocumentDB.

    mongorestore --ssl \ --host="tutorialCluster.us-east-1.docdb.amazonaws.com:27017" \ --numParallelCollections 4 \ --username=<yourUsername> \ --password=<yourPassword> \ --sslCAFile global-bundle.pem restaurantDump.bson
  7. Exporter les données à l'aide de mongoexport — Pour terminer le didacticiel, exportez les données de votre cluster au format d'un fichier JSON, identique à celui que vous avez importé à l'étape 1.

    mongoexport --ssl \ --host="tutorialCluster.node.us-east-1.docdb.amazonaws.com:27017" \ --collection=restaurants \ --db=business \ --out=restaurant2.json \ --username=<yourUsername> \ --password=<yourPassword> \ --sslCAFile global-bundle.pem
  8. Validation — Vous pouvez vérifier que le résultat de l'étape 5 donne le même résultat que celui de l'étape 1 à l'aide des commandes suivantes.

    wc -l restaurant.json

    Sortie de cette commande :

    2548 restaurant.json
    wc -l restaurant2.json

    Sortie de cette commande :

    2548 restaurant2.json