数据库自动化运维平台--自助DML

本文介绍了为减轻DBA工作负担而开发的自助DML平台,允许开发人员自助执行数据库的增删改查操作。该平台采用Python Flask框架,结合bootstrap、html等技术,并使用MySQL作为后端存储,集成celery和rabbitmq进行任务调度。通过权限控制和SQL语法检查确保操作安全,提供任务提交、审核、执行及查看结果等功能,显著提高了工作效率和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其实很多公司的DBA都是苦逼的,差不多一个DBA要对应几十个甚至上百个开发。半夜爬起来处理故障,上百G的数据动不动搞个迁移,升级等 这些都是很常见的,怪不得很多DBA自嘲”我是搬砖的”。为了使DBA的工作轻松,有效率很多年前各大公司就开始自动化运维平台建设,在这方面我们属于比较晚的了。

今天介绍下最近开发的一个平台,自助DML。什么是DML,就是平常执行的增删改查数据库操作。有人有疑问这不是程序访问的操作,为什么还要做一个平台操作这些呢,其实这种操作主要是开发需要线下修复数据的一种操作,不只是增删改,还有建表,建索引,添加字段等,这些操作开发一般会提给DBA协助操作数据库。可能你会觉得这些活能有多少,其实这种活真不少,我上家公司是电商互联网公司,大概有七八百个实例,每天的这种操作有近百个。处理近百个这种需求,基本上一个人一天就不用干别的了。虽说现在的公司实例少点,但每天的工作量还是很大,关键这种工比较重复,枯燥,没有技术含量,所以迫切需要一个自助的服务平台开放出去来提高工作效率,解放DBA。


接下来先上流程图:


所涉及的技术点,如下:
(1)开发语言: Python
(2)框架: Flask
(3)bootstrap,html,js,css,jQuery
(4)后端存储MySQL
(5)celery rabbitmq


平台部分截图:

1) 提交任务需要满足两个条件:(1) 元数据平台(请参考之前的元数据平台博客)集群归属部门信息不能为空    (2)提交任务的人所在部门要跟集群归属部门一致




2) 根据流程检查权限后,就会对提交的sql进行基本语法检查。为了控制对线上的影响,操作的数据量影响超过10000(可以设置)行不能提交任务。这里提交有两个按钮,其中定时是用celery实现的。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值