将数据从Oracle 11g流式传输到Kafka

时间:2017-03-14 17:45:25

标签: oracle11g apache-kafka-connect

我正在寻找将数据从Oracle 11g传输到Kafka的解决方案。我希望使用GoldenGate,但这似乎只适用于Oracle 12c。 Confluent平台是最好的方式吗?

谢谢!

4 个答案:

答案 0 :(得分:2)

首先,一般的答案是:将Oracle(数据库)连接到Kafka的最佳方法是使用Confluent Platform和Kafka的Connect API以及GoldenGate的即用型连接器。请参阅https://www.confluent.io/product/connectors/中“认证连接器”部分中的GoldenGate / Oracle条目。列出的GoldenGate Kafka连接器由Oracle维护。

  

Confluent平台是最好的方式吗?

因此,一般来说,上述问题的答案是:“是的,确实如此。”

但是,正如您针对Oracle版本的特定问题所指出的,Oracle遗憾的是在其GoldenGate连接器的自述文件中包含以下信息:

  

支持的版本

     

Oracle GoldenGate Kafka Connect处理程序/格式化程序已编码   使用以下产品版本进行测试。

     
      
  • Oracle GoldenGate for Big Data 12.2.0.1.1
  •   
  • Confluent IO Kafka / Kafka Connect 0.9.0.1-cp1
  •   
     

Oracle GoldenGate Kafka Connect可能需要移植   处理程序/格式化程序与其他版本的Oracle GoldenGate一起使用   大数据和/或汇合IO Kafka / Kafka Connect

这意味着连接器不能与Oracle 11g一起使用,至少就我所知。

很抱歉,如果这不能解答您的具体问题。至少我想给你一些关于一般方法的反馈。如果我确实遇到了更具体的答案,我会更新此文本。

2017年3月15日更新:目前您最好的选择是使用Confluent's JDBC connector。该连接器无法为您提供与Oracle的原生GoldenGate连接器完全相同的功能集。

答案 1 :(得分:0)

Oracle GoldenGateConfluent Platform无法比较。

Confluent Platform提供完整的流媒体平台,是多个软件的集合,可用于流式传输数据,其中GoldenGate是复制和数据集成软件。

同样GoldenGate对于数据库复制非常可靠,因为它维护了事务完整性,目前Kafka Mirror MakerConfluent's Replicator也不能这样说。

答案 2 :(得分:0)

如果您只需要纯事务处理-也请考虑使用OpenLogReplicator。它支持从11.2.0.1。版开始的Oracle数据库。

它可以以两种格式向Kafka进行交易:

  • 经典格式-当每笔交易都是一条Kafka消息(每条Kafka消息有多个DMLS)

  • Debezium样式格式-事务被分割-每个DML都是一条Kafka消息

已经有一个工作版本。你可以尝试一下。

答案 3 :(得分:-1)

现在,我正在使用ojdbc6连接到Oracle 11g。这已经足够好,但并不完美,特别是在使用池模式检查原始表上是否有新更新时。

我也尝试使用某种模式读取所有表,但是效果不佳。

将Oracle DB连接到Kafka的最佳模式(特别是当表非常宽时,对于列而言)是对连接器使用查询。通过这种方式,可以确保选择正确的字段并对数字进行强制转换如果您使用的是Avro。