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

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

什么是 SQL 审核?

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

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

  • 数据量和并发量急剧上升
  • 上线周期更短,测试时间被压缩
  • 大部分应用代码中SQL等未经审核即上线
  • 现有 SQL 审核方式低效、低质、流于形式
  • 开发人员质量参差不齐,SQL 水平有限,常写出杀手 SQL

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

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

我们的方案

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

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

Z3 是什么?

  • 网页版 SQL 审核工具
  • 基于预定义规则
  • 收集并分析测试库,开发库,生产库信息
  • 多用户多角色的 B/S 架构

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%。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2016-05-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WeTest质量开放平台团队的专栏

【干货预警】kafka+sparkstreaming搭建流计算引擎

周期性拉取增量时间段内,各词在各渠道内的索引数据,然后进行分时频次统计,复杂度:如果词库大小增长到10w,渠道数达到5000,那么就需要5亿次/轮的索引查询开销...

19830
来自专栏CSDN技术头条

大数据架构的未来

作者:Matt Kalan 原文:The Future of Big Data Architecture 译者:孙薇 本文讲述了大数据的相关问题,以及“大数据架...

23770
来自专栏织云平台团队的专栏

运维如何为公司节省一个亿:精细化容量管理的设备成本优化之路

SNG 社交网络运营部管理着近10万台的 Linux 服务器,以此支撑着腾讯社交业务海量业务与用户,如日活2.47亿的 QQ 、月活5.96亿的 QQ 空间(数...

2.3K10
来自专栏数据和云

PingCAP创始人刘奇:TiDB设计理念进化与大规模实践

到现在为止TiDB已经开源有三年零两个月,我是TiDB CEO,打杂比较多,偶尔写写代码。

11730
来自专栏Java学习网

处境艰难的 App 开发者们如何自救

处境艰难的 App 开发者们如何自救 「因为这个行业太饱和了,障碍太多而且难以从中盈利。相比之下研发网页就容易的多。」 这是我朋友的公司不再研发原生 App 的...

25470
来自专栏杨建荣的学习笔记

调需式优化的简单实践 (r10笔记第1天)

作为DBA总是会有现场的救火工作,而如果尽可能早一些介入需求,设计,开发阶段,可能就会杜绝很多潜在的性能问题。很多问题都是如此,都是逐步积累,最终在某一...

34740
来自专栏包子铺里聊IT

Facebook 的技术故事

如同每一个大型IT公司,Facebook 的技术架构演化史也是极为丰富。和 Google 一切 Infrastructure 从零研发的策略不同,最初的 Fac...

29160
来自专栏BIT泽清

从3.1.1被拒,到延审,到两次2.1大礼包,到审核人员过审解决办法分享

我们APP从2016年7月开始第一版,到2017年10月,正常更新20多版,中间少有拒绝,偶尔的拒绝,只要根据拒绝信息里修改也会很快通过。

1.5K70
来自专栏牛客网

三七互娱提前批运维面经

10130
来自专栏Grace development

电商系统设计之购物车

上一篇文章在对于购物车业务及数据表设计中,有位童鞋在评论区与我讨论许久,特此独立一篇文章来详解下我的想法及我为什么这么做,以下为在业务层面、逻辑层面、未来功能的...

50120

扫码关注云+社区

领取腾讯云代金券