apache-kafkaapache-kafka-connectconfluent-platformdebezium

What is the difference between debezium vs confluent JdbcSinkConnector?


I tried to connect Kafka with Postgres through the sink connector, and I am a little bit confused. There are 2 types of the connectors: 1) io.debezium.connector.jdbc.JdbcSinkConnector 2) io.confluent.connector.jdbc.JdbcSinkConnector

Could you explain the difference between them? Is it just two different "providers" for Kafka? I found that they are interconnected, and, for some reason, almost all the manuals and videos about confluent are not about debezium. Looks like confluent is more popular than debezium.


Solution

  • The Confluent JDBC Sink connector has been around for many years (2015), whilst the Debezium JDBC sink one was only released recently (2023). That's why most of the online materials will be about the Confluent one.

    The Confluent JDBC Sink connector is licensed under the Confluent Community License which is more restrictive than the Apache 2.0 license under which Debezium is licensed and which is open source.

    The Debezium sink connector is designed to work seamlessly with the Debezium source record format (ref) whereas the Confluent one requires the use of Single Message Transforms (SMT).