Maxwell介绍
1. Maxwell概述
Maxwell是由美国Zendesk公司开源,用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作(包括insert、update、delete),并将变更数据以 JSON 格式发送给 Kafka、Kinesi等流数据处理平台。官网地址:http://maxwells-daemon.io/
2. Maxwell输出数据格式
Maxwell输出的json字段说明:
字段 | 解释 |
---|---|
database | 操作的数据库 |
table | 操作的数据库表 |
type | 数据变更类型 |
ts | 数据变更的时间 |
xid | 事务id |
commit | 事务提交标志 |
data | 对于insert类型,表示插入的数据; 对于update类型,标识修改之后的数据; 对于delete类型,表示删除的数据 |
old | 对于update类型,表示修改之前的数据, 只包含变更字段 |
3. Maxwell原理
Maxwell就是将自己伪装成slave,并遵循Mysql主从复制的协议,实时读取Mysql数据库的二进制日志(Binlog),从中获取变更数据,再将变更数据以JSON格式发送至Kafka等流处理平台。