如何将oracle表数据加载到kafka主题中?

时间:2018-04-04 10:47:08

标签: apache-kafka cdc oracledb

如何将oracle表数据加载到kafka主题中?我做了一些研究并且知道了,我应该使用CDC工具,但所有CDC工具都是付费版本,任何人都可以建议我如何实现这一目标?

7 个答案:

答案 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工具(源连接器):

  1. Attunity
  2. Dbvisit
  3. Striim
  4. Oracle GoldenGate

答案 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)

有一个基于Oracle的自定义Kafka源连接器,基于此处的logminer:

https://github.com/erdemcer/kafka-connect-oracle

该项目正在开发中。

答案 6 :(得分:0)

您可能对OpenLogReplicator感兴趣。它是完全用C ++编写的开源GPL许可工具。它读取Oracle Redo日志的二进制格式并将其发送到Kafka。

这是非常快的-由于它可以在内存中完全运行,因此您无需花费太多精力就可以实现低延迟。它支持11.2.0.1以来的所有Oracle数据库版本,并且不需要其他许可。

它可以在数据库主机上运行,​​但是您也可以将其配置为使用sshfs从另一台主机读取重做日志,而数据库的负载却最小。

免责声明:我是此解决方案的作者