天天看点

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 模块进行压缩和定制)

继续阅读