2017-02-10 116 views
1

我想从我的oracle数据库公开数据表并公开到apache kafka。技术可能吗? 以及我需要流从我的oracle表中更改数据并通知给Kafka。 你知道这个用例的好文档吗? 谢谢使用Apache的Oracle复制数据kafka

+0

如果您只是想阅读(选择查询)并推送到Kafka,那么简单的JDBC代码就足够了。但是,如果您想实时传输CDC(更改数据捕获),那么您需要某种可以使用Logminer或xstream读取CDC的产品。 Striim(我为Striim工作)有这样的产品。还有其他产品,但没有我知道的免费或开放源代码。 Oracle的Golden Gate可以读取kafka的GG路径,但不确定它也可以写入CDC。希望这是有帮助的。 – PGK

+0

看起来像Slim以下已经回复了或多或少一样。 – PGK

回答

0

您可以使用Kafka Connect数据导入/导出到卡夫卡。使用Kafka Connect非常简单,因为不需要编写代码。你只需要配置你的连接器。

如果没有连接器可用并且您想提供自己的连接器,则只需编写代码即可。已有50多个连接器可用。

有是Oracle从合流公司的连接器(“金门”):https://www.confluent.io/product/connectors/

5
  1. 你需要卡夫卡JDBC连接源连接器从Oracle数据库加载数据。 Confluent有一个开源捆绑连接器。它已与Confluent平台的其余部分(包括模式注册表)打包并测试过。使用此连接器与编写简单的连接器配置并启动独立的Kafka Connect过程或向Kafka Connect群集发出REST请求一样简单。可以找到此连接器的文档here

  2. 要将更改数据从Oracle事务数据库实时迁移到Kafka,您需要首先使用Change Data Capture(CDC)专有工具,该工具需要购买商业许可证,如Oracle Golden Gate,Attunity Replicate,Dbvisit Replicate或Striim。然后,您可以利用它们全部提供的Kafka Connect连接器。它们全部列出here

  3. Redbe的开源CDC工具Debezium计划使用不依赖Oracle Golden Gate许可证的连接器。相关的JIRA是here

+0

嗨Slim,这是一个全面的答案。唯一我想在此添加的是Striim可以实时读取CDC并实时写入kafka并具有容错功能。 (正如我上面提到的,我为Striim工作,所以我知道......- :))。 – PGK