Как настроить репликацию из MySQL в MongoDB? - PullRequest
2 голосов
/ 27 сентября 2010

У меня есть куча данных из научного эксперимента, хранящихся в базе данных MySQL, но я хочу использовать MongoDB, чтобы воспользоваться ее функциональностью map / lower для работы некоторых веб-диаграмм.Каков наилучший способ репликации новых записей в MySQL в Mongo?Какое-нибудь решение, где я проверяю двоичный журнал MySQL и обновляю его соответственно, как и стандартная репликация MySQL?

Спасибо!Alex

Ответы [ 3 ]

1 голос
/ 03 ноября 2010

MySQL и MongoDB используют очень разные модели данных и запросов, поэтому вы не можете передавать данные напрямую.

Увы, перемещение данных между ними должно выполняться вручную, и эффективное выполнение этого в значительной степени зависит от ваших данных. Например. Вы можете перенести каждую таблицу в отдельную коллекцию (примерно таблицу в MongoDB-lingo) и сделать уникальные атрибуты в таблицах атрибутом _id. Кроме того, вы можете сделать от _id до tablename+unique_id.

По сути, поскольку базы данных документов в основном имеют произвольную форму, вы можете изобретать свои схемы по бесконечности (если атрибуты _id уникальны в коллекции).

1 голос
/ 18 ноября 2011

Tungsten Replicator - это механизм репликации данных для MySQL.

Используя гетерогенную репликацию, вы можете настроить репликацию MySQL в MongoDB .

0 голосов
/ 29 сентября 2010

Я не знаком с MongoDB, но мой быстрый взгляд показывает, что он несовместим с mySQL, поэтому, если кто-то написал что-то для импорта из mySQL, вам не повезло.

Вы можете написать свою собственную функцию импорта.

при условии, что в ваших таблицах mySQL используется увеличивающееся уникальное поле 'id', вы можете отслеживать последнюю строку в mysql, а затем отправлять ее в mongodb при ее изменении.

С изменениями и удалениями будет гораздо сложнее иметь дело. если это важно, то, вероятно, лучше всего вставить данные в источник.

Нужно ли вообще вставлять данные в mysql? Вы могли бы сделать все это в mongodb и избавить вас от хлопот?

DC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...