如何将oracle表数据加载到kafka主题中?我做了一些研究并且知道了,我应该使用CDC工具,但所有CDC工具都是付费版本,任何人都可以建议我如何实现这一目标?
答案 0 :(得分:1)
您会发现这篇文章很有用:No More Silos: How to Integrate your Databases with Apache Kafka and CDC
详细介绍了您的所有选项和当前可用的工具。简而言之,您可以使用Kafka Connect JDBC Connector执行批量(或基于查询的CDC),或者您可以使用基于日志的CDC方法与支持Oracle作为源的几个CDC工具之一,包括Attunity,GoldenGate,SQ数据和IBM的IIDR。
您通常会发现,如果您为数据库付费(例如Oracle,DB2等),您将不得不为基于日志的CDC工具付费。开源CDC工具可用于开源数据库。例如,Debezium是开源的,可以与MongoDB,MySQL和PostgreSQL一起使用。
答案 1 :(得分:0)
请参阅kafka jdbc源连接器。以下是链接 https://docs.confluent.io/current/connect/connect-jdbc/docs/index.html
答案 2 :(得分:0)
您不需要更改数据捕获(CDC)工具,以便将Oracle Table中的数据加载到Kafka主题中。
您可以使用Kafka Confluent's JDBC Source Connector来加载数据。
但是,如果您需要捕获删除和更新,则必须使用您需要支付许可证的CDC工具。 Confluent已经认证了以下CDC工具(源连接器):
答案 3 :(得分:0)
正如其他人所说,CDC需要付费产品。如果你想尝试一下,Striim可以在前30天免费使用。
https://www.striim.com/instant-download/
包含JDBC的“免费”选项。但如果您真的想使用触发器来捕获更改,那么您将在数据库中引入大量负载。
免责声明:我在striim工作
答案 4 :(得分:0)
您可能对Debezium项目感兴趣,该项目为各种数据库提供了开源CDC连接器。除其他外,我们提供one for Oracle DB。请注意,此连接器当前基于Oracle的XStream API,它本身需要单独的许可证,但我们希望尽快添加完全免费的替代方案。
免责声明:我是Debezium的负责人
答案 5 :(得分:0)
答案 6 :(得分:0)
您可能对OpenLogReplicator感兴趣。它是完全用C ++编写的开源GPL许可工具。它读取Oracle Redo日志的二进制格式并将其发送到Kafka。
这是非常快的-由于它可以在内存中完全运行,因此您无需花费太多精力就可以实现低延迟。它支持11.2.0.1以来的所有Oracle数据库版本,并且不需要其他许可。
它可以在数据库主机上运行,但是您也可以将其配置为使用sshfs从另一台主机读取重做日志,而数据库的负载却最小。
免责声明:我是此解决方案的作者