当前位置: 首页 >> 技术文章 >> SQL 审核提升效能:让SQL审核成为系统保健师
SQL 审核提升效能:让SQL审核成为系统保健师
发布时间:2019-08-07 发布人:比特网 1766


11月17日—18日,一年一度的数据技术嘉年华在北京盛大举办。作为 ACOUG专注于Oracle数据库最佳应用的技术活动,嘉年华成为众多技术爱好者的狂欢盛会。今年嘉年华已经举办到第七届,银行、保险、证券、互联网金融、运营商、能源和12家数据技术原生厂家齐聚,话题涵盖RMDB、NOSQL、NewSQL、MPP、容器、OpenStack技术栈的架构设计,应用实践,运维实践,产品内核等各个层面,共同打造了一场云时代新技术革命的交流舞会。

QQ图片20171215150046.png

在本届技术嘉年华上,记者采访到云和恩墨应用性能管控产品经理张中靖先生,其先后在中国平安、阿里巴巴(B2B)等大型企业工作,拥有丰富的数据库设计、性能调优、性能分析工具研发方面的经验,目前负责云和恩墨 SQL 质量审核平台SQM的设计研发,他向记者分享了DevOps理念下面向应用开发的SQL审核的重要性及未来发展趋势。

QQ图片20171215153719.png

  云和恩墨应用性能管控产品经理张中靖

SQL 审核:DBA正从医生变成保健师

张中靖首先强调了SQL审核的重要性,他认为这是传统优化思路的一次巨大提升和转变,“在传统运维下,DBA只关注数据库背后的东西,仅仅去进行数据库补丁维护,但DBA更需要关注的是应用带来的性能问题,只处于后端是无法解决这一问题的,这就驱动着DBA朝前端走,进入到开发测试的阶段,通过SQL审核等方式对应用提前进行把控以保证后端的性能稳定。”

这种变革发生在DevOps的大背景下,DevOps是IT行业当下非常重要的一种方法论,它要求开发、运维及QA等部门间沟通协作,打破软件开发项目中开发者和运维人员之间的围墙,以提高业务交付的速度、质量及稳定性。

SQL审核很好地践行了DevOps理念,它将 SQL 质量审核和优化这项任务,从 DB 端提取到研发端,通过擅长 SQL 的开发 DBA 和开发团队一起修正系统的 SQL,找出问题、修复问题,以提升系统的健壮性和稳定性,从而保证整个系统的运维建设质量。

张中靖做了一个生动的比喻,“我们过去的优化是生病后去治病做手术,现在我们提前去解决问题,将问题消灭在萌生阶段,提前预防以保证系统不生病,DBA其实扮演的是保健师的角色。”

着眼四大场景,SQM解决SQL审核问题

SQL 审核的重要性已得到行业内的一致认可,但要实际落地还需要建立标准化开发环境和自动化交付流程。云和恩墨发布的一款基于Oracle数据库的SQL审核产品工具 - SQM,从应用程序上审核SQL代码,从而精准定位问题SQL,解决SQL 审核效率低、定位源头困难等问题,实现应用产品交付一体化、流程化和自动化。张中靖介绍了SQM主要针对的四大业务场景,讲诉了其在SQL审核全生命周期是如何发挥作用的。

第一个场景是发布前的基础检查阶段,由开发主动提交代码进行审核,将低质的、设计不合理的SQL写法排查解决掉,防止问题流入到生产;第二个场景是测试阶段,SQM将自动分析SQL问题,通过测试报告的形式反馈给开发进行问题整改,在其中起到类似“摄像头”的监督作用;在开发运维和测试运维形成联动的基础上,SQM又进一步拓展了开发场景,在开发人员写代码的时候工具自动开启检查功能,让其在开发过程中能及时快速地修复,以提升开发效率;第四个场景是变更检查,SQM对数据库结构的变更进行分析,评估变更可能产生的影响和问题,提前解决隐患进行问题规避。

SQM工具的运行,实现了自动化部署,同时为开发者提供了更可靠的生产环境,能够大大改善软件及项目交付的速度和质量,将敏捷扩展至生产端,达到系统性能的显著提升。

“SQL审核最早源于互联网行业,它要求开发运维配合起来以保证性能,目前在金融、证券、保险等行业也建立起这种意识,并主动建立配套的流程和规范。”谈到未来SQL审核的应用,张中靖认为这必然是大势所趋,“我觉得这种理念将快速普及,因为对开发来说它的门槛最低,接入成本也最小,我们的工具相当于其中的一种基础服务,在开发过程中引进这种基础服务,将无缝连接代码迭代的整个流程。”