Потоковая передача данных из Oracle 11g в Kafka

Я ищу решение для потоковой передачи данных из Oracle 11g в Kafka. Я надеялся использовать GoldenGate, но, похоже, он доступен только для Oracle 12c. Является ли платформа Confluent лучшим выбором?

Спасибо!


person cicit    schedule 14.03.2017    source источник
comment
Отвечает ли это на ваш вопрос? Как интегрировать Oracle и Kafka   -  person Adam Leszczyński    schedule 25.05.2020


Ответы (4)


Во-первых, общий ответ будет таким: лучший способ подключить Oracle (базы данных) к Kafka — это действительно использовать Confluent Platform с API Kafka Connect в сочетании с готовым к использованию коннектором для GoldenGate. См. запись GoldenGate/Oracle в разделе «Сертифицированные соединители» по адресу https://www.confluent.io/product/connectors/. Указанный коннектор Kafka для GoldenGate поддерживается Oracle.

Является ли платформа Confluent лучшим выбором?

Отсюда, в целом, ответ на поставленный выше вопрос: «Да, есть».

Однако, как вы указали в своем конкретном вопросе о версиях Oracle, Oracle, к сожалению, имеет следующую информацию в README своего соединителя GoldenGate:

Поддерживаемые версии

Обработчик/форматтер Oracle GoldenGate Kafka Connect написан и протестирован со следующими версиями продукта.

  • Oracle GoldenGate для больших данных 12.2.0.1.1
  • Смешанный ввод-вывод Kafka/Kafka Connect 0.9.0.1-cp1

Обработчику/форматтеру Oracle GoldenGate Kafka Connect может потребоваться перенос для работы с другими версиями Oracle GoldenGate for Big Data и/или Confluent IO Kafka/Kafka Connect.

Это означает, что коннектор не работает с Oracle 11g, по крайней мере, насколько я могу судить.

Извините, если это не отвечает на ваш конкретный вопрос. По крайней мере, я хотел дать вам некоторые отзывы об общем подходе. Если я найду более конкретный ответ, я обновлю этот текст.

Обновление от 15 марта 2017 г. Наилучший вариант, который у вас есть на данный момент, – это использовать JDBC-коннектор Confluent. Однако этот коннектор не может предоставить вам тот же набор функций, что и родной коннектор Oracle GoldenGate.

person Michael G. Noll    schedule 15.03.2017
comment
Обновлен мой ответ, указав JDBC-коннектор Confluent как лучший вариант на данный момент. - person Michael G. Noll; 15.03.2017
comment
Спасибо, это ответ на мой вопрос. Я начал двигаться в направлении продукта Confluent JDBC Kafka Connect. - person cicit; 22.03.2017
comment
JDBC-коннектор Confluent не может получить все изменения. Все режимы приведут к пропуску строк, которые зафиксированы в порядке, отличном от вставленного/обновленного, поскольку в нем используется наивный подход с увеличивающимся столбцом. - person Patrick Szalapski; 23.04.2021

Oracle GoldenGate и Confluent Platform несопоставимы.

Confluent Platform предоставляет полную платформу потоковой передачи и представляет собой набор нескольких программ, которые можно использовать для потоковой передачи ваших данных, где GoldenGate — это программное обеспечение для репликации и интеграции данных.

Кроме того, GoldenGate очень надежен для репликации базы данных, поскольку поддерживает целостность транзакций, чего нельзя сказать о Kafka Mirror Maker или Confluent's Replicator в настоящее время.

person zer0Id0l    schedule 14.03.2017
comment
Я не пытался подразумевать, что они сопоставимы, но поскольку я не могу использовать Golden Gate, то что будет лучше всего... даже если для решения некоторых из этих проблем потребуются специальные решения. - person cicit; 15.03.2017

Если вам нужны только чистые транзакции, рассмотрите возможность использования OpenLogReplicator. Он поддерживает базу данных Oracle с версии 11.2.0.1.

Он может производить транзакции в Kafka в двух форматах:

  • Классический формат — когда каждая транзакция представляет собой одно сообщение Kafka (несколько DMLS на одно сообщение Kafka)

  • Формат в стиле Debezium — транзакции разделены — каждый DML — это одно сообщение Kafka

Уже есть рабочая версия. Можешь попробовать.

person Adam Leszczyński    schedule 22.05.2020

Сейчас я использую ojdbc6 для подключения к Oracle 11g. Это достаточно хорошо, но не идеально, особенно при использовании режима пула для проверки наличия новых обновлений в исходных таблицах.

Я также пытался прочитать все таблицы, используя определенный шаблон, но это не сработало.

Наилучший способ подключения базы данных Oracle к Kafka (особенно когда таблицы очень широкие по столбцам) — использовать запросы для соединителей. Таким образом, вы гарантируете, что выбираете правильные поля и выполняете приведение чисел, если вы с помощью авро.

person Bilal Abdul Kader    schedule 02.03.2020