【问题标题】:Kafka Connector for Oracle Database Source用于 Oracle 数据库源的 Kafka 连接器
【发布时间】:2019-11-09 05:04:49
【问题描述】:

我想构建一个 Kafka 连接器,以便近乎实时地从数据库中检索记录。我的数据库是Oracle Database 11g Enterprise Edition Release 11.2.0.3.0,表有数百万条记录。首先,我想使用 CDC 为我的数据库添加最小负载。其次,我想根据 LastUpdate 字段检索记录,该字段在某个日期之后具有值。

在 confluent 的网站上搜索,我发现唯一的开源连接器是 “Kafka Connect JDBC”。我认为这个连接器没有CDC机制,在连接器第一次启动时不可能检索到数百万条记录。我认为的替代解决方案是 Debezium,但 Confluent 站点上没有 Debezium Oracle 连接器,我相信它是 beta 版本。

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

【问题讨论】:

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


【解决方案1】:

对于效率较低的基于查询的 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 解决方案。

【讨论】:

【解决方案2】:

我们有许多客户使用 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/

【讨论】:

    猜你喜欢
    • 2020-08-05
    • 2020-12-29
    • 2019-05-28
    • 2019-06-04
    • 2019-03-01
    • 2020-01-11
    • 2019-11-13
    • 1970-01-01
    • 2021-02-25
    相关资源
    最近更新 更多