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 条评论
登录 后参与评论

相关文章

来自专栏机器学习原理

图数据库neo4j介绍(1)——基础

基于数学里的图论的思想和算法而实现的高效处理复杂关系网络的新型数据库系统。 在社交网络、实时推荐、人工智能领域应用广泛。

801
来自专栏非著名程序员

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

这是我朋友的公司不再研发原生 App 的原因——在网页端创业简单的多。怎么会这样呢?基于浏览器的网页端生态系统已经存在了 20 多年,而 App 系统却仅存世 ...

2167
来自专栏包子铺里聊IT

Facebook 的技术故事

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

2836
来自专栏BIT泽清

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

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

1.1K7
来自专栏北京马哥教育

SQL/NoSQL两大阵营激辩:谁更适合大数据

企业在着手推动大数据项目的过程中,经常会遇到这样一个关键性的决策难题——到底该使用哪种数据库方案?经过综合考量,最终的选项往往只剩下 SQL 与 NoSQL 两...

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

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

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

1003
来自专栏数据和云

为什么用尽了办法你的系统性能还是不见改善

随着业务数据的增长,以及新业务的推出,很多企业都面临着系统性能的问题,并且日益凸显。我们曾遇到很多这样的用户,似乎用尽了所有招数,但性能就是不见改善,问题到底出...

3709
来自专栏Java学习网

我是如何准备技术面试的

我是如何准备技术面试的 前拿到的知名公司的offer是腾讯和新美大(大众点评、美团)。一直想写一篇面经分享给大家,但因为一些琐碎的事情,就一直耽误着。 今天就...

3267
来自专栏数据和云

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

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

843
来自专栏数据和云

2016数据库大会访谈:杨廷琨谈环境变化优秀DBA会抬头看路

随着科技飞速发展,软硬件技术更新换代,数据库领域也在不断发生着变化,传统数据库与新技术的结合、数据库的云化等等。改变是为了更好的生存发展,数据库...

2734

扫码关注云+社区