Как интегрировать Oracle и Kafka

Я пытался найти наиболее эффективный / эффективный способ сбора уведомлений об изменениях в одном экземпляре Oracle 11g R2 и доставки этих событий в очередь Apache Kafka, но я не смог найти ни одного простого примера или учебника по этим направлениям.,

Я видел некоторые возможности на стороне Oracle (Streams, Change Data Capture, триггеры (yuck) и т. Д.), Но я все еще не уверен, какой из них лучше использовать.

Вот проект, использующий MySQL и Kafka на GitHub под названием mypipe, я просто не видел ничего подобного для Oracle. Я не уверен, что было бы лучше сосредоточиться на написании пакета Oracle для этого или слоя, подобного проекту mypipe, и т. Д. И т. Д.

Любые рекомендации, предложения или примеры будут с благодарностью. Спасибо.

1 ответ

Решение

Я думаю, что одним из подходов может быть использование Oracle GoldenGate для больших данных (я сам исследую это), очевидно, это, скорее всего, дорогостоящее решение ($)?

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

Дайте мне знать, если у вас есть что-нибудь с этим, удачи...

В настоящее время существует только один инструмент с открытым исходным кодом, который оказывает минимальное влияние на базу данных. Это OpenLogReplicator.

  • лицензия GPL - это полностью открытый код

  • он оказывает очень слабое влияние на исходную базу данных - не требует опций лицензирования и просто включает дополнительное ведение журнала в источнике (как и все другие инструменты репликации)

  • он полностью написан на C++ - поэтому у него очень низкая задержка и высокая пропускная способность

  • он полностью работает в памяти

  • он поддерживает все версии баз данных Oracle, начиная с 11.2.0.1 (11.2, 12.1, 12.2, 18, 19)

Он читает двоичный формат журналов Oracle Redo и отправляет их в Kafka. Он может работать на узле базы данных, но вы также можете настроить его для чтения журналов повторного выполнения с помощью sshfs с другого узла - с минимальной нагрузкой на базу данных.

отказ от ответственности №1: я являюсь автором этого решения

отказ от ответственности № 2: другим пользователям Stackru: пожалуйста, не удаляйте этот ответ. В этом вопросе много дубликатов. Но это первый вопрос, и другие дубликаты должны быть перенаправлены сюда и отмечены как дубликаты. Ни в коем случае. Я удалил все остальные ответы из других вопросов и просто оставил этот ответ в качестве основного.

Другие вопросы по тегам