Mysql 如何复制两个不同的数据库系统?

Mysql 如何复制两个不同的数据库系统?,mysql,replication,mongodb,Mysql,Replication,Mongodb,我不确定它是否完全适合stackoverflow,但是,由于我正在寻找一些代码而不是工具,我认为它确实适合 我正在寻找一种方法来复制/同步不同的数据库系统——在本例中是mysql和mongodb。我们两个都是为了不同的目的。我们从mysql数据库开始,后来为特殊应用程序添加了mongodb。我们希望在这两个数据库中都有数据,我们希望在mysql中有约束,在mongodb中有dbrefs。例如:我们需要mysql中的用户记录,但也需要mongodb中的用户记录,用于表与对象之间的引用。目前我们有一

我不确定它是否完全适合stackoverflow,但是,由于我正在寻找一些代码而不是工具,我认为它确实适合

我正在寻找一种方法来复制/同步不同的数据库系统——在本例中是mysql和mongodb。我们两个都是为了不同的目的。我们从mysql数据库开始,后来为特殊应用程序添加了mongodb。我们希望在这两个数据库中都有数据,我们希望在mysql中有约束,在mongodb中有dbrefs。例如:我们需要mysql中的用户记录,但也需要mongodb中的用户记录,用于表与对象之间的引用。目前我们有一个cronjob,它转储mysql数据并将其导入mongodb。然而,尽管它工作得很好,但这不是我们想要的解决方案

我认为目前单向复制就足够了——mysql->mongodb,重要的是,复制是“实时”工作的,就像mysql主复制->从复制一样

对于这个问题是否已经有了解决方案,或者有人提出了如何实现这一点的想法


谢谢

据我所知,您需要开发某种“控制程序”,其中包含每个DBMS的驱动程序,并将其作为守护进程运行。守护进程应该有一个触发器或一个非常小的重新检查间隔来保持DBs的同步

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

您正在寻找的是EAI()。有很多商业工具,但在提供的链接下,您还可以找到一些OSS解决方案。EAI的基础是您拥有数据源和数据接收器。EAI框架提供了在两者之间构建定制泵的工具

我建议使用DB触发器启动同步,或者在应用程序中发送触发器信号。请注意,由于同步可能变得任意复杂(例如,如何确保所有行都被复制?),因此没有关键孔解决方案。

是一款开源、基于Java、支持web、独立于数据库的数据同步/复制软件,只需稍加调整即可实现这一目的。它有一个名为IDataLoaderFilter的扩展点,可用于实现MongodbDataLoader


这将有助于单向数据库复制。从MongoDb->relational database进行同步可能有点困难,但SymmetricDS团队将非常有助于找到解决方案。

也许DBMS本身的触发器可以级联更改?目前支持从RDBMS迁移到无模式数据库的EAI是什么?