内容简介:【编者的话】SQL审核与执行,作为DBA日常工作中相当重要的一环,一直以来我们都是通过人工的方式来处理,效率低且质量没办法保证。为了规范操作,提高效率,我们决定引入目前市面上非常流行的SQL自动审核工具Inception。花了一周看了Inception官方文档并搭建了测试环境简单测试,又花了3天写了webui(内部起名叫overmind,以下也简称overmind),目前正在进行各种测试以及手册的编写,还未正式跟我们的流程结合起来投入使用,后续正式使用后再更新使用经验。Inception是一个开源的MyS
【编者的话】SQL审核与执行,作为DBA日常工作中相当重要的一环,一直以来我们都是通过人工的方式来处理,效率低且质量没办法保证。为了规范操作,提高效率,我们决定引入目前市面上非常流行的 SQL 自动审核工具Inception。
花了一周看了Inception官方文档并搭建了测试环境简单测试,又花了3天写了webui(内部起名叫overmind,以下也简称overmind),目前正在进行各种测试以及手册的编写,还未正式跟我们的流程结合起来投入使用,后续正式使用后再更新使用经验。
Inception
Inception是一个开源的 MySQL 自动化工具,具有SQL审核、执行、回滚等实用的功能,由国内大神基于MySQL源码开发,可以很明确的,详细的,准确的审核MySQL的SQL语句,工作模式与MySQL完全相同,可以直接使用MySQL客户端来连接。但遗憾的是2年前已停止更新,不过兼容大部分的MySQL版本,仍然是开源SQL审核 工具 的翘楚。
Inception的架构如下:
Overmind
审核流程
我们的审核流程现在主要分两部分:
- Dev和QA等线下测试环境:为了简化流程,开发测试环境,可以由开发直接通过overmind系统进行审核或执行
- Prod生产环境:生产环境以安全为主,在Dev和QA环境执行成功后详情页面会有个“申请上线”按钮,点击申请上线自动发送邮件给DBA,待DBA审核通过后方可上线
系统介绍
基本配置页面:可以直接在页面上配置Inception的信息,方便迁移。
基本配置页
数据库信息录入:相当于一个简单数据库的CMDB系统,可以管理数据库信息。
数据库信息录入
审核任务提交:支持审核和执行两种模式,审核模式只给审核结果,执行模式在执行之前会先审核。
审核任务提交
审核结果展示:详细展示SQL审核的所有信息,包括提交用户、执行操作、审核结果等等。
审核结果展示
任务列表页面:可以很方便只查看自己提交的任务,或者查看固定项目的,固定环境的任务
任务列表页
关于开源
开源在我看来是一件很隆重的事情,之前刚学 Python 的时候开源了自己写的一个简单后台sadmin(GitHub或Gitee可以搜索到),因为一些原因停止更新了。目前没有时间和精力来做长久的支持和维护,所以暂时不打算把源代码放到GitHub上。另外同类型的已经有一个非常棒的开源产品Yearning了,可以GitHub搜索安装学习。
写在最后
- 先说感谢!感谢大神开发的Inception,绝对是DBA界的福音。
- 之所以能就花了3天时间写了Overmind,主要还是借助了之前已写好的其他项目框架,在此基础上做修改,还是很快的。
- 工具部署与页面编写都是比较简单的,团队内部都可以搞定,要把工具推出去,融入到现在的流程中是一件比较困难的事情,给团队内定的规则就是:a. 完善的文档,用户在审核前就知晓哪些SQL通不过,在审核失败时知晓如何修改能成功;b. 对用户的感知应降到最低,不要因为用了Overmind而造成额外的麻烦,要让用户用的爽。
- 希望作者或其他大神能持续更新Inception,继续造福广大DBA。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Out of their Minds
Dennis Shasha、Cathy Lazere / Springer / 1998-07-02 / USD 16.00
This best-selling book is now available in an inexpensive softcover format. Imagine living during the Renaissance and being able to interview that eras greatest scientists about their inspirations, di......一起来看看 《Out of their Minds》 这本书的介绍吧!