哪个是同步两个数据库的最佳方法(无ETL)

时间:2018-06-05 17:10:26

标签: .net database azure

我正在构建一个集成解决方案,我需要集成两个数据库。这些数据库可能是MySQL og MSSQL。我永远不知道来源或目的地是什么。

另外,我不知道应该传输多少数据。我计划每天或每小时这样做,不知道我应该转移多少数据这种限制我的技术选择。

通常我会使用某种ETL工具(例如Microsoft SSIS)来完成此操作。但是有政治环境不允许这样做。

我的问题是这个。我应该选择哪个选项(这是运行Microsoft Azure)。

我已经在asp.core中尝试过一些大型数据库和REST服务,但是暂时停止了。我考虑过使用servicebus和一些应用程序来逐步读取数据并将其推送到总线。如果我可以使用增量读取构建此解决方案,为什么不使用REST服务。

我在这里继续前进。

我还没有想过什么?

1 个答案:

答案 0 :(得分:0)

我们使用StreamSets Data Collector。它可以在血源数据库之间复制;我们在Oracle和Vertica之间使用它。它能够读取MySQL和MS-SQL Server的存档日志,但我还没有尝试过。它将连接到几乎任何支持JDBC的数据库。最好的部分是单个数据管道可以复制表的整个模式。我们使用一个管道将超过100个表从我们的大容量Oracle ERP复制到我们的Vertica ODS /数据湖,并且延迟不到一分钟。我们看到的唯一问题是Oracle的LogMiner对我们来说太慢了(100%是Oracle问题)所以我们编写了一些PL / SQL来促进CDC的删除。最后,StreamSets是Apache License开源,发布在GitHub上,提供付费支持选项。很难与自由争辩。