Kafka Connector для базы данных Oracle - PullRequest
1 голос
/ 27 июня 2019

Я хочу создать Kafka Connector, чтобы получать записи из базы данных практически в реальном времени. Моя база данных - Oracle Database 11g Enterprise Edition Release 11.2.0.3.0, и в таблицах содержатся миллионы записей. Прежде всего, я хотел бы добавить минимальную нагрузку на мою базу данных с помощью CDC. Во-вторых, я хотел бы получить записи на основе поля LastUpdate, которое имеет значение после определенной даты.

При поиске на сайте слияния, единственным соединителем с открытым исходным кодом, который я нашел, был “Kafka Connect JDBC”. Я думаю, что у этого соединителя нет механизма CDC, и невозможно получить миллионы записей, когда соединитель запускается в первый раз. Альтернативное решение, которое я подумал, - это Debezium, но на сайте Confluent нет Debezium Oracle Connector, и я считаю, что это бета-версия.

Какое решение вы бы предложили? Что-то не так с моими предположениями о Kafka Connect JDBC или Debezium Connector? Есть ли другое решение?

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

У нас есть многочисленные клиенты, использующие продукт IBM IIDR (информационная сфера репликации данных) для репликации данных из баз данных Oracle (а также мэйнфреймов Z, серии I, SQL Server и т. Д.) В Kafka.

Независимо от того, какой из используемых источников, данные могут быть нормализованы в один из многих форматов в Kafka.Пример включенного, выбираемого формата: ...

https://www.ibm.com/support/knowledgecenter/en/SSTRGZ_11.4.0/com.ibm.cdcdoc.cdckafka.doc/tasks/kcopauditavrosinglerow.html

Решение обладает высокой масштабируемостью и измерено для репликации изменений в 100 000 строк в секунду.

У нас также есть собственная возможность восстанавливать данные, записанные параллельно с Kafka, в исходный исходный порядок.Таким образом, несмотря на то, что данные были записаны во множество разделов и тем, первоначальный общий порядок может быть известен.Эта функциональность известна как TCC (транзакционно-последовательный потребитель).

Смотрите видео и слайды здесь ... https://kafka -summit.org / session / ровно-один раз-replication-database-kafka-cloud /

0 голосов
/ 27 июня 2019

Для CDC на основе запросов, который менее эффективен, вы можете использовать соединитель источника JDBC .Для CDC на основе журнала мне известны несколько вариантов, однако для некоторых из них требуется лицензия:

1) Attunity Replicate , которая позволяет пользователям использовать графический интерфейс для создания в реальном времениконвейеры данных из систем производителей в Apache Kafka без необходимости ручного кодирования или написания сценариев.Я использовал Attunity Replicate for Oracle -> Kafka в течение нескольких лет и был очень доволен.

2) Oracle GoldenGate , для которого требуется лицензия

3) Oracle Log Miner, для которой не требуется лицензия и которая используется как Attunity, так и kafka-connect-oracle , который является исходным соединителем Kafka для захвата всех изменений DML на основе строк из Oracle и потоковой передачи этих изменений в Kafka. Логика захвата данных основана на решении Oracle LogMiner.

...