【发布时间】:2020-05-22 13:38:42
【问题描述】:
我正在寻找一种将数据从 Oracle 11g 流式传输到 Kafka 的解决方案。我希望使用 GoldenGate,但这似乎只适用于 Oracle 12c。 Confluent 平台是最好的选择吗?
谢谢!
【问题讨论】:
-
这能回答你的问题吗? How to integrate Oracle and Kafka
标签: oracle11g apache-kafka-connect
我正在寻找一种将数据从 Oracle 11g 流式传输到 Kafka 的解决方案。我希望使用 GoldenGate,但这似乎只适用于 Oracle 12c。 Confluent 平台是最好的选择吗?
谢谢!
【问题讨论】:
标签: oracle11g apache-kafka-connect
首先,一般的答案是:将 Oracle(数据库)连接到 Kafka 的最佳方式确实是将 Confluent Platform 与 Kafka 的 Connect API 结合使用的 GoldenGate 连接器。请参阅 https://www.confluent.io/product/connectors/ 的“认证连接器”部分中的 GoldenGate/Oracle 条目。列出的 GoldenGate Kafka 连接器由 Oracle 维护。
Confluent 平台是最好的选择吗?
因此,一般来说,上述问题的答案是:“是的,是的。”
但是,正如您针对有关 Oracle 版本的具体问题所指出的,不幸的是,Oracle 在其 GoldenGate 连接器的 README 中包含以下信息:
支持的版本
Oracle GoldenGate Kafka Connect 处理程序/格式化程序经过编码和 使用以下产品版本进行测试。
- 适用于大数据的 Oracle GoldenGate 12.2.0.1.1
- Confluent IO Kafka/Kafka Connect 0.9.0.1-cp1
Oracle GoldenGate Kafka Connect 可能需要移植 处理程序/格式化程序与其他版本的 Oracle GoldenGate 一起工作 大数据和/或 Confluent IO Kafka/Kafka Connect
这意味着连接器不适用于 Oracle 11g,至少据我所知。
抱歉,如果这不能回答您的具体问题。至少我想给你一些关于一般方法的反馈。如果我确实遇到更具体的答案,我会更新此文本。
2017 年 3 月 15 日更新:您目前的最佳选择是使用 Confluent's JDBC connector。不过,该连接器无法为您提供与 Oracle 的本机 GoldenGate 连接器完全相同的功能集。
【讨论】:
Oracle GoldenGate 和 Confluent Platform 没有可比性。
Confluent Platform 提供完整的流式传输平台,是多个软件的集合,可用于流式传输您的数据,而GoldenGate 是复制和数据集成软件。
此外,GoldenGate 对于数据库复制非常可靠,因为它维护了事务完整性,此时Kafka Mirror Maker 或Confluent's Replicator 不能这样说。
【讨论】:
如果您只想要纯事务 - 请考虑使用 OpenLogReplicator。从版本 11.2.0.1 开始支持 Oracle 数据库。
它可以以 2 种格式向 Kafka 生成事务:
经典格式 - 当每个事务都是一个 Kafka 消息时(每个 Kafka 消息多个 DMLS)
Debezium 样式格式 - 事务被划分 - 每个 DML 都是一个 Kafka 消息
已经有一个工作版本。你可以试试。
【讨论】:
现在我正在使用 ojdbc6 连接到 Oracle 11g。它已经足够好,但并不完美,尤其是在使用池模式检查原始表上是否有新更新时。
我也尝试使用特定模式读取所有表格,但这并不奏效。
将 Oracle DB 连接到 Kafka 的最佳模式(特别是当表非常宽时,列明智的,是对连接器使用查询。这样,您可以确保选择正确的字段并进行一些数字转换如果您使用的是 avro。
【讨论】: