在谈到国产分布式数据库的应用过程中,大家都比较关心应用系统改造、软硬件、运维等方面的成本投入,接下来从这几个方面来聊聊我们是怎么做的。
关于应用改造迁移,如果仅仅为了迁移到国产数据库而去改造应用系统的确是要不少的工作量和成本,但是如果是业务系统重建或新建时来同步来使用国产数据库呢?是不是就简单多了?我们在推广国产数据库的过程中均是在业务系统新建或重建时同步去应用国产数据库,同时要求开发在系统建设过程中不允许使用存储过程,所有的业务逻辑均通过应用程序来实现,形成统一的数据库使用规范,解耦应用和底层数据库技术架构,这样将来即使需要再次迁移至其它国产数据库也能够花费最小的代价。
关于运维部分,有一种观点是使用分布式数据库后会导致服务器数量增多,运维成本增加很多,但就如前面所说近10年来银行数据中心早就经历了服务器数量快速增长的过程,在这个过程中我们的运维团队已经建立了自动化运维体系,具备了自动化运维和运维开发的能力,当团队具备这个能力的时候,运维100台服务器和运维200台服务器的运维成本已经没多大区别了。由于我们的自动化运维体系基于开源软件自主建设,具备了自主开发能力,因此能够很方便的将国产数据库的运维融入到我们的体系中去。
在监控方面,我们的系统监控平台是采用开源的Zabbix自主建设的,国外成熟数据库zabbix官方均带有现成的模板开箱即用,国产数据库就要我们自己开发模板了,针对GoldenDB的管理节点、计算节点、存储节点、GTM的各个组件我们和厂商一起开发了7个模板共计一百多项监控指标,实现了GoldenDB接入我行的监控平台。
在自动化运维方面,我们基于开源的蓝鲸PaaS平台自主建设了运维PaaS平台,平台上有蓝鲸自带的作业平台、标准运维、故障自愈等自动化运维SaaS,我们也针对我们的实际需求在蓝鲸PaaS平台上开发了许多其它的运维SaaS,比如云管平台、数据库统一管理平台、集中事件台、统一用户、灾备切换等等,并和我们原有的ITSM等系统进行了集成。实现了一系列运维场景的自动化。
三是开发了数据库统一管理平台,统一管理各类数据库,数据库的相关信息来自CMDB,并参考了去哪儿DBA团队的这篇《MySQL慢查询风险指数模型设计》文章,在该平台开发了慢查询风险指数自动评分功能,从日、周、月三个周期,执行时间、执行次数、锁等待时间、扫描行数、业务等级五个维度自动给全行慢SQL评分排序,每天、每周、每月给应用系统负责人邮件发送TOP10的慢SQL。各应用负责人对SQL进行分析后在该平台填写分析结果,DBA对分析结果进行审核,审核后的慢SQL不再发送,形成SQL优化的闭环。




