当前位置:网站首页>maxwell 概念
maxwell 概念
2022-08-11 05:35:00 【吃再多糖也不长胖】
maxwell 概念
maxwell 定义
maxwell 是用java编写的实时抓取MYSQL软件,实时读取MYSQL 二进制日志Binlog并生成JSON格式,用作生产者发送给Kafka、Redis等应用。
Maxwell原理
将自己伪装成MYSQL的一个salve,然后以salve的身份从master 复制数据。
Mysql 主从复制过程
master主库改变记录,写到二进制日志binary log 文件。
salve 从库I/O线程向mysql master 发送dump协议,将master主库的binary log events 拷贝到从库的中继日志relay log
salve 有个sql thread 会读取中继日志,顺序执行该日志中的sql事件,从而与主库保持一致。
binary log分类
binary log 有三种格式:statement,row,mixed
statement
语句级别,binlog每次记录执写操作的语句,比较节约空间,但是可能产生的结果不一样,例如update test set create_date=now().如果用binlog回复日志的话, 这也执行时间不同,产生的数据就不同。
row
行级别,binlog记录每次操作后的每行记录的变化,优点:保持数据的一致性,因为不管执行了什么操作,都只是记录执行后的效果。缺点:占用较大空间
mixed
混合级别,statement 升级版,默认还是statement,但是当函数包含UUID()时;包含AUTO_INCREMENT字段的表被更新时;执行INSERT DELAYED语句时;用UDF时;会按照ROW 的方式进行处理。优点:节约空间的同时还兼顾了一定的一致性。缺点:还存在个别情况会造成不一致。
maxwell 选择的binlog格式
maxwell要做监控分析,选择row格式比较适合,强一致性。
maxwell和canal对比
语言: 都是java编写
数据格式:canal格式自由,maxwell只能发送json消息
数据采集模式:canal只支持增量采集,maxwell支持全量和增量
数据落地:canal要定制才行,maxwell支持kafka等多种平台
ha:都支持
边栏推荐
猜你喜欢
随机推荐
radix-4 FFT 原理和C语言代码实现
《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》论文阅读(详细)
numpy和tensor增加或删除一个维度
Sturges规则
CLUSTER DAY02 (Keepalived Hot Standby, Keepalived+LVS, HAProxy Server)
空间金字塔池化 -Spatial Pyramid Pooling(含源码)
HCIP Republish/Routing Policy Experiment
SATA、SAS、SSD三种硬盘存储性能数据
安装cuda10.2下paddlepaddle的安装
获取拼多多商品信息操作详情
HCIP-Spanning Tree (802.1D, Standard Spanning Tree/802.1W: RSTP Rapid Spanning Tree/802.1S: MST Multiple Spanning Tree)
推荐一个好用的IDEA插件---Translation—中英互译
HCIP BGP neighbor building, federation, and aggregation experiments
HCIP experiments (pap, chap, HDLC, MGRE, RIP)
HCIP OSPF动态路由协议
抖音获取douyin分享口令url API 返回值说明
【LeetCode】2034. 股票价格波动(思路+题解)双map
SECURITY DAY04 (Prometheus server, Prometheus monitored terminal, Grafana, monitoring database)
HCIP BGP建邻实验
My meeting of the OA project (meeting seating & review)