See自动化SQL审核 SQL优化管理平台

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了See自动化SQL审核 SQL优化管理平台相关的知识,希望对你有一定的参考价值。

缘起于上家公司DBA同学的执着意愿,在他们的感染和帮助下开发了这套mysql上线平台。

平台的核心功能是SQL操作,SQL语句优化。可以做到这些点,得益于开源力量的强大,在此感谢开源项目Inception及SQLAdvisor团队!

1 开源项目简介
Inception:一个集审核、执行、备份及生成回滚语句于一身的MySQL自动化运维工具。

SQLAdvisor:基于MySQL原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系 给出索引优化建议。
关于inception的意义,inception作者的一段话讲的很棒:

DBA从此就从繁重的审核、登上去执行,出错了很难回滚(如果提前没有备份的话)的被动局面解放了出来,突然发现,做DBA原来可以这么轻松,工作可以不饱和了,那就有更多的自由时间学习、进一步向自动化运维平台的实现等更智能化的方向去发展,是具有里程碑意义的。

2 See项目介绍

开发环境
后端:
Python 3.6
Django 2.0

前端:
Vue.js 2.9
iview-admin 1.3

以一张简图开始,图片中django web即是See项目,它接收用户处理SQL的请求,交给inception或者sqladvisor后请求到数据库,得到数据库的结果做进一步的处理。

技术分享图片

这个是权限逻辑部分,开发、经理,DBA会略有不同, 都是傻瓜式的操作,点点点即可完成。inception审核过的工单,经理确认即为审批,审批后DBA可以在生产上执行。另外还提供了一个测试环境,此环境无需审批流程,发起工单的人即可执行,用于在上线前可以先在测试环境跑一遍sql,之后再生产环境操作。逻辑图如下:

技术分享图片

See平台功能
1, SQL审核,选择目标数据库,点击提交即可,语法正确或错误的SQL都会返回相应的信息,成功后生成一个SQL工单
技术分享图片
2, 工单处理页,审批人可以审批SQL工单,执行人可以对审批过的SQL工单做执行操作
技术分享图片
3, SQL工单详情页
技术分享图片

4, 权限规则,不同角色的人员拥有不同的权限
技术分享图片
5, 流程设置,可以开启或关闭流程
技术分享图片
6, 设置目标数据库(需要进行操作的数据库)
技术分享图片
7, 用户管理页,用户信息特别是身份在此设置
技术分享图片
8, 组管理
技术分享图片
9, 表结构,SQL语句查询
技术分享图片
10, 数据报表展示
技术分享图片

后续功能规划
一. 日志功能,用ELK收集mysql慢日志,接入ELK做日志数据分析展示功能 。
二. 监控功能,接入监控系统数据,做监控状态的页面端展示,报警仍由监控系统去做。
三. ...

开源
See项目已开源啦,地址:
https://github.com/myide/see

欢迎start或提供支持。

以上是关于See自动化SQL审核 SQL优化管理平台的主要内容,如果未能解决你的问题,请参考以下文章

SQL 审核查询平台

SQL 上线平台

SQL 上线平台(内含全部完整资料)

明晚九点|SQL 上线平台

SQL自动审核

SQL审核平台 Archery 之使用进阶二