【问题标题】:How to transfer Data from One SQL server to another with out transactional replication如何在没有事务复制的情况下将数据从一个 SQL 服务器传输到另一个
【发布时间】:2018-05-10 08:05:00
【问题描述】:

我有一个与网站连接的数据库,来自网站的数据正在插入该数据库,我需要将数据从该数据库实时传输到另一台服务器上的另一个主数据库 (SQL)(最小延迟)。 在这种情况下,我不能使用事务复制。实现这一目标的其他替代方案是什么?我可以将 Apache kafka 等 DataStreams 与 SQL server 集成吗?

【问题讨论】:

  • 为什么在这种情况下不能使用事务复制?在这里给出答案时要考虑哪些限制因素/约束?
  • 有多个因素我不能使用事务复制。一个是事务复制将使我的主数据库只读,但是还有其他应用程序与该数据库连接,

标签: sql sql-server apache-kafka data-stream


【解决方案1】:

如果没有更多细节,很难给出完整的答案。有什么在技术上是可能的,有什么在架构上真正有意义:)

是的,您可以从 RDBMS 流式传输到 Kafka,也可以从 Kafka 流式传输到 RDBMS。您可以使用Kafka Connect JDBC source and sink。还有支持与 MS SQL 和其他 RDBMS 集成的 CDC 工具(例如 Attunity、GoldenGate 等)

但是……这取决于您为什么需要第二个数据库中的数据。你需要第一个的精确复制品吗?如果是这样,DB-DB 复制可能是更好的选择。如果您想在其他地方处理数据和/或将其保存在另一个存储中,Kafka 是一个很好的选择。但如果你只想要 MS SQL-MS SQL……Kafka 本身可能有点过头了。

【讨论】:

  • 是的,我需要数据库的精确副本。实际上与网站连接的数据库是主数据库的子集,主数据库已经与在该数据库中插入/更新数据的其他应用程序连接,我需要从 Web 数据库中获取数据并插入主数据库中,该数据可供其他人使用应用程序。
  • 因此:(1) 修改您的应用程序以直接写入数据库的 Kafka INSTEAD,然后从 Kafka 流式传输到尽可能多的数据目标,或者 (2) 忘记 Kafka只需投资 SQL Server 复制技术
猜你喜欢
  • 1970-01-01
  • 2017-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多