【云和恩墨业务介绍】之 SQL 审核服务
我们都知道,在 DBA 所优化的数据库环境中,绝大多数性能问题其实是由于 SQL 编写不当导致的,一个开发环境中,众多的程序员难免引入一个又一个的或初级或高端的 SQL 隐患,如何去规避这些问题,减少系统上线后的运行故障呢?
将 SQL 质量审核和优化这项任务,从 DB 端提取到研发端,通过擅长 SQL 的开发 DBA 和开发团队一起修正系统的 SQL,找出问题、修复问题,提升系统的健壮性和稳定性,从而保证整个系统的运维建设质量,这就是 SQL 审核。
是否面临新上线软件性能问题?
数据量和并发量急剧上升
上线周期更短,测试时间被压缩
大部分应用代码中SQL等未经审核即上线
现有 SQL 审核方式低效、低质、流于形式
开发人员质量参差不齐,SQL 水平有限,常写出杀手 SQL
江苏移动信息技术中心资深 DaPRlT 专家戴建东这样描述:
“其实在生产中,绝大多数 Oracle 的业务系统出现问题都是 SQL 导致的。但是大多 DBA,尤其是偏运维的 DBA 对 SQL 并不擅长,这些 DBA 承担着数据库运维和维护稳定性的职责,而他们对这些问题可能又无能为力。原本 SQL 的质量应该是开发层负责的问题,但目前的现状是,开发人员管不了,运维很多人员不擅长。所以当系统出现问题的时候,就需要专业人员“救火”,而事发或事后救火往往是业务已经遭受了损失。”
不断进步的开发团队;自动高效的SQL审核工具;把关以及线上系统SQL代码的持续改进。
云和恩墨倡导独特的 SQL 审核理念,通过开发阶段的 SQL 检测、审核、优化来改善 SQL 质量,确保上线的稳定健康,减少系统运行故障。也正是基于这样的理念,云和恩墨开发了 SQL 审核产品 - z3 ,通过这款软件工具,可以自动进行问题 SQL 的捕获,初步分析,高亮显示,并支持工单流转,以实现企业开发中的 SQL 管控。
网页版 SQL 审核工具
基于预定义规则
收集并分析测试库,开发库,生产库信息
多用户多角色的 B/S 架构
无需人工值守
程序快速过滤
集合业内多维数据库优化大师的优化经验
集合众多服务客户的系统使用经验
涵盖表、索引、SQL 等多个方面
规则集不断丰富
将不同的缺陷给于不同评分
根据不同缺陷的影响程度给予不同的评分
用户可自定义自己的评分规则,更贴合系统的实际情况
综合评分:整个系统综合得分;单个数据用户得分;可追溯并对比历史分数
评估开发质量:横向对比不同项目;纵向对比项目的开发阶段
根据国网某系统的开发流程和现状,定制了3人的SQL审核团队。SQL审计人员参与应用开发过程,在代码上线前,进行SQL代码的审核把控。累计审核 SQL上万条,发现存在隐患和性能较差 SQL 1200多条,通过审计、优化和改进,数据库稳定性和性能得到极大提升。
对其生产库进行了两次 SQL 审核。客户根据第一次审核建议调整索引、SQL 代码,数据库逻辑读降低 50%。根据第二次审核建议,应用修改代码,使用绑定变量,SQL数量减少80%。
【资源下载】
搜索盖国强(Eygle)微信号:eeygle,或者扫描下面二维码,备注:云和恩墨大讲堂,即可入群。每周与千人共享免费技术分享,与讲师在线讨论。
恩墨学院
点击阅读原文下载SQL审核相关资源