2017-02-02 3 views
0

Мне нужно перенести 5 миллионов записей от PostgreSQL до MongoDb.Перенести данные из PostgreSQL в MongoDB

Я пробовал использовать mongify для того же, но поскольку он работает на ruby, и я совсем не знаком с рубином, я не смог решить возникшие у него ошибки.

Итак, я пытался писать код, сам в node.js что бы сначала преобразовать PostgreSQL data в JSON, а затем вставить этот JSON в mongoDb. Но это не удалось, так как он съел много оперативной памяти, и может быть перенесено не более 13000 записей.

Тогда я подумал о написании кода в Java из-за его сборщика мусора. Он отлично работает с точки зрения использования ОЗУ, но скорость очень медленная (около 10000 записей/час). При такой скорости мне потребовались бы несколько дней, чтобы перенести мои данные.

Итак, есть ли более эффективный и быстрый способ сделать это? Будет ли программа python быстрее, чем программа Java? Или есть ли другой готовый инструмент для этого?

конфигурации Моя система: ОС - Windows 7 (64 бит), RAM - 4 Гб, процессор i3

+0

Вы используете bulkInsert? Http: //www.thejavageek.com/2015/07/08/mongodb-bulk-insert/ –

+0

@RahulKumar Нет Я получаю строки из Postgresql и вставляю их в Mongodb один за другим. Поскольку преобразование всех 5 миллионов записей вместе в JSON не поддерживается ОЗУ. Итак, я делаю db.collection.insert (jsondata) –

+0

, чтобы вы сразу получили все 5 миллионов строк из postgresql, а затем запустили запись в mongodb один за другим? в любом случае вы можете искать пакетную обработку. –

ответ

0

Похоже, я опоздал на вечеринку. Однако, это может пригодиться кому-то, когда-нибудь !!!!

Следующие схемы миграции на основе python должны пригодиться.

https://github.com/datawrangl3r/pg2mongo

Отвечая на вашей работы, перенос каждого объекта JSON будет динамичным и не должно быть никаких проблем блокировки памяти при использовании выше рамки.

Надеюсь, это поможет!