作者介绍
徐春阳,曾供职国内一线互联网公司,2015年3月进入民生银行信息科技部运维部门数据库团队工作之后,从零开始建设开源数据库MySQL相关的工作。同时,从项目初期开始,就全面负责民生银行分布式核心系统所使用的开源数据库MySQL相关的工作,及时并成功地解决该项目在研发、测试、以及上线过程中遇到的与数据库相关的各种疑难问题。
在MySQL 8.0还没有GA之前,在一次跟mysql研发宋利兵老师交流的时候, 宋老师就提过MySQL8.0支持行级别的并行复制。因为MySQL采用基于binlog的复制,在主库写操作压力大的时候,从库延迟难以避免,即使在5.7版本上, 实现事务组级别的并行复制,这个问题依然存在(只是在一定程度上减轻),所以当宋利兵老师提到这点的时候, 作者当时就比较兴奋。但那时MySQL8.0才发布,也预计MySQL8.0离GA的时间应该还会很长,所以当时没有去对这个功能点做深入了解。当MySQL8.0在4月19日突然跳过(8.0.5-8.0.10),直接发布8.0.11并宣布GA之后,在没有阅读官方发布的关于mysql8.0新特性文档的前提下,就跟同事/朋友说出这个功能的增强,但立即收到质疑---“新特性文档中并没有提到这个新特性” 。
???,然后, 作者默默地把官网上发布的mysql 8.0文档中有关新特性的部分读了遍,确实没有发现关于并行复制增强----行级别并行复制的内容。
直到最近才抽出时间来,准备着手详细了解这方面的内容。想到既然是新特性,应该在数据库参数上有所发现。然后仔细去捋数据库参数,发现有下面的参数可能跟增强型并行复制有关系。
关键信息:
: Dependency information is generated from the master's write set, and any transactions which write different tuples can be parallelized.
: Dependency information is generated from the master's write set, but no two updates from the same session can be reordered.
的区别就是,WRITESET_SESSION 需要保证同一个会话内的事务的先后顺序。
领取专属 10元无门槛券
私享最新 技术干货