加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 安全 > 正文

当当网资深DBA:DB运维四大现代化的实现(有彩蛋)

发布时间:2021-01-11 15:43:47 所属栏目:安全 来源:网络整理
导读:《当当网资深DBA:DB运维四大现代化的实现(有彩蛋)》要点: 本文介绍了当当网资深DBA:DB运维四大现代化的实现(有彩蛋),希望对您有用。如果有疑问,可以联系我们。 讲师介绍 赵钢 当当网资深DBA OCP 9i认证专家,十年以上Oracle及Linux/HP-UX技术经验. 曾负
副标题[/!--empirenews.page--]

《当当网资深DBA:DB运维四大现代化的实现(有彩蛋)》要点:
本文介绍了当当网资深DBA:DB运维四大现代化的实现(有彩蛋),希望对您有用。如果有疑问,可以联系我们。

讲师介绍

赵钢

当当网资深DBA

  • OCP 9i认证专家,十年以上Oracle及Linux/HP-UX技术经验.
  • 曾负责管理电信通讯话单数据库、中国移动短信营销数据库、足彩福彩支付数据库、多语种博客社区数据库.

各位好,今天我的主题是 《DB运维的四个现代化》,看标题就能明白,是关于DBA自动化运维平台的事情.

主要是分享下我在当当想到做到的一些事情,很多都是兄弟们一起努力的结果,这篇文章也是对我们工作进行一次总结,整个平台的实现方法并没有用到什么高大上的框架,有亮点的地方我会着重说明,当然,有兴趣了解的同学,直接提问就好.

本次分享将分为以下三部分进行:

  1. 解密DB管理四大现代化
  2. 实例分析实践痛点
  3. 从信息展现开始一步步解决

DB管理四大现代化

首先先聊下DB在项目中的地位:

  • 99%的软件,处理的数据最终是需要落地
  • 从人员结构来说,DBA支持公司多项目
  • 数据要安全,数据要及时,权限要收口

于是,DBA的工作经常成为项目进展的瓶颈.

然而,在错综复杂的电商环境中,数据库又独具特色.一提到电商: 自然想到,双11,秒杀,大促等等,?? 于是下面3个特点也就不言而喻.

在当当网,我们的DB规模是这样的,数据截止到2016年3月,而现在又在增长……T_T

因此就会有这样的工作需求:

  • 商品单品项目组、新来的开发同学,需要了解单品项目的表设计结构;
  • 购物车项目管理的同学需要同步最新数据,检查项目运行效果;
  • 订单项目的同学需要检查实时数据,监控订单量(授权给radar监控数据源);
  • 测试的同学需要检查回归测试的数据效果.

实例分析实践痛点

商品分类项目程序出现了bug,导致分类错误,最有效的办法莫过于:DB中需要修改几条数据.

  • 项目扩容,需要部署从库,项目迁移,需要切换到从库;
  • 硬件故障,需要切换;
  • 所有项目大大小小 500+个DB实例?? (??⊿?)?? So,不理想的状态下,以上工作×500倍;
  • DBA负责按工单导出数据,工单多了就放开查询权限,
  • 人员流动(←_←),于是一堆不明权限,数据安全无法保证.

于是,DBA们也在思考,和开发项目拼人肉数目,肯定不切实际,我们需要自动化的平台.

根据以上问题,我们做了几个选择:

  • 哪些信息是可以共享给开发部门的.
  • 哪些操作DBA可以自动,符合标准的进行.
  • 用什么方法尽可能保证数据的实时准确性

用下图来回答:

平台主要分为:信息收集展现,DBA管理工具两大部分.

数据库的元数据可以被全体技术部乃至业务部访问.但数据细节,只能有限访问(权限申请需要经过审批)这些只读的访问,一次授权,即可自助进行.

对于数据库管理(部署,备份,恢复),DBA也要编写脚本,按标准进行.后面会尽量详细介绍.

从信息展现开始一步步解决

1、信息收集展现

先说明下,关于数据库元数据的展现:

上图可见,借用phpmyadmin工具(右图),对于元数据的展现还是很完美的.完全可以替代左图的命令行模式.

当然,这里的phpmyadmin是经过修剪功能的版本,去掉了诸多管理,展示数据细节的部分.

对于申请过权限的用户,才可以访问到受限的数据细节.

同时对于数据本身,也进行了限制性修改,仅能访问 500行的数据:

对于元数据也进行了抓取和归档(主要用shell+python定时执行 实现),这样做有几个好处:

1、便于在整个公司项目范围内,宏观的、快速的、模糊的查找想要的元数据.

2、基于元数据的定期归档,可得出数据空间变化的规律.

例如我们平台的如下功能:

3、还可以对元数据进行统计,迅速得出那些是我们急需调优的目标(需水平拆分的大表,需垂直拆分的宽表,需要删除的重复索引,需要扩容的autoid等等).

例如,我们平台的如下功能:

展示出来就是这样(图表展示我采用highchart,MySQL只负责用SQL吐数据,展示的活,就交给highchart 了):

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读