我不知道,如果它完全适合计算器,但因为我在寻找一些代码,而不是一个工具,我认为它。

我在寻找如何复制/同步不同数据库系统的方式 - 在这种情况下:mysql的和MongoDB。我们正在为不同的目的同时运行。我们开始与一个MySQL数据库和MongoDB的加入以后的特殊应用。还有我们想在这两个数据库,在这里我们想在MongoDB中的MySQL respectivly约束DBREFS数据。例如:我们需要在MySQL的用户记录,而且在MongoDB中对表respectivly对象之间的引用。目前,我们有一个cronjob,这转储MySQL数据并导入其在MongoDB中。然而尽管它工作得非常好,这不是我们希望能有解决方案。

我想目前的单向复制就足够了 - mysql-> MongoDB的,重要的部分是,复制的“实时”的作品,就像一个MySQL主 - >从复制作品

是否有已经为这个问题或想法的人如何实现这一目标的任何解决方案?

谢谢!

有帮助吗?

解决方案

您正在寻找被称为EAI(企业应用集成)什么。有很多商业工具,但周围所提供的链接下,你还会发现一对夫妇的OSS解决方案。 EAI的基础是,你有数据源和数据接收器。的EAI框架提供了工具在两者之间建立定制的泵。

我建议要么使用一个数据库触发器来启动同步或在您的应用程序发送一个触发信号。请注意,是因为没有同步钥匙孔的解决方案可以成为任意复杂的(例如,你如何确保所有行被复制?)。

其他提示

SymmetricDS 是开源的,基于Java的,支持web的,独立于数据库,数据同步/复制软件可能这样的伎俩有一些调整。它有一个名为IDataLoaderFilter扩展点,你可以用它来实现一个MongodbDataLoader。

这将有助于用一种方式的数据库复制。这可能是一个有点困难,从MongoDB的同步 - >关系型数据库,但SymmetricDS小组将试图找到解决方案是非常有益的。

据我看你需要制定某种有每个DBMS的驱动程序“控制计划”并运行它作为一个守护进程。该守护进程应该有一个触发器或非常小的复检间隔保持同步的DB

从技术上讲,你可以设置其解析MySQL服务器的二进制日志的过程和复制相关的SQL查询。我从来没有做过这样的事情有不同的数据库作为一个奴隶,但也许这是值得一试?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top