前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Maxwell 系列(一)

Maxwell 系列(一)

作者头像
大数据最后一公里
发布2021-08-05 10:27:03
9020
发布2021-08-05 10:27:03
举报
文章被收录于专栏:大数据最后一公里

1、Maxwell介绍

maxwell读取MySQL二进制日志并以JSON格式将行更新写入到Kafka,Kinesis或其他流媒体平台。Maxwell的操作开销很低,只需要mysql和一个可写的地方即可。它的常见用例包括ETL,缓存建立/过期,指标收集,搜索索引和服务间通信,Maxwell为您提供了时间来源的一些优势,而无需重新架构整个平台。

2、数据示例

增加数据

代码语言:javascript
复制
 mysql> insert into `test`.`maxwell` set id = 1, daemon = 'Stanislaw Lem';
  maxwell: {
    "database": "test",
    "table": "maxwell",
    "type": "insert",
    "ts": 1449786310,
    "xid": 940752,
    "commit": true,
    "data": { "id":1, "daemon": "Stanislaw Lem" }
  }

修改数据

代码语言:javascript
复制
mysql> update test.maxwell set daemon = 'firebus!  firebus!' where id = 1;
  maxwell: {
    "database": "test",
    "table": "maxwell",
    "type": "update",
    "ts": 1449786341,
    "xid": 940786,
    "commit": true,
    "data": {"id":1, "daemon": "Firebus!  Firebus!"},
    "old":  {"daemon": "Stanislaw Lem"}
  }

3、Maxwell主要功能

  • 支持Select * from table的方式进行全量数据初始化
  • 支持在主库发生failover后,自动恢复binlog位置(GTID)
  • 可以对数据进行分区,解决数据倾斜问题,发送到kafka的数据支持database、table、column等级别的数据分区
  • 工作方式是伪装为Slave,接收binlog events,然后根据schemas信息拼装,可以接收ddl、xid、row等各种event

4、同类工具对比

除了Maxwell外,目前常用的MySQL Binlog解析工具主要有阿里的canal、mysql_streamer,三个工具对比如下:

bootstrap 引导程序

增量同步:MySQL ---> 中间件(canal\maxwell) --->Kafka---->?--->存储 Hbase/kudu/cassandra

全量: 使用bootstrap进行引导,作用是全量抽取mysql数据

代码语言:javascript
复制
Maxwell允许您将数据“引导”到流中。这将执行select * from table和将结果
输出到您的流中,从而允许您从头开始播放流来重新创建整个数据集

canal由Java开发,分为服务端和客户端,拥有众多的衍生应用,性能稳定,功能强大。

canal需要自己编写客户端来消费canal解析到的数据。

maxwell相对canal的优势是使用简单,它直接将数据变更输出为json字符串,不需要再编写客户端。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据最后一公里 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档