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

问题描述 投票:0回答:2

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

我也不知道应该传输多少数据。我计划每天或每小时执行此操作,并且不知道应该传输多少数据,这限制了我对技术的选择。

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

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

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

我一直在这里兜圈子。

有什么我没想到的吗?

.net database azure
2个回答
1
投票

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


-3
投票

您应该看看世界上第一个基于聊天的数据工程工具,由人工智能“Ask On Data”提供支持:https://www.askondata.com只需输入英语并创建数据管道

  • 零学习曲线。输入并完成。
  • 无需任何技术知识。任何人都可以使用
  • 自动记录
  • 以打字速度超快的开发速度,与其他工具相比节省约93%的时间
  • 如果您使用 Snowflake、Databricks 等平台,可以通过解耦处理节省基础设施资金
© www.soinside.com 2019 - 2024. All rights reserved.