对DBA、开发、测试、产品同时友好 大规模多存储场景的数据库选型与服务平台建设

 肖博 vivo数据库架构师

  • 担任vivo通用存储研发团队负责任人 , 负责vivo通用存储产品和服务平台研发工作 。
  • 曾就职于百度数据库团队 , 负责 MySQL、redis等方向的运维研发 。
大家好 , 我是肖博 , 今天给大家分享的主题是《大规模多存储场景的数据库选型与服务平台建设之路》 , 主要围绕vivo在数据库选型和服务平台的实践来展开 , 希望能给大家带来不一样的启发 。
今天的分享主要分为以下三个部分:
  1. 自我认知的革命
  2. 需求驱动的数据库选型
  3. 服务驱动的平台化建设
一、自我认知的革命
1、DBA是谁?
我们先来回答一个问题 , DBA是谁?
官方的定义是从事管理和维护数据库管理系统DBMS的相关工作人员的统称 , 属于运维工程师的一个分支 。DBA的核心目标是保障数据库管理系统的稳定、安全、可靠 。
那在开发、测试或者老板的眼里DBA是谁呢?
对DBA、开发、测试、产品同时友好 大规模多存储场景的数据库选型与服务平台建设

文章插图
可以看到上图这个圆圈里有些标签 , 写着DBA技术能力强 , 任何时候、什么问题都能搞定;时间很忙(虽然不知道在忙什么);制定了各种流程规范 , 这个不让用 , 那个方案不行 , 总是说 NO等等 。
这些贴在DBA身上的标签时间久了之后 , 有些DBA也会以这些标签来标榜自己 , 但大家有没有仔细想过 , DBA到底是谁?当然 , 思考DBA是谁和经典的哲学问题“我是谁”还是有区别的 , 思考这个问题主要可以分两个方面:
  1. 你知道DBA在别人心目中的印象吗?
  2. 你知道DBA的工作带给公司、产品带来的影响吗?
带着这两个问题 , 我们接着看下DBA的日常工作 。
2、DBA的工作
对DBA、开发、测试、产品同时友好 大规模多存储场景的数据库选型与服务平台建设

文章插图
第一块工作是保障数据库产品稳定、可靠、高效、安全地运行 , 解决数据库的问题 , 类似于救火队员 , 平时不动声色 , 关键时刻冲在第一线 , 当然运维性质的工作都是这样的 。
第二块是通过流程规范、管控平台逐步地完善运维体系 , 防患于未然 , 未雨绸缪 , 提前做好规划工作 。
第三块是数据库的架构设计与选型 , 这里看起来比前面的两个要高级一些 , 我们都知道好的系统是设计出来的 , 所以设计工作很关键也很重要 , 这个部分对个人能力的要求会相对高一些 。
最后一块是数据架构的治理 , 这个是什么意思呢?其实大家平时都会说 , 数据是公司最宝贵的资产 , 那么DBA就是负责维护和管控这座金矿的人 , 深入数据内部管理 , 更好地理解数据 , 把数据运用起来 。当然这方面的工作可能不是DBA去做 , 只是DBA个人发展的一个方向 。
上面讲的这两部分都是大家普遍认知的内容 , 也都是大家常规的认识 , 那我们这一章节叫做“自我认知的革命” , 那接下来我们会讲一讲 , 如何突破认知 , 重新定义DBA 。
3、打造属于DBA的品牌
对DBA、开发、测试、产品同时友好 大规模多存储场景的数据库选型与服务平台建设

文章插图
如何对DBA的认知进行革命呢?首先我们把DBA和数据库管理系统DBMS当作一个产品来进行打造 , DBA不再是专门维护和管理 DBMS的运维管理人员 , DBA本身也是这个产品的一个模块 。
那么我们产品定位是提供数据库服务能力;服务对象有 , 开发、测试、架构师、管理者等有数据库需求的用户;这款产品的价值输出有哪些呢 , 主要是满足业务诉求的DBMS和用户满意的数据库服务 。
将这些打包成一个整体后 , 我们就可以打造属于DBA的品牌 , 把产品能力和价值映入用户的心中 。这样做有什么好处呢?
  1. 强调DBA本身的价值 , DBA的个人能力也是一种产品;
  2. DBA和数据库管理系统的关系变化 , 不再是管理和被管理的关系 , 而是统一的关系 , 都是为业务提供有价值的数据库服务;


    推荐阅读