2017-02-02 182 views
0

我必须从PostgreSQL迁移500万条记录到MongoDb将数据从PostgreSQL迁移到MongoDB

我尝试使用mongify为相同,但因为它运行在ruby和我根本不知道红宝石我无法解决它所带来的错误。

因此,我尝试自己编写代码node.js,该代码首先将PostgreSQL data转换为JSON,然后将该JSON插入到mongoDb中。 但是,由于它吃了很多内存,并且不能移动超过13000条记录,所以失败了。

然后我想到了编写代码Java,因为它的垃圾回收器。它在RAM利用率方面工作良好,但速度非常慢(大约10000个记录/小时)。按照这个速度,我需要花几天时间来迁移我的数据。

那么,有没有更高效,更快捷的方法呢? Python程序会比Java程序更快吗?或者还有其他现成的工具可用于做同样的工作吗?

我的系统配置是: OS - Windows 7中(64位), RAM - 4GB, i3处理器

+0

您使用bulkInsert HTTP://www.thejavageek.com/2015/07/08/mongodb-bulk-insert/ –

+0

@RahulKumar不,我获取和PostgreSQL行和一个MongoDB中一个插入。由于RAM中不支持以JSON格式转换所有500万条记录。 所以,我在做db.collection.insert(jsondata) –

+0

,所以你立刻从postgresql得到所有500万行,然后一个接一个进入mongodb?无论如何你可能会寻找批处理。 –

回答

0

好像我迟到了。但是,有一天,这可能会派上用场!

以下基于python的迁移框架应该派上用场。

https://github.com/datawrangl3r/pg2mongo

回答你的表现,每个JSON对象的迁移将是动态的,当您使用上述框架不应该有任何内存锁的问题。

希望它有帮助!