3

我一直在尝试找到在单个 Oracle 11g R2 实例中捕获更改通知并将这些事件传递到 Apache Kafka 队列的最有效/最有效的方法,但是我无法找到任何简单的示例或教程.

我在 Oracle 方面看到了一些可能性(Streams、Change Data Capture、triggers (yuck) 等),但我仍然不确定哪个是最好的追求。

这是一个在 GitHub 上使用 MySQL 和 Kafka 的项目,名为mypipe,我只是没有看到任何与 Oracle 类似的东西。我不确定是否最好专注于为此编写一个 Oracle 包,或者类似于 mypipe 项目等的层等等。

任何建议、建议或示例将不胜感激。谢谢你。

4

2 回答 2

1

我认为一种方法可能是将 Oracle GoldenGate 用于大数据(我自己研究这个),显然它最有可能是一个昂贵的解决方案($)?

https://blogs.oracle.com/dataintegration/entry/introducing_oracle_goldengate_for_big

让我知道如果你有这个,祝你好运......

于 2015-08-30T21:24:45.343 回答
1

目前只有一种工具是开源的,对数据库的影响最小。这是OpenLogReplicator

  • 许可证是 GPL - 它是完全开源的

  • 它对源数据库的影响非常小 - 它不需要许可选项,只需打开源上的补充日志记录(就像所有其他复制工具一样)

  • 它完全用 C++ 编写 - 因此它具有非常低的延迟和高吞吐量

  • 它完全在内存中工作

  • 它支持自 11.2.0.1 以来的所有 Oracle 数据库版本(11.2、12.1、12.2、18、19)

它读取 Oracle Redo 日志的二进制格式并将它们发送到 Kafka。它可以在数据库主机上工作,但您也可以将其配置为使用来自另一台主机的 sshfs 读取重做日志 - 数据库负载最小。

免责声明 #1:我是此解决方案的作者

免责声明 #2:致其他 StackOverflow 用户:请不要删除此答案。这个问题有很多重复。但这是第一个问题,其他重复项应在此处重定向并标记为重复项。不是其他方式。我已从其他问题中删除了所有其他答案,并将此答案作为主要答案。

于 2020-05-26T05:27:07.807 回答