| Single Binary |
No additional dependencies or infrastructure required |
| Exactly Once Processing |
Offsets are committed to ClickHouse after the messages are written to ClickHouse |
| Supported Databases |
MySQL, MariaDB, PostgreSQL, MongoDB(Experimental) |
| Supported ClickHouse Versions |
24.8 and above |
| Clickhouse Tables Types |
ReplacingMergeTree, MergeTree, ReplicatedReplacingMergeTree |
| Replication Start positioning |
Using sink-connector-client to start replication from a specific offset or LSN(MySQL Binlog Position, PostgreSQL LSN) |
| Supported Datatypes |
Refer Datatypes |
| Initial Data load |
Scripts to perform initial data load (MySQL) |
| Fault Tolerance |
Sink Connector Client to continue replication from the last committed offset/LSN in case of a failure |
| Update, Delete |
Supported with ReplacingMergeTree |
| Monitoring |
Prometheus Metrics, Grafana Dashboard |
| Schema Evolution |
DDL support for MYSQL. |
| Deployment Models |
Docker Compose, Java JAR file, Kubernetes |
| Start, Stop, Pause, Resume Replication |
Supported using sink-connector-client |
| Filter sources databases, tables, columns |
Supported using debezium configuration. |
| Map source databases to different ClickHouse databases |
Database name overrides supported. |
| Column name overrides |
Planned |
| MySQL extensive DDL support |
Full list of DDL(sink-connector-lightweight/docs/mysql-ddl-support.md) |
| Replication Lag Monitoring |
Grafana Dashboard and view to monitor lag |
| Batch inserts to ClickHouse |
Configurable batch size/thread pool size to achieve high throughput/low latency |
| MySQL Generated/Alias/Materialized Columns |
Supported |
| Auto create tables |
Tables are automatically created in ClickHouse based on the source table structure. |