郑昀 创建于2015/12/2 最后更新于2015/12/2

关键词:数据库,MySQL,自动化运维,AutoDDL,刷库,帐号授权,审核,回滚

提纲:

  1. 数据库自动化运维什么?别人家是怎么玩的?
  2. 我们打算做哪些特性?
  3. 我们的iDB

iDB 是刘勤红部门推出的数据库自动化运维平台,它其实已经断断续续开发了几个月了,线上也跑了一段时间,最近又发布了新版本。版本迭代的主力是王晓华同学,李世杰也参与了一部分开发工作,曹富志和张永奎是需求方。

iDB 的主要目的是解决绝大部分重复、复杂的数据库运维工作 ,满足业务对数据库信息查询和快速变更需求,借此提升研发效率,保证数据库操作符合审计要求,有可追溯的变更和审核日志。20151208Updated:更多技术细节请阅读iDB是如何运转的 一

0x00,数据库自动化运维什么?别人家是怎么玩的?

当数据库越来越多时,比如按业务垂直分库了,10个,50个,100个……

当数据库关系越来越复杂时,比如 Cobar 水平拆库,从库分组,级联从库,合并库,比如某些索引要求只建在特定从库上……

DBA 的日常管理,手速再快,也不得不希望有系统来帮忙,毕竟数据库拓扑建立起来后,很多操作都可以自动化完成。

举个例子,工程上线前要开数据库访问帐号和权限。没有平台的话,那就得 DBA 一个一个去建,写库是 M 打头的帐号,读库是 S 打头的帐号,密码强度还得高。有了平台之后,DBA 只需要审核研发人员提的需求即可,系统自动化生成帐号密码,然后发邮件给申请人,或者将密码生成对称加密后的密文展示给申请人。

再比如,刷库。DBA 刷库之前为安全起见,都会先备份,然后刷库,一旦刷库有问题需要回滚数据,至少有东西恢复。有了平台之后,研发人员提刷库脚本,DBA 审核,并设定执行时间,系统会自动备份数据,一旦有问题,DBA 点击回滚按钮,系统自动将数据刷回去。

那么,别人家的数据库自动化运维平台都有什么特性呢?

我们先来看一下美团,它的数据库自动化运维包括如下内容:

图1 美团的功能点

可以看到,上图一些功能点如慢查,Processlist 等,我们是放在天机系统里的。

同样是 AutoDDL(建库、建表及更改表字段定义和属性)功能。

赶集的逻辑是:

图2 赶集的AutoDDL

 

美团的逻辑是:

图3 美团的AutoDDL

 

新浪则:

图4 新浪的AutoDDL

 

对于线上数据订正(即刷库)功能。


图5 赶集的订正逻辑

 

对于线上数据查询功能。

阿里的 iDB 界面如下所示:

图6 阿里iDB的线上数据查询

 

对于备份还原功能。

图7 阿里iDB的备份管理

 

还有人把数据库监控和报警做到这种系统里了。

图8 新浪的数据库监控

 

大致如此,各个公司八仙过海各显其能,DBA 和研发运维的生产力大大提升。

0x01,我们打算做哪些特性?

我们的 iDB 有如下特性:

  • 已经上线的:
    • 线上帐号申请、审核和管理
    • 线上数据查询
    • 线上数据订正
    • AutoDDL
  • 着手在做的:
    • 自动识别数据库拓扑关系(记得吗,我们在天机系统里曾经做过)
    • 新建数据库实例
    • 备份管理
    • ……

0x02,我们的 iDB

首先,iDB 的用户角色分为研发人员和 DBA。首页会有一个任务导航,如下图所示:

图9 云纵iDB首页-工程师的任务看板

我作为 Engineer,登录 idcenter,跳到 iDB 后,可以:

发起订正申请,个人帐号申请,工程帐号申请,DDL 申请,

还可以:

线上数据查询。

我如果是 DBA,任务看板就变为:

图10 云纵iDB首页-DBA任务看板

相对 Engineer,增加了:

订正审核,帐号审核,DDL 审核,数据库组管理,任务管理等。

简单介绍这么多,以后再介绍一些更高级的特性。再次感谢王晓华、刘勤红、曹富志、张永奎和李世杰!

p.s.:云纵的 iDB 是我们自主开发的系统,只是 codename 与阿里的 iDB 一样。天机,鹰眼,也均如此,名字一样,但功能和实现是我们自己的脑力成果。
更多技术细节请阅读iDB是如何运转的 一
 
-EOF-
欢迎订阅我的微信订阅号『老兵笔记』,请扫描二维码关注:
转载时请注明“转载自旁观者-博客园”或者给出本文的原始链接。

#研发解决方案#iDB-数据库自动化运维平台的更多相关文章

  1. sso 自动化运维平台

    单点登录SSO(Single Sign-On)是身份管理中的一部分.本文中作者开发了一个自动化运维平台中的统一认证接口,单点登录平台通过提供统一的认证平台,实现单点登录.因此,应用系统并不需要开发用户 ...

  2. 【I·M·U_Ops】------Ⅱ------ IMU自动化运维平台之CMDB

    说明本脚本仅作为学习使用,请勿用于任何商业用途.本文为原创,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. #A 我理解的 CMDB CMDB翻译过来,Configuratio ...

  3. (转)实验文档5:企业级kubernetes容器云自动化运维平台

    部署对象式存储minio 运维主机HDSS7-200.host.com上: 准备docker镜像 镜像下载地址 复制 12345678910111213141516 [root@hdss7-200 ~ ...

  4. 【IMU_Ops】------III------ IMU自动化运维平台之CMDB(admin)

    说明本文中所有内容仅作为学习使用,请勿用于任何商业用途.本文为原创,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. #A 首先启用admin 通过python manage.p ...

  5. Python自动化运维:技术与最佳实践 PDF高清完整版|网盘下载内附地址提取码|

    内容简介: <Python自动化运维:技术与最佳实践>一书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的 ...

  6. saltstack---自动化运维平台

    https://github.com/ixrjog/adminset[自动化运维平台:CMDB.CD.DevOps.资产管理.任务编排.持续交付.系统监控.运维管理.配置管理 ] https://ww ...

  7. Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:7bl4 一.内容简介 <python自动化运维:技术与最佳实践>一书在中国运维领域将有"划时代"的重要意义:一方面,这是国内第一本从纵.深和实践角度探 ...

  8. 基于Linux平台的自动化运维Devops-----之自动化系统部署

    一.自动化运维的背景网站业务上线,需要运维人员在短时间内完成几百台服务器部署,包括系统安装.系统初始化.软件的安装与配置.性能的监控......所谓运维自动化,即在最少的人工干预下,利用脚本与第三方工 ...

  9. 使用Ansible实现数据中心自动化运维管理

    长久以来,IT 运维在企业内部一直是个耗人耗力的事情.随着虚拟化的大量应用.私有云.容器的不断普及,数据中心内部的压力愈发增加.传统的自动化工具,往往是面向于数据中心特定的一类对象,例如操作系统.虚拟 ...

随机推荐

  1. python2.7 报错(UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 0: ordinal not in range(128))

    报错: 原来用的python3.5版本后来改为2.7出现了这个错误里面的中文无法显示 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 ...

  2. nginx配置反向代理解决前后端分离跨域问题

    摘自<AngularJS深度剖析与最佳实践>P132 nginx配置文件如下: server { listen ; server_name your.domain.name; locati ...

  3. Python模块之"prettytable"

    Python模块之"prettytable" 摘要: Python通过prettytable模块可以将输出内容如表格方式整齐的输出.(对于用Python操作数据库会经常用到) 1. ...

  4. js下载项目中的文件

    项目中有一个连接是下载视频插件,放到服务器上,不能io输出,所以指定地址直接下载 <div id="objInfo"> <jsp:include page=&qu ...

  5. android adb 命令详解

    ADB (Android Debug Bridge)  是android SDK中的工具,需要先配置环境变量才能使用.起调试桥的作用,可以管理安卓设备.(也叫debug工具) ---------查看设 ...

  6. SqlServer 2008登录时报错

    登录SQLServer2008R2时提示如下错误: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server ...

  7. 分享一个常用Adb命令

    分享一个常用Adb命令 首先 首先感谢@xuxu的常用adb命令,收益良多,但是已经不能满足于我,所以补充了下. 再者 好久没发帖了,最近论坛老司机们都在讨论/总结,我就用这个干货回报吧. 最后 基于 ...

  8. .net WebApi开发

    1].部署环境.net4及以上版本. [2].vs2010  开发需单独安装vs2010 sp1和mvc4 mvc4:http://www.asp.net/mvc/mvc4 或者 http://dow ...

  9. AJAX的核心XMLHttpRequest对象

    为了实现异步通讯,提高用户体验度,而将很多旧知识(XML,DOM,JavaScript,HTML,jQuery,Css...)重新融合程一个新的知识框架.而XMLHttpRequest对象则是其中的重 ...

  10. netbeans-xdebug 断点调试php

    来自NetBeans官网的帮助文档: https://netbeans.org/kb/docs/php/debugging_zh_CN.html 但具体问题,我们还是要说下 准备工作 本地部署的ser ...