Я работаю над проектом на работе. Мне любопытно, можно ли реализовать Kafka в базе данных без CDC. (на нем CDC не включен постоянно) Не могу найти какие-либо ресурсы в Интернете, в которых обсуждаются другие варианты. Можно ли передавать данные непосредственно в кафку? Например, написать код C# для чтения базы данных, а затем подключиться к Kafka, который действует как соединитель?
Посмотрите, это все объясняет :-)
https://www.confluent.io/kafka-summit-ny19/no-more-silos-integrating-db-into-apache-kafka
tl;dr: Вы мог пишете какой-то код, но вопрос в том, что на самом деле должен вы пишете какой-то код :) Почти наверняка нет. Вы можете использовать «правильный» CDC для получения событий из журнала транзакций, или вы можете использовать «CDC на основе запросов» с коннектором JDBC Source, чтобы просто опрашивать новые записи. Плюсы и минусы каждого из них обсуждаются в приведенном выше разговоре.
Можно, но не следует. Думайте о CDC как о другой части программного обеспечения, и, конечно, вы можете написать подобное программное обеспечение. Есть много сложных вещей, которые вам нужно решить:
Есть много причин, по которым это единственное теоретическое решение. Это отличный блог от одного парня с большим опытом работы с распределенными базами данных, который обсуждал написание собственного CDC для Postgres или любого поставщика баз данных в целом.