数据库自助服务演进初步设计

这是学习笔记的第 1849篇文章

今天对接完成了SQL自动化上线的一个功能,其实心里还是有点小激动,终于可以很肯定说,数据库方向开始提供的是数据服务,而不是传统意义的工单了。

对于数据服务这一块,在逐渐完善的过程中,产生了协作工单和自助服务两类,随着数量的增加,对开发同学也产生了一些使用中的疑惑,所以我们做了改版,把原本零散的协作单整合为一个统一的服务入口,这样我们的就是一个体系化的服务了。

当然目前的接入都是快速迭代的过程中,通过这样的方式也能够督促我们快速落地更多的服务,最终把DBA从一些繁琐的事务中摆脱出来,做一些更有价值的事情,比如SQL优化。

对于自助服务的考虑,我把它分为了两个大的部分,协作工单和自助服务两个部分。对于每个部分都不断的细化,考虑一些更加深入的实现方式。

协作工单

1)资源申请

通过对标云服务成审批成本

内部流程打通,完成系统资源申请和回调

绑定高可用服务

默认包含容灾服务

可定制分布式服务

可定制读写分离

绑定高可用升级方案

资源扩容

2)权限申请

账号申请

后端采用密码管理的加密解密机制

权限变更

权限回收

3)数据流转

数据迁移

周期表维护

设定数据周期

设定表生成策略(日表,月表等)

数据同步

4)数据操作

通用查询

数据自助查询

数据结果自助提取

数据变更

引入数据变更备份策略

引入数据回滚策略

5)对象操作

绑定SQL审核,引入打分机制评估SQL质量

暂不支持drop和truncate操作

自助服务分为了以下的部分:

1)SQL自助审核

深度支持MySQL create

深度支持MySQL Alter

主动审核和反馈机制

引入任务调度来实现海量审核

发现更多的潜在问题

2)数据库自助巡检

巡检订阅服务

巡检打分模块

巡检问题梳理和建模

主动检测过高权限,回收权限

数据库快照转储

3)SQL自动化上线

支持MySQL 业务SQL自动化上线

支持关系型数据库自动化上线

对于大表操作,引入online DDL的平台化服务

4)SQL自助优化

提取执行计划,考虑json的方式

提取执行计划相关的优化器选项

查询语句深度优化定制

SQL优化模型

5)慢日志自助分析

深度引入慢日志分析模块

通过任务调度来完成日志切分

引入慢日志服务器来完成慢日志归档

慢日志排行榜

慢日志自动优化

6)监控自助查询

监控自助提取

报警自助订阅

7)数据自助恢复

深度定制数据恢复工具,提供数据闪回功能

通过docker引入数据自助恢复体系

通过构建回收站来平滑对接drop恢复

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2019-01-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券