我正在寻找以下问题的可能解决方案。
首先我所处的情况:
我有2个数据库,1个Oracle DB和1个MySQL DB。虽然它们有很多相似之处,但它们并不完全相同。 Oracle DB和MySQL DB上都有很多表,但Oracle表通常更广泛,包含更多列。
数据库的情况无法改变,所以我要处理它。
现在我正在寻找以下内容:
我想将数据从Oracle同步到MySQL,反之亦然。这必须是实时或尽可能接近实时。因此,当在一个DB上进行更改时,必须尽快将它们同步到另一个DB。
同样不是每个表都必须同步,因此解决方案必须提供一种方法来选择哪些表必须同步,哪些表不同步。
因为数据库不相同,我认为复制不是一个选项。但是什么呢? 我希望你们能帮助我找到一种方法来做到这一点,或者是一种能够完全符合我需要的工具。也许你知道一些我可以使用的好文章/文章?
谢谢!
答案 0 :(得分:1)
感谢您的评论。
我对ETL和EAI做了一些进一步的研究。 我发现我正在寻找一个ETL工具。
答案 1 :(得分:0)
我读了你的问题和答案。我曾在Oracle,SQL,ETL和数据仓库工作过,这是我的建议:
拥有现成的ETL工具是件好事。但是,如果你的应用程序足够大,你需要一个量身定制的ETL工具,我建议你做一个自制的ETL过程。
如果不是通过ExtProc,您可以在Java或.Net中开发一个单独的应用程序,它将从第一个数据库中提取数据,根据您的业务规则对其进行转换并将其加载到您的仓库中。
< / LI> 醇>在您选择的任何一种方法中,如果您实施自己的工具,而不是使用现成的工具,您将可以更好地控制ETL过程。