1.8 Maxwell
1.8.1 Maxwell与Canal、FlinkCDC的对比
1)FlinkCDC、Maxwell、Canal都是主要用于实时系统中实时数据同步处理场景。
FlinkCDC | Maxwell | Canal | |
SQL与数据条数关系 | SQL影响几条出现几条 | SQL影响几条出现几条 | 只有一整条(后续可能需要炸开) |
数据初始化功能(同步全量数据) | 有(支持多库多表同时做) | 有(单表) | 无 |
断点续传功能 | 有(放在CK) | 有(存在MySQL) | 有(本地) |
1.8.2 Maxwell好处
支持断点续传。
全量初始化同步。
自动根据库名和表名把数据发往Kafka的对应主题。
1.8.3 Maxwell底层原理
MySQL主从复制。
1.8.4 全量同步速度如何
同步速度慢,全量同步建议采用Sqoop或者DataX。
1.8.5 Maxwell数据重复问题
同步历史数据时,bootstrap引导服务需要依赖Maxwell进程。
同时binlog也在监听。
如果同步历史数据过程中,源表的数据发生改变:
=》 bootstrap会同步到
=》 Maxwell监听binlog也会同步到
数据产生重复,只能保证至少一次。
解决:根据type过滤,
bootstrap同步的type为 bootstrap-insert
binlog同步的为 insert