Как интегрировать 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: пожалуйста, не удаляйте этот ответ. В этом вопросе много дубликатов. Но это первый вопрос, и другие дубликаты должны быть перенаправлены сюда и отмечены как дубликаты. Ни в коем случае. Я удалил все остальные ответы из других вопросов и просто оставил этот ответ в качестве основного.