Я ищу решение для потоковой передачи данных из Oracle 11g в Kafka. Я надеялся использовать GoldenGate, но, похоже, он доступен только для Oracle 12c. Является ли платформа Confluent лучшим выбором?
Спасибо!
Я ищу решение для потоковой передачи данных из Oracle 11g в Kafka. Я надеялся использовать GoldenGate, но, похоже, он доступен только для Oracle 12c. Является ли платформа Confluent лучшим выбором?
Спасибо!
Во-первых, общий ответ будет таким: лучший способ подключить 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.
Oracle GoldenGate
и Confluent Platform
несопоставимы.
Confluent Platform
предоставляет полную платформу потоковой передачи и представляет собой набор нескольких программ, которые можно использовать для потоковой передачи ваших данных, где GoldenGate
— это программное обеспечение для репликации и интеграции данных.
Кроме того, GoldenGate
очень надежен для репликации базы данных, поскольку поддерживает целостность транзакций, чего нельзя сказать о Kafka Mirror Maker
или Confluent's Replicator
в настоящее время.
Если вам нужны только чистые транзакции, рассмотрите возможность использования OpenLogReplicator. Он поддерживает базу данных Oracle с версии 11.2.0.1.
Он может производить транзакции в Kafka в двух форматах:
Классический формат — когда каждая транзакция представляет собой одно сообщение Kafka (несколько DMLS на одно сообщение Kafka)
Формат в стиле Debezium — транзакции разделены — каждый DML — это одно сообщение Kafka
Уже есть рабочая версия. Можешь попробовать.
Сейчас я использую ojdbc6 для подключения к Oracle 11g. Это достаточно хорошо, но не идеально, особенно при использовании режима пула для проверки наличия новых обновлений в исходных таблицах.
Я также пытался прочитать все таблицы, используя определенный шаблон, но это не сработало.
Наилучший способ подключения базы данных Oracle к Kafka (особенно когда таблицы очень широкие по столбцам) — использовать запросы для соединителей. Таким образом, вы гарантируете, что выбираете правильные поля и выполняете приведение чисел, если вы с помощью авро.