冯光普
新零售电商Dmall数据库负责人
保障生产MySQL、Redis、MongoDB等集群稳定高效运营,及数据库自动化运维平台建设
分享时间:14:00-14:50
分享议题:《MGR(MySQL Group Replication)深度剖析与实践》
3306π社区:请嘉宾给我们做个自我介绍?
冯光普:大家好,我是冯光普,之前在阿里数据库团队做MySQL内核开发,目前是多点Dmall(新零售电商)数据库负责人,保障MySQL、Redis、MongoDB等集群高效稳定运行,并负责数据库自动化运维平台建设,目前base成都,欢迎来约,一起吃火锅!
3306π社区: 您如何决定上线MGR的,以及在使用MGR过程中印象最深刻的几件事是什么?
冯光普:个人对分布式数据库集群非常感兴趣,其实在研究MGR之前,也深度接触过MariaDB Galera Cluster,多节点写,节点间『准同步』复制,故障快速自动切换,这些特性可以解决很多痛点,非常适合数据一致性及高可用要求都比较严格的业务场景,只是当时Galera的实现对MySQL代码侵入性比较大bug多(目前成熟稳定了),且性能实测也不理想(异步复制的45%左右),因此很长一段时间都没有跟进。直到MySQL官方推出MGR,才开始重新关注,搭集群测试性能并研究实现细节,发现MGR以plugin形式运行,实现层次分明,代码易读性很好,充分利用了MySQL已有的组件,包括基于GTID的数据同步和冲突检测,原生的多线程复制等;到现在5.7.22版本,MGR已经GA了6个版本,稳定性也有了一定保障,因此决定尝试引入线上,以满足某些业务场景,目前MGR在多点处于上线前的测试验证阶段,相关监控指标也在重新定义,要说印象比较深刻,那就是MGR性能真的不错!
3306π社区:对MGR的应用前景,您如何看待?
冯光普:MySQL近几年发展迅猛,从5.6到5.7,再到8.0,性能指数级优化提升,在大内存,高性能SSD下MySQL的性能不再是显著问题,然而其原生异步复制或半同步复制方案,都需要外部的failover组件,这类方案一般比较复杂,故障恢复时间也长,且异步复制还无法保证不丢数据,MGR的出现,很好得解决了这个痛点,而且多节点写 + 分布式一致性天然地提供了数据库异地多活的能力,因此在未来MGR是大势所趋,MySQL将迎来分布式时代。
3306π社区 : 作为技术大拿,给新人们来点学习建议,并且推荐几本书吧?
冯光普:哈哈,过奖了,如果以后想从事运维DBA的工作,我推荐『MySQL Manual』及《MySQL运维内参》,如果想未来从事MySQL内核研发,推荐『MySQL Internals Manual』、《MySQL技术内幕》系列、及阿里印风的博客,如果是业务研发,推荐阅读《高性能MySQL》,其中『MySQL Manual』可以解决日常70%以上问题,建议多翻翻文档。
3306π社区 : 我们知道,您曾在阿里负责MySQL内核开发,为何选择来到成都,能简单分享下选择的心路历程吗?
冯光普:这是一个不错的问题,之前阿里以及现在多点Dmall的同事,都非常靠谱并充满激情,合作共事都很愉快;当初来到成都,主要是为了妹子,后面发现这边火锅不错,城市环境适宜,技术氛围也越来越好,目前从事的工作更多是DBA + 运维平台开发,相对以前磕MySQL内核代码,深度有所降低,但是对于存储业务场景理解更加深刻,视野其实是扩大了,而且有了内核代码的基础,场景分析,存储选型,性能优化,问题分析等更加容易,个人对数据库技术兴趣浓厚,希望3306π社区多来成都组织活动