我正在为以下问题寻找可能的解决方案。
首先,我所处的情况:
我有2个数据库,1个Oracle DB和1个MySQL DB。尽管它们有很多相似之处,但它们并不完全相同。Oracle和Oracle上都有很多表,但是MySQL表通常更广泛,包含更多的列。数据库的情况不能改变,所以我必须处理这个问题。
现在,我正在寻找以下内容:
我想将数据从Oracle同步到MySQL,反之亦然。这必须是实时的或尽可能接近实时的。因此,当在一个数据库中进行更改时,它们必须尽快同步到另一个数据库。
此外,不是每个表都必须同步,因此解决方案必须提供一种方法来选择哪些表必须同步,哪些表不需要同步。
因为数据库不是完全相同的,所以我认为复制不是一种选择。但是什么才是呢?我希望你们能帮助我找到一种方法来做这件事,或者是一个能做我需要的工具。也许你知道一些好的论文/文章,我可以用?
谢谢!
发布于 2013-03-13 22:58:32
我读了你的问题和答案。我曾经在Oracle、SQL、ETL和数据仓库方面工作过,下面是我的建议:
- If your transactional database is on Oracle, you can have triggers set up on the key tables that would further trigger an external procedure written in C, C++ or Java.
- The reason behind using an external procedure is to be able to communicate with both databases at a time - Oracle and MySQL.
- You can read more about Oracle External Procedures [here](http://docs.oracle.com/cd/A97630_01/appdev.920/a96590/adg11rtn.htm).
在您选择的任何一种方法中,如果您实现自己的工具,而不是使用现成的工具,您将对ETL过程有更好的控制。
发布于 2013-03-13 22:42:03
谢谢你的评论。
我对ETL和EAI做了进一步的研究。我发现我正在寻找一个ETL工具。
https://stackoverflow.com/questions/14956878
复制相似问题