我想构建一个kafka连接器,以便从数据库中实时检索记录。我的数据库是Oracle Database 11g
Enterprise Edition发行版11.2.0.3.0,表具有数百万个记录。首先,我想使用CDC向数据库添加最小负载。其次,我想根据一个在特定日期后具有值的LastUpdate字段检索记录。
在Confluent的站点上进行搜索,我发现的唯一开源连接器是“Kafka Connect JDBC”
。我认为该连接器没有CDC机制,并且在连接器首次启动时不可能检索数百万个记录。我认为是Debezium的替代解决方案,但是Confluent网站上没有Debezium Oracle Connector,我相信它是Beta版本。
您建议哪种解决方案?我对Kafka Connect JDBC或Debezium Connector的假设有问题吗?还有其他解决方案吗?
对于基于查询的CDC,效率较低,您可以使用JDBC源连接器。
对于基于日志的CDC,我知道有几个选项,其中一些需要许可证:
1(Attunity Replicate,允许用户使用图形接口从生产者系统中创建实时数据管道到Apache Kafka,而无需进行任何手动编码或脚本。我已经使用Attunity Replicate为Oracle-> Kafka使用了几年,非常满意。
2(需要许可证的Oracle Goldengate
3(不需要任何许可证的Oracle Log Miner,并且由Attunity和Kafka-Connect-Oracle使用,这是一个Kafka源连接器,用于捕获来自Oracle的所有基于行的DML更改并将这些更改流传输到Kafka。更改数据捕获逻辑基于Oracle Logminer解决方案。
我们有许多客户使用IBM的IIDR(INFO SPHERE数据复制(产品来复制Oracle数据库中的数据(以及Z Mainframe,I-Series,SQL Server等(kafka。
无论使用哪些来源,数据都可以标准化为Kafka中的许多格式之一。包含的,可选格式的示例是...
https://www.ibm.com/support/knowledgecenter/en/sstrgz_11.4.0/com.ib.ib.m.com.cdcdoc.cdckafka.doc/tasks/kcopopauditavrosingitlosinglosingslerow.htlerlosing.html.html
该解决方案是高度可扩展的,并且已测量以复制每秒100,000行的变化。
我们还具有专有的能力,可以重建与Kafka并行编写的数据,回到其原始源顺序中。因此,尽管数据已写入了许多分区和主题,但可以知道原始的总订单。此功能称为TCC(交易一致的消费者(。
请参阅视频并在此处滑动...https://kafka-summit.org/sessions/exactly-once-replication-database-kafka-cloud/