如何从sql dump导入到MongoDB?

Jaf*_*son 7 mysql sql-server hadoop dbmigrate mongodb

我试图从MySQL转储.sql文件导入数据以导入到MongoDB.但我看不到RDBMS到NoSQL数据迁移的任何机制.
我试图将数据转换为JSON and CSV但是它没有在MongoDB中提供所需的输出.
我想尝试Apache Sqoop但是它主要用于SQL或NoSQL到Hadoop.
我无法理解,如何将数据从"MySQL"迁移到"MongoDB"?
我有什么想法,除了我到现在为止尝试过的东西?
希望能听到更好,更快的解决方案.

McG*_*ady 7

建议将Mysql数据转成CSV文件,也可以尝试其他文件格式,但要确保文件格式友好,以便您可以轻松将数据导入MongoDB,MongoDB和Mysql都很好地支持CSV文件格式。

您可以尝试使用mysqldumpOUTFILE关键字转储Mysql数据库进行备份,使用mysqldump可能需要很长时间,所以看看如何优化大型数据库的mysqldump?.

然后使用mongoimport工具导入数据。

据我所知,有三种方法可以优化这种导入:

  • mongoimport --numInsertionWorkers N将启动几个插入工作器,N 可以是核心数。

  • mongod --njournal大部分持续磁盘使用来自日志,因此禁用日志可能是优化的好方法。

  • 拆分您的文件并开始并行作业。

其实在我看来,导入数据和导出数据并不难,看起来你的数据集很大,所以如果你不设计你的文档结构,它仍然会让你的代码变慢,不建议从关系中进行自动迁移数据库到MongoDB,数据库性能可能不好。

所以值得设计你的数据结构,你可以查看数据模型

希望这可以帮助。