昨天TechTalk公益社区的首场线上交流参加的DBA朋友很多,大家也很热情。昨天线上交流的时候因为时间有限,有些观点并没有表述得很完整。今天早上我就这几个问题重新思考整理了一下,分享给大家。
讨论1:“随着运维越来越智能,DBA和AI的结合,未来DBA职业的发展”。
AI的发展趋势是我们所无法左右的,英伟达的老黄甚至认为通用人工智能(AGI)将会在5年内出现,可能这个观点有点乐观,不过也不会太不靠谱。如果真的在5年左右产生AGI,那么在15年到20年左右,AGI将会逐渐成熟,并深度影响整个世界。因此DBA要做好与AGI共存的准备。不过大家也不用过于焦虑,AI可以成为DBA前所未有优秀的工具,而不会拿走DBA的工作。只不过那时候的DBA在技能和从事的工作内容上会有所不同,能够与AI更好融合的DBA具有更大的优势。如果我们想要拥抱这个趋势,现在开始可以从以下几个方面去做些准备。
1)以更加开放的态度去接触AI,而不是出于恐惧或者其他原因故意远离它。现在的AI在DBA领域可能还很弱智,但是它的成长是很快的。今早认可它,接触他,使用它是更好的态度。
2)有开发经验的DBA,除了会写SQL外,最好再去学会PYTHON编程,PYTHON很简单,我这个50多岁的人没有看任何书籍,仅仅依靠以前C语言那点功底,遇到问题问问同事,也可以写一些PYTHON脚本,改一些PYTHON代码了,所花的时间不到半个月。
3)可以去尝试利用PYTHON和一些算法去分析你手头有的数据,哪怕是ASH,AWR数据都可以。从生产环境中导出这些数据,在自己的电脑上尝试用一些简单的AI算法去做异常检测,去做模式分析和归类分析,你会发现一个全新的世界。当然我这仅仅是给有兴趣的朋友的建议。
4)在日常工作中尝试使用各种免费的大模型来进行知识探索,问题分析和搜索。我经常使用newbing、星火、文心等大模型来学习一些新的国产数据库的知识,效果比直接看文档要好得多。甚至我也使用大模型来帮我分析一个复杂的执行计划,其效率也比我一点点看要快得多。用好大模型工具,可以帮我们减轻很多工作负担。
5)有条件的朋友可以尝试线下部署一个大模型,CHATGLM6B3、Yi-34B-Chat、Qwen-7B、Baichuan2-13B等模型都可以在一块3090显卡上跑起来,有些模型通过量化缩容后甚至可以在一块3060上跑起来。如果手头资金有限,咸鱼上买个二手显卡也是可以的。利用这些离线模型,可以尝试建立你自己的本地知识库。蚂蚁开源的DB-GPT开源项目是一个不错的框架。
讨论2:“在Oracle长期占据主导地位的情况下,国产数据库的崛起给DBA的未来带来的影响和选择”
国产数据库替代这件事正在逐渐兴起,这是必然的趋势,中美科技之争没有十年八年是看不到结果的,所以我们也要尽快调整心态,接受这个事实,并为此做出一些准备。
1)开源数据库原本对Oracle产生的冲击因为国产数据库替代的出现而会加快速度。很多有钱的行业的核心系统将会从Oracle上迁移下来。这些衣食父母身上发生的变化必然会影响到以此谋生的DBA群体。短期来说这个影响还不会特别大,就像当年X86替代小型机对硬件维保行业的影响一样,一些大型维保公司的硬件工程师直到最近这两年才感受到瑟瑟的寒意,这件事已经开始了差不多十年了,不过这件事必然会到来。
2)过度的焦虑也是没必要的,因为无论用什么数据库产品,DBA依然是不可或缺的。只不过我们要为自己的未来做好准备。目前的Oracle DBA,如果你的技术不错,学习能力很强,对Oracle也是充满喜爱,那么就更深入的学习和研究,成为真正的高手,在未来Oracle 高级DBA的职位依然会很吃香,Oracle的存量用户依然是相当多的。Oracle的初级DBA工作机会依然会存在,安装部署,日常维护和扩容这些工作依然有大量的工作机会,只不过这部分工作的薪资水平可能会比较低。中级DBA受到的冲击可能会比较大,因为关键行业这方面DBA的需求会在未来三五年后开始减少,同时因为AI技术的发展,部分这方面的工作会由掌握了AI工具的初级DBA完成,也会对中级DBA产生冲击。因此中级DBA可以考虑往高级发展,或者在未来几年里完成转型。
3)在最近数年中,大量的系统要做迁移,数据迁移工程师的工作机会会很多,大家也可以考虑通过这个机会去完成转型,并通过这个机会去了解和熟悉国产数据库。
4)有机会去某个数据库原厂工作也是不错的,特别是年轻的,没有太多负担的DBA,先到某个原厂去干上几年,哪怕不能长期干,也可以充实一下你的知识库。
讨论3:“面对近300种国产数据库,如何选择合适的技术栈和发展方向”
我90年代初开始使用数据库,用过DEC/RDB、VAX/RMS、foxpro、Interbase、Oracle、Sybase ASE、Informix等数据库。最终选择了Oracle作为未来的主攻方向,我的经历可以为现在的DBA提供一些参考。
1)当时我从这么多数据库中选择Oracle,并不是因为Oracle当时是最好的数据库产品,而是因为Oracle足够复杂,并且不是那么易用,另外周边的很多客户都在用Oracle,而且Oracle很贵,用户舍得在服务上花钱,所以我选择Oracle作为主攻方向。在未来DBA选择某个国产数据库作为主要方向的时候,也可以用这个思路去考虑问题。首先看看周边的大客户都在用什么,看看哪个国产数据库的销售比较好。另外就是你不要去选择那些本身也卖不出多少钱的数据库产品作为你的主攻方向,用户都舍不得花钱买数据库产品,怎么会舍得花大价钱去花钱请DBA?
2)目前还是国产数据库在大型系统中应用的起步阶段,还没尘埃落定,因此还不急着做出选择。24年将会是一个十分关键的年份,明年这个时候,我们可能看得更清楚了。如果不是十分迫切要做决定,等可能是最好的选择。
3)如果你真的想学一个国产数据库,但是又找不到方向,我建议学习一下PG吧。目前很多国产数据库在血缘上都与PG有渊源,openGauss、Gaussdb系列的数据库在很多方面也与PG有相似之处,你在PG上的学习,今后对你转向某种国产数据库可能会有很大的帮助。