在当今快速发展的数据库技术领域,DBA 面临着一个重要的抉择:是拓展羽翼,广泛涉猎多种数据库技术和相关领域知识,以适应不断变化的技术环境和多样化的业务需求;还是深耕一门技术,成为该领域的专家,在特定的数据库技术上达到极致的精通程度。
第二期【专家有话说】系列专栏则将围绕:DBA 的职业发展更应拓展技术拓宽广度、还是专注单一技术追求深度 展开,我们邀请到了戴明明、刘永甫、熊灿灿、刘华阳、白瑞钧和薛晓刚这6位经验丰富的数据库专家分享自己的看法。颇有意思的是,他们分别立足不同的出发点分享了自己的见解,也均提出了切实可行的发展建议,篇幅较长但内容真诚,希望大家能耐心阅读、找到自己内心的答案。
🎙️戴明明
数据库技术最近几年的变化非常大,主要体现在两个维度:
- 数据库技术本身的变化:数据库都或多或少的引入了一些新技术、新特性,比如 AI 能力、向量能力,还有就是数据架构的变化,高可用架构从传统的主从变成了分布式架构。
- 数据库类型的变化:十多年前我们做 DBA 的时候,主流的就两个:Oracle 和 MySQL,只要掌握一个类型就可以满足日常工作。 但近几年环境比较复杂,出现了很多的国产数据库,这里面包括传统的关系型和分布式架构。而且随着这两年大模型的兴起,大模型依赖的向量数据库也突然崛起,所以这么多类型给 DBA 的运维也是带来的很大的挑战。
基于以上两点的变化说明,可以看出来,不管对之前的 DBA 老人,还是以后的 DBA 的新人,在数据库的技术选型上,目前还是需要掌握多种类型的数据库。
个人认为除非是原厂的技术,否则很难做到深耕一门技术。现在一个 DBA 至少需要掌握 3 种以上数据库,考虑到学习成本和日常工作的支撑,很难做到深耕一种数据库,更多的都是在实际工作中边学边用。 所以还是要根据具体的工作情况,在工作相对较忙的情况下,那就根据需要学习,如果工作不是很忙,时间相对富裕,那么可以根据自己的兴趣选择来学习。具体也可根据个人习惯决定,我是 Oracle 技术出身,近几年才学的国产数据库,我的学习方法是集中突击,先掌握基础运维,然后在工作中边用边学。
关于如何学习这里为大家提供几点参考路径:
- 找到适合自己的学习方法:每个人都有自己的学习方法,十几年前我们学数据库的时候,资料相对较少,都是通过自己不断的测试、验证来学习。 现在学习数据库最不缺的就是学习材料,反而需要做减法,需要从众多的资料里面选择最适合自己的学习材料。
- 勤加练习:实践出真理,数据库技术的学习,一定是通过不断积累,试错成长起来的过程。 这里的试错是一个非常重要的成长过程,只有在学习中多犯错,才能在生产中少犯错。
- 和数据库厂商保持友好的关系: 这点看似和技术无关,其实关系很大。 多参加数据库的技术社区,保持技术交流。 现在国产的的文档不是很完善,而且有些更新也较慢,存在数据库软件更新了,文档没有更新的情况,这个目前看是通病,所以要学习国产数据库,就必须和相关厂商的技术社区保持沟通,这个对技术的学习很有帮助。
最后,还是开头说的除非在原厂,否则很难深耕,一是受限材料,有些材料只有原厂自己才有,二是技术迭代较快,架构的变化,新特性迭代,每个版本都有很大变化。 如果说真的很想深耕某一门技术,那就直接去原厂。
🎙️刘永甫(老虎刘)
1、 目前市场上最多的DBA还是 Oracle DBA,如果能把复杂的 Oracle 数据库维护好,,再转向其他数据库也不会差;
2、 不管是纯自研国产库数据库,还是在 MySQL/PostgreSQL 基础上的改良国产库, 都会借鉴这两个开源数据库的源码,建议 Oracle DBA 补充一下PostgreSQL 和 MySQL 的技术知识储备。
3、 很多企业的核心库,或者大公司业务复杂数据量大的库,迁移投入大,风险高,,如果不是被强制要求,基本上不会动,一段时间内仍会保留使用 Oracle,这些 DBA 也不必担心 Oracle 技术没用,相反对 Oracle 技术要求会比较高。
4、 很多 Oracle DBA 在测试和使用国产数据库的过程中,有很多的抱怨,最多的就是性能问题,这也是国产库最大的短板。有问题也是好事情,,如果 DBA 能够给出解决方案,更能体现价值。
5、 SQL 优化器是数据库的核心技术,涉及的算法最多也最复杂,国产库要想短时间对标 Oracle 也是不切实际。如果是从 Oracle 迁移的复杂业务系统,可能需要大量的改写,擅长 SQL 优化的 DBA 会更受欢迎。随着市场的不断扩大,国产库的优化器技术也在不断升级迭代,差距会越来越小。
6、 Oracle 数据库的优化技术和思路,对其他数据库来说很多是通用的。但是这一块技术却是很多DBA 都比较欠缺的,单纯的运维,技术含量越来越低,尤其是中小系统上云之后。建议 DBA 多学习一些优化技术,如果能够培训和指导开发,那就非常有竞争力了。
7、 国产库需要学,知识面要扩展,如果都是泛泛了解,也很容易被降本增效。建议在某个重要的技术点上有所侧重,重点发展,一专多能。SQL 优化是通用的,也是能够拉开差距的一项技术,值得拥有。
8、 墨天轮是个很好的学习平台,有文章、有文档、有视频、有分类,可以算是国内首屈一指的数据库技术平台。顺便给那些想在“问答”栏目得到帮助的人提点建议,描述问题时能稍微用点心,多提供一些相关信息或许能更快获得解答。
🎙️熊灿灿
DBA 应该拓展羽翼还是深耕一门技术,我的回答是"小孩子才做选择,我全都要"。其实这个话题本身也算一个伪命题,就以 PostgreSQL 来说,数据库相比其他基础组件,占据着比较核心的位置,向上是各种应用的支撑引擎,向下调动计算、网络、存储等基础资源,和软硬件息息相关,因此,要精通 PG,你不仅要懂操作系统、软硬件等,其次还要有一定的 Coding 与 debug 能力,这样遇到疑难杂症了,你才不至于无的放矢。
其次,我们还要追求成长的加速度,数据库技术在不断迭代更新,日新月异,我们只有不断学习和提升自己的技能,才能保持自己的竞争力。每天晚上我会雷打不动花半小时至1小时左右,用于学习新知识,拓展视野,了解行业动向等,你说比较忙没有时间怎么办?其实时间挤一挤总是有的,通勤路上看一下,睡前少刷会抖音、微博等电子榨菜等,就看如何分配自己的时间了。
再者,学习还要掌握方向,成为"紧缺性"人才,俗话说物以稀为贵。当你不知道该往那个方向学的时候,你就向领域内优秀的人看齐,找到引路人,看他们在做什么,低头拉车的同时也要抬头看路,就好比职场,吭哧吭哧埋头苦干,这样只会变成老黄牛螺丝钉,火线之下的大头兵才有机会,所以洞察行业方向、了解发展趋势也至关重要。
最后,在当下这个 VUCA 的时代,不确定性、模糊性、复杂性和变化性等特征都非常明显,我们还要尽早发展我们的第二曲线,所谓“第二曲线”,指的是在第一职业曲线还未达到顶峰前,开始探索和发展另一项职业技能。除了自己的吃饭本领要持续深耕之外,我们还应尽快尝试涉足其他领域,走出舒适圈,比如管理、沟通、社交、人脉等等,为以后角色上的转型尽早铺路,打好基础。
🎙️刘华阳
竹板这么一打,别的咱别说,说一说 DBA 到底是,宽如海来,还是深若井。
有人说,深若井来,能成大专家;也有人说,宽如海来,能威震四方。
快板咱们不打了,咱们正经说一说这个话题,看问题大部分人都愿意往好里看,往愿望所及的地方看。实际上,生活中,工作中是没有那么多愿望所及之处的,看问题,想问题,咱们要逆向着想。
我也有一个问题,问看到文字的诸位,你要是终其一生,成为不了专家呢? 你要是耗费精力,学了一堆,但威震不了四方,你又能如何?在你耗费精力后,穷尽心力后,你不能接受哪个呢? 你能接受那个? 这是我给大家的一个问题?
如果继续问我这个答案:我又要问一个问题,你是 I 人还是 E 人,每个人都有自己的性格,本性不能移,你要对自己有清晰的认识。如果你不愿意灵活多变,但喜欢探究事务的根本,喜欢静下心来排除干扰,那必然是钻研一门,在当下有希望的技术。反观,你和我一样,对很多事物都抱有好奇心,愿意探究和发现自己的各种潜力,那么多学一点对你是合适的。
最后重要的一点,你的起点。 起点低就别想别的,先把吃饭的技术拿捏好,其他的就先别想了。如果你起点高,自然扩展,扩展再扩展,利用你手中的资源。让自己站的在高一点,飞的在远一点。
相信此时聪明的你,一定心里有了答案,我是你邻家大哥,加油吧朋友!
🎙️白瑞钧
没有绝对的二选一,具体选择可因人而异。目前个人已知的有三条推进走的路子
- 甲方 DBA、架构师、运维工程师:
如果想要在甲方运维好数据库,个人建议是将数据库的知识体系学到高级水平,保证不犯基础错误,配置合理,一般多数情况是不会出现问题的。但相对甲方的横向拓展面相对来说是最广的,需要了解网络、Devops、存储、系统等各个方面,要有整体的大局观。
- 乙方 DBA
做乙方要更为专精一些,深度我建议某一种数据库达到专家级别,其他类型数据库(1~2种)达到高级。面上来讲,要会一些其他方向用于排障的知识。因为在数据库方向,需要有能力解决掉甲方很少遇到,但遇到了解决不掉的问题,还要处理一些甲方想做但懒得做的事情。
- 厂商 DBA
厂商 DBA 要是三种 DBA 中,懂的最为专精的数据库人员,要到达代码级别。数据库的各种机制就相当于业务,代码就相当于使用的框架。要基于这些对于 bug 进行解决,对于各种需求要进行研发,或进行完善。
🎙️薛晓刚
首先这里拓展羽翼和深耕一门技术,每个人理解不一定一样。
有的人会理解拓展羽翼是从一个数据库扩展到多个数据库,这叫拓展(对这种理解下文简称 A)。而深耕一门技术是指不管外界风云变化,只钻研一种数据库,达到这个领域的顶尖选手(下文简称 B)。
也有的人会理解拓展羽翼是从数据库扩展到架构或者开发,这叫拓展(下文简称 C)。而深耕一门技术是只从事数据库,不做跨界,达到数据库领域的深耕(下文简称 D)。
先说结论,ABCD 其实都对,最主要是需要结合自己的情况判断。
对于 A 的认识来说,是需要的。现阶段一个企业中有很多种数据库技术栈已经不罕见了。当然也有一些公司是只有一种数据库的。那么对于不少企业来说就需要对 DBA 有一个新的要求就是要扩展,扩展到多个数据库技能。所以在这种企业中岗位职责就需要 DBA 做拓展,DBA为了适应需求也不得不去拓展。
而对于 B 的认识来说,任何一个技术做到了顶尖的极致都是不可多得的人才,只要这个技术还在使用。当这个(数据库)技术上遇到了问题,别人都无法解决只能看顶尖人物才能解决的时候,这就凸显出极致的价值。
对于 C 的认识来说,也是需要的。数据库是和 CPU、操作系统和存储(当然还有网络等诸多因素)打交道的产品。所以这些要都了解,甚至必要时候还有懂一些开发语言。这样看待问题能更加全面,尤其是可以站在开发的角度看问题。我写的《DBA 实战手记》就是这样,给很多不懂数据库的开发看看应该怎么做,还有给一些DBA看看开发为什么这样做。从两边两个视角看。
但对于 D 的认识来说,当你的精力有限时,则不可能面面俱到。能做好数据库本身已实属不易。
以前参加作文竞赛时有道题目: 做学问是不是要由博返约?其出处是: 《论语·雍也》:“子曰:‘君子博学于文,约之于礼’。”简称为由博返约。解决学习的广度和深度的矛盾或者说解决知识的广博与专一的矛盾 ,“知识要广,但必须有一个中心加以统帅”。
博学以获得较多具体知识,返约在具体的事物分析基础上进行综合、归纳,形成基本的原理、原则、观点。博与约两者是辩证的统一,学生在掌握知识的时候就是要把复杂的知识系统化,把握住知识的核心。
当然 ABCD 四种认识依然都是值得肯定的。我个人的观点和我当时作文竞赛的结论一样,开始时候由约到博,达到一定程度由博返约。
在探讨 “DBA 应该拓展羽翼还是深耕一门技术” 这一问题时,不同的专家有着各自独特的见解。戴明明从实际工作需求与自身经历出发,建议大家掌握多种数据库,并根据需求与兴趣进行学习。刘永甫主要从市场现状和技术需求的角度出发,针对Oracle DBA提出建议,强调学习优化技术以及扩展知识面的重要性。熊灿灿则从个人职业发展角度出发,主张DBA既要深耕技术又要拓展羽翼,并且给出了具体的学习方法和发展方向建议。而刘华阳更侧重于从个人的性格特点和起点条件来引导DBA自己做出选择。白瑞钧的回答主要建立在不同类型DBA的工作职责和要求的立场上,并分别给出了确切的建议。而薛晓刚则辩证地分析了不同理解下的具体情况。
可见,这个问题并没有绝对的答案,关键在于DBA们要对自己有清晰的认识,明确自己的优势和不足、树立职业发展目标,从而做出适合自己的选择。同时,在这个技术不断变化迭代的行业里,持续学习和适应变化也是必不可少的。希望大家能找到属于自己的答案,坚定地走下去!
本文已收录至《墨天轮专家邀稿合辑:论道数据库 解读新发展》。除专家分享观点外,在上周举办的墨天轮社区辩论赛第二期的同主题辩论中,我们也收到了来自用户的不同观点,现已整理成文,欢迎大家参考、分享您的观点、见解。
评论


