想咨询下,otter配置双向同步,在MasterA批量修改N条数据后,同步到MasterB的binlog数据量为何会扩增几十倍以上不止?查看binlog文件,发现多出很多如下update retl_mark的语句
UPDATE retl.retl_mark WHERE @1=249 /* LONGINT meta=0 nullable=0 is_null=0 / @2=0 / INT meta=0 nullable=1 is_null=0 / @3=NULL / INT meta=384 nullable=1 is_null=1 / SET @1=249 / LONGINT meta=0 nullable=0 is_null=0 / @2=11 / INT meta=0 nullable=1 is_null=0 / @3=NULL / INT meta=384 nullable=1 is_null=1 */ at 305919305 161209 14:21:54 server id 3308 end_log_pos 305919361 CRC32 0xf8fe8149 Table_map: retl.retl_mark mapped to number 70896 at 305919361 161209 14:21:54 server id 3308 end_log_pos 305919423 CRC32 0xc1e11543 Update_rows: table id 70896 flags: STMT_END_F
BINLOG ' gk1KWBPsDAAAOAAAAIH1OxIAAPAUAQAAAAEABHJldGwACXJldGxfbWFyawADCAMPAoABBkmB/vg= gk1KWB/sDAAAPgAAAL/1OxIAAPAUAQAAAAEAAgAD///8+QAAAAAAAAALAAAA/PkAAAAAAAAAAAAA AEMV4cE= '/!/; UPDATE retl.retl_mark WHERE @1=249 /* LONGINT meta=0 nullable=0 is_null=0 / @2=11 / INT meta=0 nullable=1 is_null=0 / @3=NULL / INT meta=384 nullable=1 is_null=1 / SET @1=249 / LONGINT meta=0 nullable=0 is_null=0 / @2=0 / INT meta=0 nullable=1 is_null=0 / @3=NULL / INT meta=384 nullable=1 is_null=1 */ at 305919423 161209 14:21:54 server id 3308 end_log_pos 305919454 CRC32 0xd02a4bf7 Xid = 4651024813 按照双向回环控制逻辑的理解,大于300是在事务头和尾中插入otter同步标识,在binlog中两条update retl_mark中间会嵌入业务表操作语句,但目前发现的是有很多<300的update retl_mark,如果是用于内部系统的话,为何会多出这么多?求解。
原提问者GitHub用户 EternalSpring
otter同步目标是走了batch,每批数据前后都会有retl_mark表的变更操作,变更操作的量取决于原始数据量,最多2倍的sql量
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。