Как загрузить данные таблицы оракула в тему кафки?
Как загрузить данные таблицы оракула в тему кафки? Я провел некоторое исследование и узнал, что я должен использовать инструмент CDC, но все инструменты CDC являются платной версией, кто-нибудь может подсказать мне, как этого добиться?
6 ответов
Вы найдете эту статью полезной: больше никаких проблем: как интегрировать базы данных с Apache Kafka и CDC
Он подробно описывает все ваши варианты и доступные в настоящее время инструменты. Короче говоря, вы можете выполнять массовые (или основанные на запросах CDC) с Kafka Connect JDBC Connector, или вы можете использовать основанный на журналах подход CDC с одним из нескольких инструментов CDC, которые поддерживают Oracle в качестве источника, включая Attunity, GoldenGate, SQ Данные и IIDR IBM.
Как правило, вы обнаружите, что если вы заплатили за свою базу данных (например, Oracle, DB2 и т. Д.), Вам придется платить за инструмент CDC на основе журнала. Инструменты CDC с открытым исходным кодом доступны для баз данных с открытым исходным кодом. Например, Debezium имеет открытый исходный код и прекрасно работает с MongoDB, MySQL и PostgreSQL.
Возможно, вас заинтересует проект Debezium, который предоставляет CDC-коннекторы с открытым исходным кодом для различных баз данных. Среди прочего, мы предоставляем один для Oracle DB. Обратите внимание, что в настоящее время этот коннектор основан на API-интерфейсе XStream от Oracle, который сам требует отдельной лицензии, но мы надеемся вскоре добавить полностью бесплатную альтернативу.
Отказ от ответственности: я веду Debezium
Вам не нужен инструмент Change Data Capture (CDC) для загрузки данных из Oracle Table в тему Kafka.
Для загрузки данных вы можете использовать JDBC-коннектор Kafka Confluent.
Однако, если вам нужно регистрировать удаления и обновления, вы должны использовать инструмент CDC, для которого вам нужно заплатить лицензию. Confluent сертифицировал следующие инструменты CDC (исходные соединители):
Пожалуйста, обратитесь к исходному разъему kafka jdbc. Ниже приведена ссылка https://docs.confluent.io/current/connect/connect-jdbc/docs/index.html
Здесь есть собственный исходный соединитель Kafka для базы данных Oracle, основанный на logminer:
https://github.com/erdemcer/kafka-connect-oracle
Этот проект находится в разработке.
Как уже упоминалось, CDC требует платных продуктов. Если вы просто хотите попробовать что-то, Striim доступен бесплатно в течение первых 30 дней.
https://www.striim.com/instant-download/
"Свободные" опции, которые включают JDBC... но вы бы добавили значительную нагрузку на вашу базу данных, если вы действительно хотите использовать триггеры для захвата изменений.
Отказ от ответственности: я работаю на стриим
Возможно, вас заинтересует OpenLogReplicator. Это инструмент с открытым исходным кодом под лицензией GPL, полностью написанный на C++. Он читает двоичный формат журналов Oracle Redo и отправляет их в Kafka.
Это очень быстро - вы можете добиться низкой задержки без особых усилий, поскольку он полностью работает в памяти. Он поддерживает все версии баз данных Oracle, начиная с 11.2.0.1, и не требует дополнительного лицензирования.
Он может работать на узле базы данных, но вы также можете настроить его для чтения журналов повторного выполнения с помощью sshfs с другого узла - с минимальной нагрузкой на базу данных.
отказ от ответственности: я являюсь автором этого решения