Kafka Connector for Oracle数据库源

时间:2019-06-27 08:02:38

标签: oracle11g apache-kafka apache-kafka-connect cdc oracle-cdc

我想构建一个Kafka Connector,以便几乎实时地从数据库中检索记录。我的数据库是Oracle Database 11g企业版11.2.0.3.0版,表中有数百万条记录。首先,我想使用CDC向数据库添加最小负载。其次,我想基于LastUpdate字段检索记录,该字段在特定日期后具有值。

在汇合处搜索时,我发现的唯一开放源代码连接器是“Kafka Connect JDBC”。我认为该连接器没有CDC机制,并且在该连接器首次启动时无法检索数百万条记录。我认为替代解决方案是Debezium,但是Confluent站点上没有Debezium Oracle Connector,我相信它是beta版。

您会建议哪种解决方案?我对Kafka Connect JDBC或Debezium Connector的假设有问题吗?还有其他解决方案吗?

2 个答案:

答案 0 :(得分:0)

对于效率较低的基于查询的CDC,可以使用JDBC source connector。对于基于日志的CDC,我知道几个选项,但是其中一些需要许可证:

1)Attunity Replicate,允许用户使用图形界面创建从生产者系统到Apache Kafka的实时数据管道,而无需进行任何手动编码或编写脚本。我使用Attunity Replicate for Oracle-> Kafka已有两年了,对此感到非常满意。

2)Oracle GoldenGate,需要许可证

3)Oracle Log Miner不需要任何许可证,并且由Attunity和kafka-connect-oracle都使用,这是一个Kafka源连接器,用于从Oracle捕获所有基于行的DML更改并将这些更改流式传输到Kafka。变更数据捕获逻辑基于Oracle LogMiner解决方案。

答案 1 :(得分:0)

我们有许多客户使用IBM的IIDR(信息领域数据复制)产品将Oracle数据库(以及Z大型机,I系列,SQL Server等)中的数据复制到Kafka中。

无论使用哪种来源,都可以将数据标准化为Kafka中的多种格式之一。包含的可选格式的示例是...

https://www.ibm.com/support/knowledgecenter/en/SSTRGZ_11.4.0/com.ibm.cdcdoc.cdckafka.doc/tasks/kcopauditavrosinglerow.html

该解决方案具有高度的可扩展性,并且经过测量可以将更改复制到每秒100,000行中。

我们还具有将与Kafka并行写入的数据重构回其原始源顺序的专有能力。因此,尽管数据已写入多个分区和主题,但原始总顺序还是可以知道的。此功能称为TCC(交易一致的使用者)。

在此处观看视频和幻灯片... https://kafka-summit.org/sessions/exactly-once-replication-database-kafka-cloud/