天天看點

Debezium 簡介

Debezium 簡介

Debezium 是一個分布式平台,可将您現有的資料庫轉換為事件流,是以應用程式可以檢視并立即響應資料庫中的每個行級更改。

Debezium 建構在Apache Kafka之上,并提供與Kafka Connect相容的連接配接器,用于監控特定的資料庫管理系統。Debezium 在 Kafka 日志中記錄資料更改的曆史記錄,從您的應用程式使用它們的位置。這使您的應用程式可以輕松正确且完整地使用所有事件。即使您的應用程式意外停止,它也不會錯過任何内容:當應用程式重新啟動時,它将繼續使用它停止的事件。

Debezium對比 canal 優缺點

debezium支援全DDL(create/alter/rename/drop/truncate)和DML(insert/update/delete)的記錄檔同步;(Maxwell不支援truncate指令同步)

支援使用資料的主鍵或唯一鍵作為消息體的key(可以根據該唯一鍵做Topic分區進行負載均衡);

支援快照模式(snapshot.mode)全量同步;(Canal不支援全量,Maxwell支援bootstrap全量)

還支援多種資料源(MySQL,Oracle,Postgre,MongoDB,SqlServer,DB2,Cassandra),比Canal,Maxwell功能更強大;

社群活躍,與kafka connect配合使用如虎添翼。

缺點:

需要kafka connect依賴;

消息體内容太多,對消息隊列壓力較大;(可使用transforms 子產品進行壓縮和定制)

每張表對應一個topic,管理起來不夠友善(canal,maxwell則可以使用正則來處理); (可使用transforms 子產品進行壓縮和定制)

繼續閱讀