敏捷开发与精益运营,z3 SQL审核成就稳健
随着互联网浪潮在整个金融行业如火如荼地蔓延发展,无论是银行业、证券业还是保险业都不同程度感受到了来自互联网金融对传统金融业务的冲击,也都纷纷根据行业特点制定了各自的互联网金融发展战略。保险行业的互联网金融业务虽起步较晚,但是互联网保险的经营模式正在快速发展并逐渐渗透到保险产业链的各个环节。
互联网保险业务的快速发展
互联网保险业务飞速发展的同时,其运营模式也逐渐向着多样化发展。各保险公司借助公司网站、网上商城、离线平台以及第三方电子商务平台等多种形式开展互联网保险业务。未来随着互联网和保险业继续融合深化,以平台建设、渠道拓展、客户资源以及大数据精准营销为主要着力点的互联网保险将迎来高速发展的时代。
某保险公司作为中国保险行业的后起之秀,在初创的五年间实现了跨越式发展,赢得了良好的经营业绩和社会口碑,曾荣获第六届亚洲品牌盛典“中国品牌成长冠军”奖、和讯网“年度最受信赖财险公司”奖,第六届中国保险创新大奖“2011年度最具影响力保险品牌”等。此次在互联网的大潮中,也积极推动自己的互联网保险业务。
互联网技术的广泛运用,使保险产品的营销渠道延伸到线上平台。该保险公司新推出了积分商城,零花钱,车小秘等理财型新业务,由于理财型保险产品的投资收益率高于保障型保险,因而具备较强的市场竞争力,使该保险公司的保费规模得到较快提升。
SQL审核的必要性
然而,纵观各个企业,面临业务的压力,系统上线周期变短,测试时间被压缩,很多应用代码中的SQL未经审核就直接上线了,或者审核方式低效,低质,流于形式,这导致了很多系统上线后,面临各类性能问题,不仅给运维带来很多压力,也在一定程度上影响了用户体验。
为了保持市场竞争力,保障应用系统发布、更新后的稳定性,并且不会引起已在线系统性能的大幅波动,企业领导意识到,只有从源头上控制住应用系统的质量,才能避免上线后因低质量代码导致应用系统性能问题甚至是性能故障,保障业务的稳健。
云和恩墨作为数据服务行业的领军企业,在SQL优化方面有丰富的经验,为了将这些经验更好更高效地服务于各个企业,云和恩墨自主研发了z3 SQL审核产品,将 SQL 质量审核和优化这项任务,从 DB 端提取到研发端,通过擅长 SQL 的开发 DBA 和开发团队一起修正系统的 SQL,找出问题、修复问题,提升系统的健壮性和稳定性,从而保证整个系统的运维建设质量。目前该审核软件已经用于多家大型企业,为企业的系统做好上线前的质量把关。
该保险公司IT负责人在与云和恩墨专家进行了深入的沟通,全面了解了z3产品的功能及工作方式,考虑到当前系统面临的性能问题,最终决定,本次审核的系统不只是针对新系统,对于以前的一些核心系统,也要做全面的审核和优化。因此最终的审核系统包括理赔、电销等核心业务系统,客服、人身险等老系统,以及计划上线的新型理财系统包括积分商城、零花钱、车小秘等。
SQL审核,让DBA成为系统的保健医生
针对每个业务系统的特点和面临的问题,云和恩墨专家制定了不同的审核方案。从表结构变更审核、动态SQL审核、静态SQL审核等几个方面,通过对在线和待上线的SQL进行全方位自动化的审核,实现有效控制应用质量的目标。
SQL审核过程如下:
对于应用的SQL,能够结合应用详情从多个维度进行全面分析。可以选择要审核的方面,比如索引全扫,绑定变量等;审核的对象可以包括表,索引,应用服务器等。
审核输出的内容则结合SQL文本,执行计划及应用给出。
通过z3能够找出问题SQL清单,按照设置的阀值发出预警,并对问题自动分析生成报告,这三类输出能够满足不同人员对系统的了解需求。一般来说,DBA会更关注问题SQL清单和预警,开发人员更关注问题问题SQL清单和报告,而项目经理则会偏向于关注预警和报告,这样就能使得每个人从自己能理解的维度去看待系统的问题。
如果审核结果需要对表结构做变更,可以将变更内容发布到多个开发、测试库,变更过程必须严格遵守响应的规则才能完成。
SQL审核,让DBA由系统的急救医生转身成为系统的保健医生
1、DBA参与应用代码开发测试过程:给开发人员提供专业的数据库开发及优化建议
2、优化前置:在应用代码上线前根据业务需求设计高效的SQL、索引
3、控制变更风险:预先评估应用开发中表结构变更、SQL变更对运行中应用的影响,确定合适的变更窗口,变更方案。
专业技术与优质服务,为系统质量把关
在本次服务中,z3针对该保险公司多套业务系统进行审核分析,发现系统面临的主要的SQL问题包括:未使用绑定变量;查询语句缺失where条件;条件与列类型不一致;全表扫等。
针对这些问题,该保险公司的开发、测试及运维人员进行了深入的探讨和分析,结合业务数据的特点,对每一个系统制定了详细的整改计划和方案。
对于具体的SQL,在云和恩墨专家的协助下,保险公司的应用开发人员做了以下调整:
1、对于过多表连接问题,查证该条SQL锁涉及的表是否有必要;
2、对于执行计划发生变化的SQL进行查看是变差或是变优,变差应及时查看导致的原因。
3、对笛卡尔积问题需要查看具体的SQL进行分析,导致笛卡尔积的原因是什么,是否合理。如果是由于疏漏未添加连接条件导致,应及时改写SQL,加上连接条件消除笛卡尔积。
4、对于索引跳扫问题可以通过建立更合适的索引解决该类问题。
经过第一个季度的问题分析与处理,大部分的SQL问题已经得到修改。
修改之后,原有的业务系统性能得到了大幅提升,能够以更良好的状态提供服务。而新系统也做好了上线的准备。
DevOps在数据库领域的最佳实践
SQL审核是DevOps在数据库领域的最佳实践。对于未上线系统,通过前期的SQL审核管控,将80%的SQL问题消灭在萌生阶段,对于线上运行系统,发现和解决潜在的性能问题,可做到提前预防,防患于未然。
云和恩墨提供的SQL审核服务总共包含以下方面:
SQL审核自动化工具部署:部署自动化工具、监控、跟踪数据库SQL性能
SQL开发标准制定:参与SQL代码开发规范得到制定,为开发人员提供科学可靠的SQL开发方法
SQL核心对象审核:通过对业务的了解,针对SQL访问的表和索引提供对应的设计、改进建议,确保需要访问的表和索引能够与开发人员的SQL代码及业务需求相配合,通过最佳执行计划提升SQL性能
SQL代码审核:通过开发代码与性能测试环节进行SQL捕获并审核,给出相应的SQL优化分析和改写建议,并反馈指导开发环节。
SQL审核评分:在SQL审核与核心对象审核完成后,将审核结果导入SQL审核评分系统,对无索引、笛卡尔积、没有使用绑定变量、查询条件与列类型不匹配等各类低效的SQL问题,计算出系统SQL应用的健康分值。
Wikipedia 对于DevOps是这样定义的,DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
DevOps不是一种技术,一个产品或者方法,而是近乎一种文化,目前,各个领域的DevOps的落地都尚在尝试阶段。而今天,在数据库领域,云和恩墨通过z3 SQL审核这样一款产品,完美地实现了DevOps在数据库领域的落地。
云和恩墨的z3 SQL 审核软件已经在江苏移动,国家电网、江苏电信等十数个大型企业进行过尝试,并收到很好的效果,得到广大用户的一致认可。
SQL审核,让DBA走向开发前端,运维不再被动救火!
zData一体机 - 分布式存储解决方案数据架构Oracle SQL DB2 MySQL NoSQL专项服务:架构 / 安全 / 高可用 / 容灾 / 优化 / SQL 质量管控运维服务:运维服务 | 代维服务人才培养:个人认证 | 企业内训软件产品:SQL审核 - Z3 | 监控 - Zone | 数据恢复 - ODU|智能巡检 - Bethune应用架构
应用软件开发:数据建模 | SQL审核和优化 | 中间件服务
业务架构
电子渠道(网络销售)分析系统 | 数据治理
恩墨学院