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
, mongorestore
mongoexport
, 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. mongodump
Cet 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'--numParallelCollections
option. 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'mongodump
utilitaire 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'mongorestore
utilitaire 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'mongoexport
outil 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'mongoexport
outil 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'mongoimport
outil 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'mongoimport
outil 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
, mongorestore
mongoexport
, 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 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
-
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 : les données étant au format JSON logique, vous utiliserez l'
mongoimport
utilitaire 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'mongodump
utilitaire.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
restaurants
collection — Avant de restaurer larestaurants
collection dans labusiness
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()
-
Restaurez les données avec
mongorestore
— Grâce au vidage binaire des données de l'étape 3, vous pouvez désormais utiliser l'mongorestore
utilitaire 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.json
Sortie de cette commande :
2548 restaurant.json
wc -l restaurant2.json
Sortie de cette commande :
2548 restaurant2.json