<< 返回文章列表

SQL 审核 - z3 产品理念与功能介绍

2017年12月26日
盖国强
1405


image.png

我们都知道,在 DBA 所优化的数据库环境中,绝大多数性能问题其实是由于 SQL 编写不当导致的,一个开发环境中,众多的程序员难免引入一个又一个的或初级或高端的 SQL 隐患,如何去规避这些问题,减少系统上线后的运行故障呢?



什么是 SQL 审核?



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



是否面临新上线软件性能问题?



数据量和并发量急剧上升

上线周期更短,测试时间被压缩

大部分应用代码中SQL等未经审核即上线

现有 SQL 审核方式低效、低质、流于形式

开发人员质量参差不齐,SQL 水平有限,常写出杀手 SQL


江苏移动信息技术中心资深 DBA 专家戴建东这样描述:

“其实在生产中,绝大多数 Oracle 的业务系统出现问题都是 SQL 导致的。但是大多 DBA,尤其是偏运维的 DBA 对 SQL 并不擅长,这些 DBA 承担着数据库运维和维护稳定性的职责,而他们对这些问题可能又无能为力。原本 SQL 的质量应该是开发层负责的问题,但目前的现状是,开发人员管不了,运维很多人员不擅长。所以当系统出现问题的时候,就需要专业人员“救火”,而事发或事后救火往往是业务已经遭受了损失。”



我们的方案



不断进步的开发团队;自动高效的SQL审核工具;把关以及线上系统SQL代码的持续改进。


image.png

云和恩墨倡导独特的 SQL 审核理念,通过开发阶段的 SQL 检测、审核、优化来改善 SQL 质量,确保上线的稳定健康,减少系统运行故障。也正是基于这样的理念,云和恩墨开发了 SQL 审核产品 - z3 ,通过这款软件工具,可以自动进行问题 SQL 的捕获,初步分析,高亮显示,并支持工单流转,以实现企业开发中的 SQL 管控。



Z3 是什么?



网页版 SQL 审核工具

基于预定义规则

收集并分析测试库,开发库,生产库信息

多用户多角色的 B/S 架构


image.png


1自动化收集与分析



无需人工值守

程序快速过滤



2丰富规则分析

集合业内多维数据库优化大师的优化经验

集合众多服务客户的系统使用经验

涵盖表、索引、SQL 等多个方面

规则集不断丰富


3可量化的评分机制

将不同的缺陷给于不同评分

根据不同缺陷的影响程度给予不同的评分

用户可自定义自己的评分规则,更贴合系统的实际情况

综合评分:整个系统综合得分;单个数据用户得分;可追溯并对比历史分数

评估开发质量:横向对比不同项目;纵向对比项目的开发阶段


关于 SQL 审核 我们做了什么





1江苏移动

江苏移动作为移动公司内部勇于进行服务创新的引导者,和云和恩墨在SQL审核方面已经建立了超过一年的合作,在逐步磨合中形成了融合的服务模式。在系统上线过程中,通过SQL审核服务环节帮助其检测代码,尽可能的将低质的、设计不合理的 SQL 写法在开发阶段解决掉,减少在上线后由于性能导致的故障问题。通过SQL审核服务彻底解决了原本在开发商和用户之间存在的种种质量分歧,保障了系统稳定和高性能的运行,实现了全年核心数据库0性能故障的持续运行。




2国家电网

根据国网某系统的开发流程和现状,定制了3人的SQL审核团队。SQL审计人员参与应用开发过程,在代码上线前,进行SQL代码的审核把控。累计审核 SQL上万条,发现存在隐患和性能较差 SQL 1200多条,通过审计、优化和改进,数据库稳定性和性能得到极大提升。


3江苏电信

对其生产库进行了两次 SQL 审核。客户根据第一次审核建议调整索引、SQL 代码,数据库逻辑读降低 50%。根据第二次审核建议,应用修改代码,使用绑定变量,SQL数量减少80%。


【云和恩墨,提供7*24最专业的数据恢复(Oracle,MySQL,SQL server)服务,致力于为您的数据库系统做最后一道安全防护!服务热线:010-59007017-7030】数据恢复|数据库运维|性能优化|安全保障