导读
作者:吴炳锡,知数堂联合创始人,3306π社区创立者
在金融行业使用MySQL,可以说也比较早,例如腾讯的财付通从开始到现在都是基于MySQL构建的,但对于传统银行企业使用MySQL,我也是一直心存好奇。
这次在3306π北京站技术大会,有幸听了招商银行王龙的分享也解决了我几个疑问,特Mark一下:
1、招商银行在走向开源的道路时,为什么选择了MySQL,而不是其它数据库
2、招商银行在使用MySQL时,大概的规模及情况是什么?
3、招商银行是如何管理他们的MySQL?
4、他们成功的心得是什么?
招商银行为什么选择了MySQL?
在这一点上,听作者讲他们内部也做了大量的调研,例如PostgreSQL,TiDB,MySQL等,但最终选择了MySQL,不是说MySQL最优秀,也不是其它DB不优秀,更重要的原因是MySQL可以对他们的业务模型在支撑上更方便一点,同时团队的使用也更加容易上手。具体的原因如下:
1、明确业务模型,不为可能需要的功能买单; MySQL足以支持现有的业务, 而且基准测试性能不弱。
2、本着简单的原则,不选复杂。 更多的人熟悉,更利于团队开发。
3、组建分布式DB,更方便快速扩容。
4、通过主从复制,读写分离等技术,更方便的实现多地多活技术。
5、选择MySQL更利用云服务化和DevOPS开发。
招商银行在MySQL使用上大概的规模
目前招商银行在使用MySQL将近两年, 目前作者讲有单业务集群分片在上百规模。 按这个分片来推算可以说是我听过最大的MySQL分布式系统。 该集群主要用于银行帐单查询相关业务。
招商银行如何管理他们的MySQL
这个直接引入原文中的PPT吧。 真的不能小看招商银行两年时间在MySQL云化平台做的相当出色。
上面可以看出来他们在资源申请上分三个类型,对于资源对齐方面确实做的不错。 想做MySQL平台的同学,仔细看看上面的两个图片。
招商银行在MySQL大规模使用上成功的心得
在这点招商银行总结金融架构13条(请阅读PPT),也很赞。 这里限于篇幅不在逻列。 我更多的关注对方在MySQL上的使用,这里看一个他们的分库分表决策: