之前写的一个数据库平台,使用的Django。本来数据库平台是包含了很多的部分,但是自己没有太多时间投入到上面,所以当时的数据库平台的各个部分使用了很多的开源系统,修改了部分代码适配后使用了,所以我的数据库平台中只是自己写了数据库cmdb 部分,还想讲一些统计信息放到上面进行展现,只是实现了慢查询统计的定时收集展现。定时任务通过celery执行。认证使用cas进行认证。代码实现了多环境,可以指定不同的环境,dev,test,prd。方便连接不同环境的配置。使用gunicorn部署。 cmdb这个不太好标准化,都有自己的特殊需求,会跟运维的cmdb进行交互,主要是获取部门业务线信息,将db归属到具体业务线下面。cmdb相当于中枢系统,需要与各个组件交互,所以如果每个组件没有统一在数据库平台上实现,需要制订好接口,各个部分通过接口或者消息队列与数据库平台交互。更多常见的是脚本中暴力的直接sql写到库里,这种的也行,能用就行呗,就是low了点。 数据库数据同步系统 这个主要是当时开发会提很多的MySQL数据同步的请求。将数据从线上同步到测试,预上线等,次数也不少,每次手工去同步真的是忙不过来,所以提前就做了一个单独的在线同步系统,使用的ldap认证,开发登陆后,自己提个单子,然后可以自己执行同步,同步任务使用的celery异步执行,执行完成后,可以发送webhook 提示成功信息。也可以将数据导出成sql文件或Excel文件,并且可以在界面上获取文件,这个功能肯定不合规的,后面就禁用了。使用的查询平台进行下载。当时没有工单系统,所以开发对数据库的一些申请操作,有的放到这个系统上了,后面有了工单系统后,权限的开通都转移到工单系统上了。 数据库的创建这个部分需要需要跟很多系统进行交互,cmdb,查询平台,sql审核平台,授权,域名,调用的接口很多,或者直接放到队列,让各个部分去消费。这个有点复杂了,直接用接口就可以,毕竟qps不会很高。 数据库实例安装部署在数据库同步系统中使用了salt api进行部署,当时是测试通过了,但是没有真正用,主要是当时没时间,也没心情搞了。 总体来说,数据库平台的各个组件我基本上都实现了,虽然不是一个完整的统一平台,但是通过接口可以将数据串联起来形成数据的闭环。 我实现的数据库平台的组件包含:cmdb python 数据同步 python 基于master slave的定时任务平台 golangdbagent,收集数据库的信息,进行报表展示,告警,容量规划等。 golangmysql数据对比 golang备份agent,这个备份的调度是linux crontab执行的,应该使用上面的定时任务平台管理,更方便。 python 使用的开源组件包含:查询平台 python,查询平台在添加新数据库的时候,需要重启,应该部署多个节点,上面挂nginx,轮询重启。sql审核平台 python监控告警高可用, 高可用这做的不多,主要是工作上没有条件去做,都是手工处理,切换。 自己写的脚本:大事务分析脚本 python processlist故障分析脚本 pythonvariables 对比 python 表结构对比 python输出cluster架构信息脚本 python脱敏脚本,python 脱敏脚本跟业务强相关无法通用,需要考虑幂等性。 mysql数据系统表空间解析 这个是实验性质的开发, golang 关于中间件,个人感觉vitess更好,因为是golang开发的,相对比其他中间件,dba能容易hold住,有大厂线上使用,缺点是使用条件高,运维成本高,掌握源码成本高。 vitess源码研究中
数据库平台
来源:这里教程网
时间:2026-03-01 16:21:51
作者:
编辑推荐:
- 数据库平台03-01
- 冬季实战营 动手实战-云上多产品学习,使用ECS服务器部署MySQL数据库03-01
- raft 高可用尝试03-01
- 聊一聊MySQL的存储引擎03-01
- Mysql 从库如果有未提交的事务主库ddl操作导致主从延迟03-01
- 【北亚数据恢复】输入错误命令导致MySQL数据库数据被删除的数据恢复案例03-01
- Mysqldump 在备库进行备份时会阻塞备库的sql_thread03-01
- (转)前端开发之MySQL分区表中的性能BUG03-01
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 冬季实战营 动手实战-云上多产品学习,使用ECS服务器部署MySQL数据库
- 聊一聊MySQL的存储引擎
聊一聊MySQL的存储引擎
26-03-01 - Mysql 从库如果有未提交的事务主库ddl操作导致主从延迟
Mysql 从库如果有未提交的事务主库ddl操作导致主从延迟
26-03-01 - 【北亚数据恢复】输入错误命令导致MySQL数据库数据被删除的数据恢复案例
【北亚数据恢复】输入错误命令导致MySQL数据库数据被删除的数据恢复案例
26-03-01 - (转)前端开发之MySQL分区表中的性能BUG
(转)前端开发之MySQL分区表中的性能BUG
26-03-01 - MySQL升级过程中的一些心得-1
MySQL升级过程中的一些心得-1
26-03-01 - mysql 并行复制原理
mysql 并行复制原理
26-03-01 - 基于DataX的数据同步(上)-DataX介绍以及安装
基于DataX的数据同步(上)-DataX介绍以及安装
26-03-01 - 基于DataX的数据同步(下)-应用DataX进行数据同步
基于DataX的数据同步(下)-应用DataX进行数据同步
26-03-01 - CentOS 系统手动部署 MySQL 数据库
CentOS 系统手动部署 MySQL 数据库
26-03-01
