时代中的DBA
昨天发了一篇文章后,有几个DBA朋友给我留言,他们也觉得比较困惑,干了十几年Oracle DBA,对目前的状态很满意,因此他们对掉头这个问题十分敏感,也有些畏惧。
实际上昨天的文章并不是劝所有的Oracle DBA掉头去搞国产数据库,而是给那些还在犹豫的人一种疏导。时代变迁,DBA的工作和职责也在变化,甚至很多行业都在变化,希望不变的人有些时候只能是希望,该来的还是会来的。记得2016年的时候,我和一些做维保的朋友小聚,谈到云计算对维保行业的影响的时候,我表达了比较悲观的观点,我认为维保行业在未来几年里将会受到巨大的冲击。当时一位朋友很坚定地说,幸亏我们主要客户是金融,其他行业的维保业务会快速萎缩,金融行业暂时不会,还能撑到我退休。
X86对小型机的冲击产生的影响并没有那么快对整个行业产生影响,甚至2016年以后的一两年里某些行业还出现了业务大幅增长,这是因为一些客户放弃了原厂服务,改用第三方服务。但是进入2020年以后,一切都发生了变化,行业竞争日趋白热化。我那个搞金融行业维保业务的朋友也十分恐怖地发现,2023年下半年开始,在信创浪潮下,金融行业受到的冲击尤为明显。
在维保行业发生的事情很快会在Oracle 服务行业重演,就像当年服务器第三方维保行业在2000年后爆发式增长数年后,Oracle第三方服务也快速增长一样。这个行业市场的变化是多方面的因素叠加而成的,包括软硬件技术的发展、数据库技术的发展、云技术的发展、企业IT管理模式的变化以及每个人都必须面对的国产化替代对IT基础设施变革的要求。这些变化都会让从事第三方服务的DBA的未来前景产生影响。
作为DBA如何面对未来的变局呢?实际上就像开车一样,只有三种选择,坚持往前走,转弯(兼容并蓄)、掉头。选择继续往前走的朋友未来可能会面对更加激烈的竞争,因此就不能以躺平的心态来面对未来,提高自身的竞争力是十分关键的。我昨天也说过,未来的变革对高级和初级DBA的冲击较小,冲击最大的是中级DBA,也就是我们常说的二线。
选择转弯的朋友会选择一条一专多能的路线,继续完善自己的Oracle技能的同时去学习一些开源、国产数据库的技术,从而能够在未来的职场中拥有更好的就业能力。实际上兼容并蓄并不是应对国内信创环境的无奈之举,我所了解的很多和我同时代的国外Oracle大佬,在几年前也已经开始研究PostgreSQL,并且很快在这个领域开始领一些风骚了。拥有十分深厚的Oracle功底的DBA,转而去研究PG、MYSQL这样更为简单的数据库产品,其实也并不太困难。
选择掉头的朋友可能会面临更大的困难,我到底去搞什么国产数据库比较好?我想不妨不要过早下决定。你可以从现在开始学习一些开源或者国产数据库相关的知识,学习PG是一种比较稳妥的选择,很多国产数据库与PG都有一定的渊源关系。在未来的一两年内,某几个国产数据库会从目前群雄混战的战场中冲杀出来,那个时候再做选择可能更为安全。另外一点要注意的是,学习数据库不是买本书看就可以的,需要实践,需要真实的运维场景才能真正锻炼出高手,因此你的选择有时候必须和你的职场发展有关。你的企业在使用什么国产、开源数据库,那么就值得你去认真学习。
实际上随着数据库技术的发展,DBA需要的能力也是在不断变化的。现在的Oracle DBA的能力重点与20年前我们这批DBA已经完全不同了。那时候的Oracle还很不靠谱,两阶段事务故障、逻辑坏块、UNDO数据错误、ITL未能正确清理、长事务回滚、共享池HANG死、CF自死锁等疑难杂症层出不穷,而当时的Oracle服务也没有现在好,澳洲支持中心都是5*7服务的,因此深入理解Oracle的内部原理,独立处置十分复杂的故障,在浩如烟海的MOS NOTES中查找相似案例对于DBA来说是必备的技能。Oracle产品这些年越来越完善了,因此20年前的DBA的主要技能都已经变成屠龙技了,很少能够真正发挥作用。现在的Oracle DBA可以把主要精力放在如何把Oracle用好,如何让应用开发人员更好地使用数据库上了。遇到一些比较复杂的故障,先恢复运行,然后在MOS上开SR,在Oracle OCS十分周到的服务指导下分析与定位问题就可以了。
时代在变,个人变亦或不变,都出于自己的意愿以及周边的环境。不考虑自己的职场环境,不考虑你所面对的周边生态,一味求变也不是特别靠谱的,因此选择哪一条路还是要出于本心,搞数据库的面临的变更为突出,想不变其实并不容易。当年我搞Oracle数据库的时候,曾经和朋友说过,Oracle 9i是我学习的最后一个版本了,再出新版本学不动了,没想到这句话说了二十年后,我连19C都学了,甚至还可能要去学点23C,这些难道不也是变吗?