【发布时间】:2020-10-15 20:55:09
【问题描述】:
如何将oracle表数据加载到kafka topic中?我做了一些研究并知道,我应该使用 CDC 工具,但所有 CDC 工具都是付费版本,有人能建议我如何实现吗?
【问题讨论】:
-
你有解决办法吗?
-
这能回答你的问题吗? How to integrate Oracle and Kafka
标签: oracle apache-kafka cdc
如何将oracle表数据加载到kafka topic中?我做了一些研究并知道,我应该使用 CDC 工具,但所有 CDC 工具都是付费版本,有人能建议我如何实现吗?
【问题讨论】:
标签: oracle apache-kafka cdc
您会发现这篇文章很有用:No More Silos: How to Integrate your Databases with Apache Kafka and CDC
它详细介绍了您的所有选项和当前可用的工具。简而言之,您可以使用 Kafka Connect JDBC 连接器进行批量(或基于查询的 CDC),或者您可以使用基于日志的 CDC 方法以及支持 Oracle 作为源的多个 CDC 工具之一,包括 Attunity、GoldenGate、SQ数据和 IBM 的 IIDR。
您通常会发现,如果您为数据库(例如 Oracle、DB2 等)付费,您将不得不为基于日志的 CDC 工具付费。开源 CDC 工具可用于开源数据库。例如,Debezium 是开源的,可以很好地与 MongoDB、MySQL 和 PostgreSQL 配合使用。
【讨论】:
您可能对Debezium 项目感兴趣,该项目为各种数据库提供开源 CDC 连接器。其中,我们提供one for Oracle DB。请注意,此连接器目前基于 Oracle 的 XStream API,它本身需要单独的许可,但我们希望尽快添加完全免费的替代方案。
免责声明:我是 Debezium 的负责人
【讨论】:
请参考 kafka jdbc 源码连接器。下面是链接 https://docs.confluent.io/current/connect/connect-jdbc/docs/index.html
【讨论】:
您不需要更改数据捕获 (CDC) 工具即可将数据从 Oracle 表加载到 Kafka 主题中。
您可以使用 Kafka Confluent's JDBC Source Connector 来加载数据。
但是,如果您需要捕获删除和更新,则必须使用 CDC 工具,您需要为此付费。 Confluent 已对以下 CDC 工具(源连接器)进行了认证:
【讨论】:
正如其他人所提到的,CDC 需要付费产品。如果您只是想尝试一下,Striim 可在前 30 天免费使用。
https://www.striim.com/instant-download/
包括 JDBC 在内的“免费”选项。但如果您真的想使用触发器来捕获更改,则会在数据库上引入大量负载。
免责声明:我在 striim 工作
【讨论】:
这里有一个基于 logminer 的 Oracle 数据库自定义 Kafka 源连接器:
https://github.com/erdemcer/kafka-connect-oracle
此项目正在开发中。
【讨论】:
您可能对OpenLogReplicator 感兴趣。它是一个完全用 C++ 编写的开源 GPL 许可工具。它读取 Oracle Redo 日志的二进制格式并将它们发送到 Kafka。
它非常快 - 您可以轻松实现低延迟,因为它完全在内存中运行。它支持自 11.2.0.1 以来的所有 Oracle 数据库版本,并且不需要额外的许可。
它可以在数据库主机上工作,但您也可以将其配置为使用来自另一台主机的 sshfs 读取重做日志 - 数据库负载最小。
免责声明:我是此解决方案的作者
【讨论】: