随着近些年来开源、自动化、云化的兴起,DBA 职业也正悄然发生一些变化。经常有朋友咨询我职业发展规划,特别是近期 Oracle 的大幅裁员之后。
本文是个人对“DBA 这一职业未来该如何发展”这个问题的一些看法,仅供各位参考。
数据是核心
将 DBA 这个单词分解一下,其对应的是操作对象—数据,操作介质—库,操作角色:管理员。
这里的核心是数据,也是 DBA 这一角色***的价值所在。他们最了解数据、最懂得数据的价值。因此 DBA 后续可发展的一些方向,也基本是与数据有关。
此外,对于数据要有更加宏观的认识:无论是企业的自有数据,还是外部获得;无论是关系数据,还是其他模式数据;无论是保存在数据库中,还是其他诸如日志等介质中,数据对企业都非常有价值,要将数据作为一种“资产”来管理。
只有上升到这样的高度时,数据相关岗位的价值才能凸显出来。
阶段不同,侧重不同
企业对数据应用水平不同,因而造成工作重心及岗位需求也有所不同。下面简单描述一下各个层次:
- 层次一是以数据库维护为主,常见表现是“救火队员”型。很多初创企业,都经历过这一过程。数据库维护基本靠人,随着运维体量的增加,需要线性增加人员。整体数据应用水平,基本处于简单、粗放型。
- 层次二仍是以数据库维护为主,但已形成较为完善的运维体系。除了基础运维之外,甚至可以考虑一些预防性的措施,提高整体的运维效益。
这一阶段的体系化建设,往往是通过文档、运维平台等沉淀下来。数据库作为基础设施层,已可提供较好的数据存储、计算能力输出。但此阶段尚未从更高角度去考虑数据问题,仍仅限于运维层面。
- 层次三数据设计应用阶段,企业已不满足数据简单的“存取类”需求,而是从更高的应用角度,考虑如何提高整体数据应用水平。
这个阶段会增加数据库架构、设计,加强业务端数据优化工作。表现为增加产品 DBA 的角色,加大数据库架构权重等。
- 层次四数据架构治理阶段,企业不单从某个应用、某条业务线去考虑数据问题,而是从公司整体层面做数据的顶层设计。
考虑建立专门的机构(如数据委员会)或岗位-***数据官(CDO)。近些年来,颇为火热的“数据中台”,正是为迎合这一需求而产生的。
基础运维工作,繁琐枯燥
作为基础类的运维工作,数据库的要求是比较高的。上图简单罗列了部分工作,对 DBA 日常繁琐工作可见一斑。
正是基于这点,平台化、自动化、云化的诉求不断被提出,进而间接地对 DBA 的能力提出了更高的要求。
DBA 职能,向上进化
基于前面数据应用水平所谈到的内容,企业内部 DBA 也对应承担了几类职能。自下而上的是数据物理架构、数据逻辑架构和数据业务架构。
公司内应用水平的高低,也决定了 DBA 各类工作的比例侧重不同。随着公司数据应用水平的不断提高,DBA 工作重心也应从下层逐步转向中上层:
- 数据物理架构,对应为“运维DBA”,工作重心为基础架构的建设。
- 数据逻辑架构,对应为“产品DBA”,工作重心为数据库架构、架构设计及 SQL 质量问题。
- 数据业务架构,对应为“数据架构师-DA”,工作重心在于数据治理、管理类工作。
DBA 面临冲击不断
近些年来,DBA 职位受到很大一些冲击,我摘其重要的几项说明下:
- 去 IOE,阿里最早提出“去 IOE”的叫法。它的提出,让人们***次领悟到,企业的核心应用可以不依赖于传统的国外大型商业数据库,进而提出了一种新的解决思路。
- 开源与商业,企业发展阶段不同,对于开源还是商业软件的使用存在类似上图的收益/成本曲线。当发展到一定阶段时,是必须要考虑引入开源。企业要从技术战略角度出发,考虑这一问题。
- “四化”,数据库基础运维工作,经历了从手工、脚本、工具、平台的发展阶段。其发展特点表现为“四化”(平台化、可视化、自动化、智能化)。
这一发展方向也对 DBA 的技能要求产生了一些变化,特别是对研发的技能要求已成为必要条件。
- 云,是未来的发展方向。从全球范围来看,云生态的数据库占比在 8%,未来预计在 3~5 年内,会提升到 20%~30%,这无疑是巨大的飞跃。
对于 DBA 而言,云环境下的数据库工作有别于传统环境,需要从多方面去适应,工作重心也要有所调整。
技术 OR 管理
DBA 职业发展面临的***个选择就是发展方向是走管理路线还是技术路线。
上图给大家描述了两种不同方向的区别,个人可根据自己特质,对号入座。这里要避免一个误区,就是“以管理为上”,这其实就是官本位思想的体现。
不是每个人都适合管理路线,放在不恰当的位置上,对人的发展是一种摧残。
客观判断,承认上限
在明确了发展路线之后,就需要对自身的发展阶段有所判断。无论是技术还是管理,都存在这样一个进化理论,即越走向高级阶段,其淘汰率越高。
要客观、理性地认识到自己所处的阶段。从上述比例也可以看出,能走到高阶职位的毕竟是少数。
虽然可以通过一些方式(后面会谈到)突破,但是仍然有较大概率无法取得既定目标。此时,要勇于承认这一点,调整自己的职业定位,谋求新的发展方向。
高度与广度 + 全局思维
取得职业发展突破,有两个小的建议:
- 高度与广度。在职业发展初期,需要有个快速成长的“原始积累期”。这里谈到的原始积累,不是财富,而是技术技能。
要在某专一领域,尽量达到自己的技术高点。会存在某个点,你已经无法突破达到更高的高度时,要谨慎分析原因。
如确实非主观原因,那么要坦然接受它。剩下来的技术发展,可考虑横向发展,即将自己打造成“T字型”人才。上面谈到的高点很重要,它会决定你的技术“视野”。
- 全局思维。即不要仅仅从技术角度考虑问题,特别是达到一定高度之后,可更多地尝试从业务角度、人的角度考虑之前面临的问题,也许你就会有新的发现。
全局思维,会有助于你发现原有发展阶段的瓶颈点,从而实现突破。
DBA 职业选择路线
前面讲了很多,那么 DBA 职业发展可考虑哪些方向呢?下面试图给出一些可能的选择,以下仅仅是本人根据自己所熟悉的领域给出的选择,不代表全部。
数据库技术、数据库业务
数据库技术:这是一个比较容易的选择,即在某数据库领域里不断精进自己,以达到一个更高的目标。
职业定位是*** DBA、DBA 专家等。如果考虑这个发展方向,建议考虑乙方或云厂商,因为他们对技术本身要求更高。甲方角色,受限于自身环境,一般很难有需要不断突破的技术氛围。
数据库业务:将数据库技术与公司业务相结合,突出在某业务领域的数据能力。
这是需要在某行业打磨多年,充分了解其业务特点,不断抽象出其数据要求。这一方向可考虑行业的头部公司或者是专为某行业服务的 ISV。
内核研发、数据库架构
数据库内核研发:是相对“小众”的一类人才需求,一般只有大型企业/云厂商或数据库厂商会考虑设置。
其专业性较强,人员素质要求也较高。建议选择高起点的一些企业,对个人长期职业发展有利。
数据库架构师:这是一个相对综合类的职位。“架构”的含义比较模糊,各企业对架构师角色的定位也各不相同。
一般能考虑设置数据库架构师角色的企业,都是有一定规模,企业内数据应用比较复杂的情况。
下面根据我所在公司的实际场景,尝试给出一个数据库架构师的技能图谱,供各位参考:
一家之言: 数据库架构师技能图谱
上图罗列了对数据库架构师的十二项基本能力要求,各项能力的要求不同,我通过左侧的饼图比例大小予以说明。当然能符合全部要求的人,少之又少。公司可根据侧重,有所取舍。
上述技能要求,可大致分为四类:
- 数据自身技能,如数据库、大数据、数据治理、数仓等。
- 关联领域技能,如基础设施、云、容器等。
- 研发方向技能,如 DevOps 等。
- 综合技能类,如业务思维、软技能(如沟通技巧)。
数据架构、数据产品
数据架构:不同于“数据库架构”。数据架构,更强调于顶层设计,需要对数据有全局的思维,帮助企业做好整体数据规划设计工作。
它不在拘泥于某种技术,而是着眼于数据整合、安全、共享、价值、资产等问题。
数据产品:也是一种综合类职位。需要对技术本身有一定深入的了解,但更强调其技术广度。此外需要有产品化思维,能将业务需求,转换为产品功能设计。
解决方案架构、数据库布道者
解决方案架构:往往是从“售前架构”、“技术顾问”等角色体现出来。其核心要点在具备一定技术能力的同时,还要有甲方思维,能够了解用户痛点,能从技术角度帮助客户解决现有问题。这里不光是销售自己的产品,更重要的是给客户带来价值。
数据库布道者:少数的选择,只针对有一定技术影响力的人员才可以考虑。是一种偏向于自由职业者的选择。
数据治理、数据仓库
数据治理:是一项比较“浩大”的工程。随着企业对数据的重视程度越来越高,这一岗位也愈发重要起来。
其强调几个关键过程域的活动,提升企业整体数据应用水平。右图中给出的 DAMA 的过程域图例,供大家参考。
数据仓库:是一个处于转型中的职位,传统的数仓做法,目前已不适应现代企业要求。但其核心的数据建模理论,还是具有指导意义的。
因此各大互联网公司,均有自己颇有特色的数仓实践。可以考虑大厂或行业头部客户作为选择。
大数据、运维开发
大数据:作为大“DBA”的范畴,大数据领域在某种意义上讲也是一种数据库。
当然它有其自身的特殊性,表现为技术分散、变化快、没有统一标准、对研发能力有一定要求等。
DevOps,运维开发:适合有一定研发基础的 DBA 选择。
项目管理、技术管理
项目管理:DBA 是一个比较综合类的职位,在沟通、协调、组织方面,与项目管理有相似之处。因此,可以考虑转型做项目管理类职位。
技术管理:DBA 职位涉及的技术领域较广,如稍加留意可以涉猎很多关联领域。
这与技术管理类对技能的诉求有一定相似。再加上其对软技能的要求,可以考虑将技术管理作为发展方向。
在圈子中也发现过不少高级管理人员,都是 DBA 出身,不无一定道理。
写在***
面对一个充满不确定性的未来,唯一能确定的就是变化。让我们拥抱变化,努力改变今天的自己!
作者:韩锋
简介:早年从事软件开发工作,后因个人兴趣转入数据库领域。有着多年的一线数据库架构、设计、开发经验,曾担任多家公司*** DBA、数据库架构师等职。现就职于宜信,曾就职于当当网、TOM 在线等工作。精通多种关系型数据库,包括 Oracle、MySQL、GreenPlum、Informix 等,对 NoSQL 及大数据相关技术也很感兴趣,实践经验丰富。曾著有《SQL 优化***实践》一书。