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.
Importer, restaurer, importer et exporter des 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 collections parallèles déchargé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>
export mongol
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
import mongol
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.
-
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 de plus amples informations, veuillez consulter Connectez-vous à l'aide d'Amazon EC2.
Pour pouvoir utiliser les outils utilitaires mongo, le package mongodb-org-tools doit être installé dans votre instance EC2, comme suit.
sudo yum install mongodb-org-tools-4.0.18Amazon 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 -
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 -
Importez les exemples de données dans Amazon DocumentDB : étant donné que les données sont au format JSON logique, vous allez utiliser 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 -
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 -
Supprimer la
restaurantscollection — Avant de restaurer larestaurantscollection dans labusinessbase de données, vous devez d'abord supprimer la collection qui existe déjà dans cette base de données, comme suit.use businessdb.restaurants.drop() -
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 -
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 -
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.jsonSortie de cette commande :
2548 restaurant.jsonwc -l restaurant2.jsonSortie de cette commande :
2548 restaurant2.json