参考阿里云DMS快速开发数据管理平台

每个公司基本都有自己的各种运维管理平台,常见的比如 CMDB,发布系统,监控系统,日志系统,工单系统,任务调度,CI/CD,私有云等等;跟数据库相关的也会有内部 RDS 平台,或者数据库管理平台,数据管理平台等等。

如果做内部 RDS 基本参考公有云设计就可以了,各类数据库作为一级节点,节点基本包括监控告警、日志管理、安装、备份恢复、账号管理、高可用管理、升级扩容、容量管理等等。当然,这里每一个功能点都需要精细化管理,甚至需要独立的服务或平台,我们也有微服务😀。废话不多说了,这篇文章不讨论什么方法论。

说点数据管理平台,面向用户(多数情况是公司内部人员),功能基本包括:工单、审批流、权限管理、数据查询、数据导出、脱敏、审计、SQL审核、SQL执行、SQL优化等等;有需要你也可以加入任务调度、第三方工具什么的。

我个人之前是二开 Yearning(如果你还不知道,可以去 GitHub 看看哦,感谢作者) 在公司使用,后面用了阿里云 DMS 服务,由于是商业版,需要满足各种场景,功能相对来说自然强大,但很多功能可能用不到。另外,由于灵活性足够导致使用复杂度提高很多,两者不好平衡。透明度也不够,比如做 DDL 相关的,现在不知道好点了没有。

总结一些常用的功能(其余看阿里云官网):
基本支持了阿里云家族90%数据产品(SQL审核引擎也都支持)
查询够简便好用,统一了所有数据库的使用方式;各种流程处理和 UI 目前来看相对比较简洁方便;前端SQL自动补全做的完善(其余数据库不知道做了没有)
只要需要审批的地方都可以自定义自己的审批流,审批流是嵌套到安全规则里面,安全规则是设置在数据库实例上面
DML 支持无锁变更(大事务拆分),DDL 支持无锁变更(类似 GHOST)
有安全规则的概念,每个不同的数据库实例可以指定不同的安全规则,安全规则主要控制资源对象审批流程,能执行的命令,以及 DDL 审核规则和 DDL 研发流程(研发流程是指可以自由组合不同环境成为一个工作流),大概工作模式图如下:
在这里插入图片描述

进入正题,参考阿里云 DMS 这套设计模式和用户交互模式开发一套适合自己公司使用的系统,主要写一些实用的功能,太复杂且用的不多的功能就算了(主要疫情期间在家办公一天可以工作N小时码出来的代码,都是业务逻辑代码,整体毫无参考价值)。

系统是前后端分离,前端使用的 Vue 的 iview-admin,后端 Django DRF 框架,想着后面后端如果换到 Go 或者 FastAPI 框架会方便很多。

登录什么的就不用介绍了,都是正常的前后端系统常用的 Token 机制验证,支持用户密码登录和企业微信扫描登录。

登录验证通过之后,就会进入到工作台,截图如下:
在这里插入图片描述
看图应该就看出来,工作台主要提供查看工单相关的,比如待处理工单不为 0 就表示有你需要审核的工单了,点击每个区域都会进入对应的页面。

点击进入到待处理工单如下:
在这里插入图片描述
好像也没什么好说的。

系统管理部分都是一些常规功能,截图如下:在这里插入图片描述
实例管理就是添加各种数据库的,比如支持 MySQL、MongoDB、Redis、ADB 之类的。点击实例的库会进入到 schema 管理界面,如下图:
在这里插入图片描述
schema 管理界面主要设置 schema 的 owner 和描述的。为什么要设置schema owner呢?owner 有这个库的所有权限,待会下面说到审批流,审批流可能也会用到库的 owner,比如权限审核和 SQL 审核需要库 owner 审批。

添加实例表单如下:
在这里插入图片描述
除了一些常规的设置之外,可以设置这个实例标识(读、写、读写),用来控制操作的;还有选择这个库的 DBA,库 DBA 的设置会继承到 schema 上面充当 schema 的 owner 使用。另外就是设置实例的安全规则了。在系统管理部分可以看到有安全规则菜单,那里就是编写各种数据库的安全规则的。

还有各种查询导出超时时间设置和条数限制的设置,默认启用实例设置的这些参数;当然,你也可以在用户上面设置这些参数,可以选择调整用户参数的优先级高于实例。

再就是敏感列表菜单了,主要用来设置敏感表和敏感列的,被设置为敏感表和敏感列默认用户是没有权限查询的,比如针对性申请权限才行(权限申请待会再说)。
在这里插入图片描述
我们也是支持自定义审批流的,同样,审批流也是设置在安全规则里面的。首先定义审批节点,默认 Admin,DBA 和 Owner 是系统定义的,这里的 Owne 就是 schema 的 owner 了,其余是可以自定义添加的,如下图:
在这里插入图片描述
然后把审批节点串联起来就是一个审批流模板了,定义了谁先审批谁后审批,如下图:
在这里插入图片描述
安全规则,用来定义审批流,比如申请 schema 的审批流程,测试环境不需要审批,敏感表敏感列的审批流程,申请 owner 的审批流程等等;还有定义命令黑白名单,比如 SQLConsole 能执行什么 Redis 命令或 SQL 语句,数据变更能执行什么 SQL 语句之类的。
在这里插入图片描述
权限申请,点击权限申请菜单会进入到权限申请页面,默认会列出一些你的权限工单,然后点击权限申请按钮会在当前页面打开菜单,如下:
在这里插入图片描述

点击权限申请,可以选择申请 schema、表、敏感字段、owner权限。
在这里插入图片描述
提交工单会在当前页面打开工单详情页面,如下图:
在这里插入图片描述
这里就可以看到工单流了,这里工单流的生成是根据你后端实例关联的安全规则再关联的审批流。

数据导入跟这个也差不多,不过多了预校验功能,比如 SQL 权限校验和语法校验之类的,如下图:
在这里插入图片描述
再来说一下查询,有权限的 schema,在顶部的搜索框可以看到,如下图:
在这里插入图片描述
支持关键字模糊匹配,过滤等操作。点击对应的 schema/db0 会进入到查询页面:
在这里插入图片描述
查询是下了不少功夫,比如 table 自适应,编辑器自适应、选中 SQL 执行、快捷键、多 tab、收藏管理、json 和 table 展示切换、表右键、拖拉中间线条保持编辑器和 table 自动伸展之类的,反正东西蛮多。
在这里插入图片描述
其中详情会展示表索引,字段,show create等信息。

点击 Redis,展示图如下:
在这里插入图片描述
也支持了 Redis 命令自动补全之类的。

还有 MongoDB 和其他数据库之类的,就不展示了。在查询页面也集成了小米的 SOAR 工具,上图。
在这里插入图片描述

参考链接 :
参考阿里云DMS快速开发数据管理平台 (一):https://mp.weixin.qq.com/s/Isi6ZqjRg_IdwR4eBmWHmQ

参考阿里云DMS快速开发数据管理平台(二): https://mp.weixin.qq.com/s/8DQi9qneDS-LubFxqFyC1A

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
阿里云DMS(数据库管理服务)是一种云端数据库管理工具,它不仅提供了数据管理和维护功能,还可以监控数据库性能并杀掉慢SQL。 阿里云DMS中的杀慢SQL功能可以帮助用户快速识别和处理执行缓慢的SQL查询。当数据库出现大量或高耗时的慢SQL时,这可能会影响数据库的整体性能,降低系统的响应速度。通过使用杀慢SQL功能,用户可以定位并结束这些导致性能瓶颈的查询语句。 在阿里云DMS中,用户可以通过以下步骤实现杀慢SQL功能: 1. 进入DMS控制台,并选择相应的数据库实例。 2. 在数据库实例的管理页面上,选择“诊断与优化”功能。 3. 在“慢SQL查询”选项中,可以查看数据库中执行较慢的SQL语句。 4. 用户可以根据慢SQL的执行时间、次数等指标来筛选出需要杀掉的SQL语句。 5. 选择需要杀掉的SQL语句,并在操作菜单中选择“杀掉”操作即可。 当然,杀慢SQL并不是解决数据库性能问题的根本方法,只是针对一时的性能瓶颈提供了快速的解决方案。在实际使用中,建议用户除了使用杀慢SQL功能外,还需进一步分析并优化数据库结构、索引设计、查询语句等方面,以提升整体的数据库性能和系统的效率。 总之,阿里云DMS的杀慢SQL功能可以帮助用户快速定位并终止执行缓慢的SQL查询,从而提高数据库的整体性能,并提供更快速和高效的系统响应。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值