DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

Wesley13
• 阅读 622

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

开篇

随着近些年来,开源、自动化、云化的兴起,DBA职业也正悄然发生一些变化。经常有朋友咨询我,职业发展规划;特别是近期Oracle的大幅裁员之后,针对DBA这一职业未来该如何发展?本文是个人对此问题的一些看法,仅供各位参考!

数据是核心

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

将DBA单词分解一下。其对应的

  • 操作对象:数据

  • 操作介质:库

  • 操作角色:管理员

这里的核心是数据,也是DBA这一角色最大的价值所在。他们最了解数据、最懂得数据的价值;因此DBA后续可发展的一些方向,也基本是与数据有关。

此外,对于数据要有更加宏观的认识,无论是企业的自有数据,还是外部获得;无论是关系数据,还是其他模式数据;无论是保存在数据库中,还是其他诸如日志等介质中,数据对企业都非常有价值,要将数据作为一种"资产"来管理。只有上升到这样的高度,数据相关岗位的价值也就凸显出来。

阶段不同,侧重不同

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

企业对数据应用水平不同,因而造成工作重心及岗位需求也有所不同。下面简单描述下各个层次:

  • 层次一,是以数据库维护为主,常见表现是"救火队员"型。很多初创企业,都经历过这一过程。数据库维护基本靠人,随着运维体量的增加,需要线性增加人员。整体数据应用水平,基本处于简单、粗放型。

  • 层次二,仍是以数据库维护为主,但已形成较为完善的运维体系。除了基础运维之外,甚至可以考虑一些预防性的措施,提高整体的运维效益。这一阶段的体系化建设,往往是通过文档、运维平台等沉淀下来。数据库作为基础设施层,已可提供较好的数据存储、计算能力输出。但此阶段尚未从更高角度去考虑数据问题,仍仅限于运维层面。

  • 层次三,数据设计应用阶段,企业已不满足数据简单的"存取类"需求,而是从更高的应用角度,考虑如何提高整体数据应用水平。这个阶段会增加数据库架构、设计,加强业务端数据优化工作。表现为增加产品DBA的角色,加大数据库架构权重等。

  • 层次四,数据架构治理阶段,企业不单从某个应用、某条业务线去考虑数据问题,而是公司整体层面做数据的顶层设计。考虑建立专门的机构(如数据委员会)或岗位-首席数据官(CDO)。近些年来,颇为火热的"数据中台",正是为迎合这一需求而产生的。

基础运维工作,繁琐枯燥

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

作为基础类的运维工作,数据库的要求是比较高的。上图简单罗列了部分工作,对DBA日常繁琐工作可见一斑。正是基于这点,平台化、自动化、云化的诉求,不断被提出。进而间接对DBA的能力提出了更高的要求。

DBA职能,向上进化

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

基于前面数据应用水平所谈到的,企业内部DBA也对应承担了几类职能。自下而上的是数据物理架构、逻辑架构和业务架构。公司内应用水平高低,也决定了DBA各类工作的比例侧重不同。随着公司数据应用水平的不断提高,DBA工作重心也应从下层逐步转向中上层。

  • 数据物理架构,对应为"运维DBA",工作重心为基础架构的建设。

  • 数据逻辑架构,对应为"产品DBA",工作重心为数据库架构、架构设计及SQL质量问题。

  • 数据业务架构,对应为"数据架构师-DA",工作重心在于数据治理、管理类工作。

DBA面临冲击不断

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

近些年来,DBA职位受到很大一些冲击,我摘其重要的几项说明下。

  • 去IOE,阿里最早提出"去IOE"的叫法。它的提出,让人们第一次领悟到,企业的核心应用是可以不依赖于传统的国外大型商业数据库,进而提出了一种新的解决思路。

  • 开源与商业,企业发展阶段不同,对于开源还是商业软件的使用存在类似上图的收益/成本曲线。当发展到一定阶段时,是必须要考虑引入开源。企业要从技术战略角度出发,考虑这一问题。

  • "四化",数据库基础运维工作,经历了从手工、脚本、工具、平台的发展阶段。其发展特点表现为"四化"(平台化、可视化、自动化、智能化)。这一发展方向也对DBA的技能要求产生了一些变化,特别是对研发的技能要求已成为必要条件。

  • 云,是未来的发展方向。从全球范围来看,云生态的数据库占比在8%,未来预计在35年内,会提升到20%30%。这无疑是巨大的飞跃。对于DBA而言,云环境下的数据库工作有别于传统环境,需要从多方面去适应,工作重心也要有所调整。

技术 OR 管理

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

DBA职业发展,向上面临的第一个选择就是发展方向,是走管理路线还是技术路线。上图给大家描述了两种不同方向的区别,个人可根据自己特质,对号入座。这里要避免一个误区,就是"以管理为上",这其实就是官本位思想的体现。不是每个人都适合管理路线,放在不恰当的位置上,对人的发展是一种摧残。

客观判断,承认上限

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

在明确了发展路线之后,就需要对自身的发展阶段有所判断。无论是技术还是管理,都存在这样一个进化理论,即越走向高级阶段,其淘汰率越高。要客观、理性地认识到自己所处的阶段。从上述比例也可以看出,能走到高阶职位的毕竟是少数。虽然可以通过一些方式(后面会谈到)做突破,但是仍然有较大概率无法取得既定目标。此时,要勇于承认这一点,调整自己的职业定位,谋求新的发展方向。

高度与广度 + 全局思维

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

取得职业发展突破,有两个小的建议。

  • 高度与广度。在职业发展初期,需要有个快速成长的"原始积累期"。这里谈到的原始积累,不是财富,而是技术技能。要在某专一领域,尽量达到自己的技术高点。会存在某个点,你已经无法突破达到更高的高度时,要谨慎分析原因。如确实非主观原因,那么要坦然接受它。剩下来的技术发展,可考虑横向发展,即将自己打造成"T字型"人才。上面谈到的高点很重要,它会决定你的技术"视野"。

  • 全局思维。即不要仅仅从技术角度考虑问题,特别是达到一定高度之后,可更多地尝试从业务角度、人的角度考虑之前面临的问题,也许你就会有新的发现。全局思维,会有助于你发现原有发展阶段的瓶颈点,实现突破。

DBA职业选择路线

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

前面讲了很多,那么DBA职业发展可考虑哪些方向呢?下面试图给出一些可能的选择。以下仅仅是本人根据自己所熟悉的领域给出的选择,不代表全部。

选择:****数据库技术、数据库业务

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

  • 数据库技术。这是一个比较容易的选择,即在某数据库领域里不断精进自己,以达到一个更高的目标。职业定位是首席DBA、DBA专家等。如果考虑这个发展方向,建议考虑乙方或云厂商,因为他们对技术本身要求更高。甲方角色,受限于自身环境,一般很难有需要不断突破的技术氛围。

  • 数据库业务。将数据库技术与公司业务相结合,突出在某业务领域的数据能力。这是需要在某行业打磨多年,充分了解其业务特点,不断抽象出其数据要求。这一方向可考虑行业的头部公司或者是专为某行业服务的ISV。

选择:****内核研发、数据库架构

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

  • 数据库内核研发,是相对"小众"的一类人才需求,一般只有大型企业/云厂商或数据库厂商会考虑设置。其专业性较强,人员素质要求也较高。建议选择高起点的一些企业,对个人长期职业发展有利。

  • 数据库架构师,这是一个相对综合类的职位。"架构"的含义比较模糊,各企业对架构师角色的定位也各不相同。一般能考虑设置数据库架构师角色的企业,都是有一定规模,企业内数据应用比较复杂的情况。下面根据我所在公司的实际场景,尝试给出一个数据库架构师的技能图谱,供各位参考。

一家之言:****数据库架构师技能图谱

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

上图罗列对数据库架构师本身要求的十二项基本能力要求,各项能力的要求不同,我通过左侧的饼图比例大小予以说明。当然能符合全部要求的人,少之又少。公司可根据侧重,有所取舍。上述技能要求,可大致分为四类:

  • 数据自身技能,如数据库、大数据、数据治理、数仓等

  • 关联领域技能,如基础设施、云、容器等 - 研发方向技能,如DevOps等

  • 综合技能类,如业务思维、软技能(如沟通技巧)

选择:****数据架构、数据产品

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

  • 数据架构,不同于"数据库架构"。数据架构,更强调于顶层设计,需要对数据有全局的思维,帮助企业做好整体数据规划设计工作。它不在拘泥于某种技术,而是着眼于数据整合、安全、共享、价值、资产等问题。

  • 数据产品,也是一种综合类职位。需要对技术本身有一定深入的了解,但更强调其技术广度。此外需要有产品化思维,能将业务需求,转换为产品功能设计。

选择:****解决方案架构、数据库布道者

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

  • 解决方案架构,往往是从"售前架构"、"技术顾问"等角色体现出来。其核心要点是具备一定技术能力的同时,还要有甲方思维,能够了解用户痛点,能从技术角度帮助客户解决现有问题。这里不光是销售自己的产品,更重要的是给客户带来价值。

  • 数据库布道者,少数的选择,只针对有一定技术影响力的人员才可以考虑。是一种偏向于自由职业者的选择。

选择:****数据治理、数据仓库

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

  • 数据治理,是一项比较"浩大"的工程。随着企业对数据的重视程度越来越高,这一岗位也愈发重要起来。其强调几个关键过程域的活动,提升企业整体数据应用水平。右图中给出的DAMA的过程域图例,供大家参考。

  • 数据仓库,是一个处于转型中的职位,传统的数仓做法,目前已不适应现代企业要求。但其核心的数据建模理论,还是具有指导意义的。因此各大互联网公司,均有自己颇有特色的数仓实践。可以考虑大厂或行业头部客户作为选择。

选择:****大数据、运维开发

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

  • 大数据,作为大"DBA"的范畴,大数据领域某种意义上将也是一种数据库。当然它有其自身的特殊性,表现为技术分散、变化快、没有统一标准、对研发能力有一定要求等。

  • DevOps,运维开发。适合有一定研发基础的DBA选择。

选择:****项目管理、技术管理

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

  • 项目管理,DBA是一个比较综合类的职位,在沟通、协调、组织方面,与项目管理有相似在之处。因此,可以考虑转型做项目管理类职位。

  • 技术管理,DBA职位的涉及的技术领域较广,如稍加留意是可以涉猎很多关联领域。这与技术管理类对技能诉求,有一定相似。再加上其对软技能的要求,是可以考虑将技术管理作为发展方向。在圈子中也发现不过高级管理人员,都是DBA出身,不无一定道理。

写在最后

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

面对一个充满不确定性的未来,唯一能确定的就是变化。让我们拥抱变化,努力改变今天的自己!

内容来源:韩锋老师于ACMUG沙龙(北京站)的分享,首发公众号-韩锋频道,欢迎关注。


⭐️⭐️⭐️欢迎加入“宜信技术交流群”。进群方式:请加小助手微信(微信号:creditease_tech)。

◆ ◆ ◆ ◆ ◆

如需转载请与小助手(微信号:creditease_tech)联系。****发现文章有错误、对内容有疑问,都可以通过关注宜信技术学院微信公众号(CE_TECH),在后台留言给我们。我们每周会挑选出一位热心小伙伴,送上一份精美的小礼品。快来扫码关注我们吧!

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

⏬点击“阅读原文”查看更多技术干货

DBA职业发展之路:云化、去“IOE”等挑战之下,DBA将何去何从?

本文分享自微信公众号 - 宜信技术学院(CE_TECH)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
FD
!(https://oscimg.oschina.net/oscnet/27b94bba9f88488dba7d397aa3cc4f00.gif)
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这