我正在构建一个集成解决方案,我需要集成两个数据库。这些数据库可能是MySQL og MSSQL。我永远不知道来源或目的地是什么。
另外,我不知道应该传输多少数据。我计划每天或每小时这样做,不知道我应该转移多少数据这种限制我的技术选择。
通常我会使用某种ETL工具(例如Microsoft SSIS)来完成此操作。但是有政治环境不允许这样做。
我的问题是这个。我应该选择哪个选项(这是运行Microsoft Azure)。
我已经在asp.core中尝试过一些大型数据库和REST服务,但是暂时停止了。我考虑过使用servicebus和一些应用程序来逐步读取数据并将其推送到总线。如果我可以使用增量读取构建此解决方案,为什么不使用REST服务。
我在这里继续前进。
我还没有想过什么?
答案 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上,提供付费支持选项。很难与自由争辩。