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

相关文章

来自专栏SDNLAB

WLAN产品形态之分层架构

随着移动互联网时代的来临,无线数据流量呈现爆发式增长,各大运营商也越来越多依靠WLAN来承载这些无线数据流量,大规模进行WLAN网络建设,分担3G网络的压力,让...

3745

云监控入门

云监控是一个对基于云的服务、应用程序与基础架构进行评估、监控与管理的工作。公司利用各种应用程序监控工具来监视基于云的应用程序。下面我们来看看它是如何工作的,以及...

1977
来自专栏企鹅号快讯

分布式架构的套路No.74

今天小蕉跟大伙一起聊聊分布式系统的架构的套路。在开始说套路之前,大家先思考一个问题,为什么要进行分布式架构? 大多数的开发者大多数的系统可能从来没接触过分布式系...

3579
来自专栏Linyb极客之路

聊聊微服务架构及分布式解决方案

事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性:

683
来自专栏云计算D1net

云服务存在局限性,你如何找到最合适的解决方案

云计算不仅仅代表着近乎无限的资源,我们也需要了解其中可能存在的种种性能问题。 以Amazon AWS与微软Azure为代表的公有云服务属于基于控制台的编排方案,...

3013
来自专栏极客猴

数据库种类那么多,该如何选择?

技术真的是日新月异,Web 网站已经脱离之前的静态网站的体系,转而使用动态语言搭建的动态网站。这也衍生出一个问题:该如何存储数据了?数据库就应运而生,它的作用是...

841
来自专栏华章科技

详述从IaaS到PaaS的三种实现方法

随着云计算平台的优势变得越来越清晰,从IaaS到PaaS似乎是一项比较轻松的工作了。但是,方法各有不同,而找到实施PaaS最好的方法就意味着在三个可能的选项中进...

714
来自专栏大数据和云计算技术

多租户技术

多租户技术(Multi-TenancyTechnology)又称多重租赁技术,用于实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔...

7846
来自专栏云计算D1net

三种方式实现从IaaS到PaaS

随着云计算平台的优势变得越来越清晰,从IaaS到PaaS似乎是一项比较轻松的工作了。但是,方法各有不同,而找到实施PaaS最好的方法就意味着在三个可能的选项中进...

4547
来自专栏一名叫大蕉的程序员

分布式架构的套路No.74

今天小蕉跟大伙一起聊聊分布式系统的架构的套路。在开始说套路之前,大家先思考一个问题,为什么要进行分布式架构? 大多数的开发者大多数的系统可能从来没接触过分布式...

1877

扫码关注云+社区