web-dev-qa-db-fra.com

Quel est le choix préféré Mongodump VS Mongoexport pour la mise à niveau de la base de données mongoDB?

Mon client utilise mongoDB 2.4 et comme il existe certaines limitations avec cette version, nous leur avons donné la possibilité de passer à la dernière version stable mongoDB 3.4.5. 

Les tests initiaux sur l'utilisation de Mongodump dans MongoDB 2.4 Et de mongorestore dans Mongodb 3.4.5 ont bien fonctionné, car toutes les collections importées sont visibles.

De la documentation mongorestore il n’est mentionné nulle part où il est possible de restaurer les dumps des anciennes versions de mongoDB.

Comme nous ne pouvons pas utiliser le magasin principal, puis-je utiliser " mongoexport " pour exporter les données au format csv/json de l'ancien mongoDB 2.4 et importer dans une nouvelle version de mongoDB 3.4?

Quels sont les problèmes possibles liés à l'utilisation de "mongoexport/mongoimport" au lieu de "mongodump" pour la mise à niveau vers une version plus récente de mongoDB 3.4?

NOTE: Je vais supprimer complètement l'ancienne version de mongoDB et installer la version plus récente de mongoDB

7
forum.test17

Mongodump et Mongorestore sont meilleurs parce que:

  1. Ils courent plus vite
  2. Ils préservent certains formats de données mieux que mongoexport et mongoimport, car les données ne sont pas traduites de BSON vers JSON et inversement.

Comme décrit dans la Documents MongoDB sur MongoImport :

ATTENTION
Évitez d'utiliser mongoimport et mongoexport pour les sauvegardes de production d'instance complètes. Ils ne conservent pas de manière fiable tous les types de données BSON riches, car JSON ne peut représenter qu'un sous-ensemble des types pris en charge par BSON. Utilisez mongodump et mongorestore comme décrit dans Méthodes de sauvegarde MongoDB pour ce type de fonctionnalité.

De plus, faites très attention à la mise à jour avec mongorestore; le fait que les données soient restaurées telles qu'elles étaient auparavant ne signifie pas que la nouvelle version de MongoDB peut fonctionner avec. Par exemple, il y a eu une série de modifications du modèle d'autorisation après la v2.4, ce qui signifie que vous devez d'abord effectuer la mise à niveau vers la v2.6, puis seulement vers la v3.0 . Des modifications structurelles similaires sont apportées à chaque version majeure. Il est donc recommandé de mettre à niveau progressivement, une version majeure à la fois i.e.

  1. v2.4 -> v2.6
  2. v2.6 -> v3.0
  3. v3.0 -> v3.2
  4. v3.2 -> v3.4
13
Vince Bowdren

Depuis http://www.dba86.com/docs/mongo/2.4/core/import-export.html , mongoexport est pris en charge à partir de la version 2.4. Ce devrait donc être le bon outil pour cela. Mais le document contient toujours un message d’avertissement.

Attention: Évitez d'utiliser mongoimport et mongoexport pour les sauvegardes de production d'instance complètes. Ils ne conservent pas de manière fiable toutes les données BSON riches types, car JSON ne peut représenter qu'un sous-ensemble des types pris en charge par BSON. Utilisez mongodump et mongorestore comme décrit dans Sauvegarde MongoDB Méthodes pour ce genre de fonctionnalité.

J'espère que cela pourra aider!!!!

0
priya raj