web-dev-qa-db-fra.com

Comment importer du dump sql vers MongoDB?

J'essaie d'importer des données d'un fichier MySQL dump .sql pour les importer dans MongoDB. Mais je ne voyais aucun mécanisme pour la migration de données SGBDR vers NoSQL.
J'ai essayé de convertir les données en JSON and CSV mais cela ne donne pas m la sortie souhaitée dans MongoDB.
J'ai pensé essayer Apache Sqoop mais c'est surtout pour SQL ou NoSQL chez Hadoop.
Je ne comprenais pas comment il était possible de migrer les données de 'MySQL' vers 'MongoDB'?
Y a-t-il une pensée en dehors de ce que j'ai essayé jusqu'à présent?
En espérant avoir une solution meilleure et plus rapide pour ce type de migration.

7
Jaffer Wilson

Je vous suggère de transférer les données Mysql dans un fichier CSV. Vous pouvez également essayer un autre format de fichier, mais assurez-vous que le format de fichier est convivial pour pouvoir importer les données facilement dans MongoDB. MongoDB et Mysql prennent très bien en charge le format de fichier CSV.

Vous pouvez essayer d'utiliser mysqldump ou OUTFILE mot clé pour sauvegarder les bases de données Mysql à des fins de sauvegarde. L'utilisation de mysqldump prend peut-être beaucoup de temps. Regardez donc Comment puis-je optimiser un mysqldump de grande taille? base de données? .

Ensuite, utilisez mongoimport tool pour importer des données.

Pour autant que je sache, il y a trois façons d'optimiser cette importation:

  • mongoimport --numInsertionWorkers N Il va démarrer plusieurs travailleurs d'insertion, N peut être le nombre de cœurs.

  • mongod --njournal La majeure partie de l'utilisation continue du disque provient du journal. Par conséquent, la désactivation du journal peut constituer un bon moyen d'optimiser.

  • séparez votre fichier et démarrez des travaux parallèles.

En fait, à mon avis, importer et exporter des données ne pose aucun problème, il semble que votre jeu de données soit volumineux. Par conséquent, si vous ne concevez pas la structure de votre document, le code sera plus lent, il n'est pas recommandé d'effectuer des migrations automatiques. de base de données relationnelle à MongoDB, les performances de la base de données pourraient ne pas être bonnes.

Il est donc utile de concevoir votre structure de données, vous pouvez consulter Modèles de données .

J'espère que cela t'aides.

4
McGrady

Vous pouvez utiliser Mongify qui vous aide à déplacer/migrer des données de systèmes SQL vers MongoDB. Prend en charge MySQL, PostgreSQL, SQLite, Oracle, SQLServer et DB2. 

Nécessite Ruby et rubygems comme conditions préalables. Reportez-vous à cette documentation pour installer et configurer mongify.

1
franklinsijo