1

数据库老炮逐浪AI和国产化:DBA永远无法被替代 - 更多 - dbaplus社群:围绕Data、Bloc...

 1 month ago
source link: https://dbaplus.cn/news-160-5947-1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

数据库老炮逐浪AI和国产化:DBA永远无法被替代

徐戟(白鳝)、薛晓刚、张瑞远 2024-03-28 10:56:42
近几年,人工智能猛然发展、国产数据库迅速崛起,行业带来了前所未有的变革。作为DBA,如何在这波浪潮中找到自己的位置,乘风破浪、迎接未来呢?

为此,尚雷老师出品&主持,同时邀请徐戟(白鳝)、薛晓刚、张瑞远三位老师就“DBA如何在AI与国产数据库浪潮中乘风破浪?”这一话题展开了深入探讨。

分享概要

  • 话题一:智能运维趋势下,DBA如何携手AI开创新未来?

  • 话题二:Oracle霸主地位仍稳固,国产数据库同样崛起,DBA如何抉择未来之路?

  • 话题三:300+国产数据库,如何选定最佳技术栈与发展路线?

  • Q&A环节

以下为访谈实录&精选互动问题:

 一智能运维趋势下,DBA如何携手AI开创新未来?徐戟(白鳝)

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开源项目是一个不错的框架。

薛晓刚

依托一些AI工具能帮我们缩短学习的周期,白鳝老师在这方面是我们的榜样。我个人观点觉得AI不会替代DBA,而是帮助DBA。

举个例子,医院的医疗设备通过血液检查,无需人工干预,可以直接得到各项指标的正常与否,就代表不要医生了?不是的,得到自动化的结果后,要结合过往病史,以及是不是对某些药物过敏才能对症下药。同样,要找到问题SQL,要分析是外购产品写的、还是自己开发团队写的?才知道是否能进行改写,还是要采用其他特殊手段解决问题。

再如B超或CT检查 ,如果没有专业的知识,再先进的技术都不能定位问题。前段时间我就遇到一个主库正常、从库延迟的问题:我通过一系列手段发现从库写入出现问题,最后发现不是SQL引起的,而是共享存储。

AI可能会得出结论,但是不能继续去找共享存储的问题所在,这就需要人工介入了。数据库是和操作系统以及硬件打交道的产品,AI是一方面,实际解决问题是另一方面。

现在数据库可观测性做得较好的,比如Oracle,简单的故障看一下AWR就知道大致问题,具体深入定位问题、解决问题,未必可以不要DBA。简单的、没有索引的问题,数据库甚至自己可以解决。没索引的全表扫描AI可以部分解决,N年前的Oracle也能实现。但是没有where条件的应该如何解决?

这是AI时代给我们创造的机会,要我们去干预。需要专家出手去解决的都是大事,把DBA从低价值中解脱出来,去做一些扩大自身影响力的工作。

这就像感冒发烧,不吃药一周能好,吃药7天也能好;大病还是要看医生,甚至要到大医院看医生。

于数据库而言,不少高消耗的SQL会造成负荷,智能运维可以快速定位到这个SQL,这个要比KV的监控强很多。那么这个SQL是怎么产生的?AI可能会告诉我们一些原因。但这是不是真正的原因?就需要结合业务来看待问题,而AI无法侵入到每个业务中去

不过AI在有些方面确实出色,帮助我们发现一些知识的盲点,甚至帮我们快速写Java和Python,大大缩短了我们学习的成本和周期。

张瑞远

目前很多公司都在探索AI以及AI运维相关的领域,且做出了一些产品并投入了生产使用,并在日常的运维中对DBA起到了辅助作用。

自ChatGPT出来后,我们也陆续测试过ChatGPT 3.5、4等多个版本。如白鳝老师所描述的,当前AI没有那么完善,但不可否认的是,它对我们日常和工作来说已是个非常好的辅助工具,通过其版本不断迭代,它的准确度也是越来越高。

当前国产数据库百花齐放,但每个人的精力有限,很难接触到那么全面的知识,尤其是很多数据库还是闭源,想要去全面了解是很难的,我之前是从事Oracle工作的,后来转行做OB,深入了解其体系结构的过程中,花了不少时间。但如果我能有一个AI工具或平台,且能给我提供一些较精准的答案,还能借助其完成一些简单的安装部署和参数调整,就可以极大降低学习难度和成本。

我觉得AI降低了初级DBA的入门难度,假如有3分的能力,借助AI就可以达到6分的效果。

一些“疑难杂症”在知识或者训练度不够的情况下,AI可能会给出一些谬误的结论,对于更高层级的DBA可以根据自己的知识进行判断。

尽管AI不那么完美,但随着时间发展和产品迭代,它总会变得越来越好,未来AI一定会在日常生活和工作中占有一席之地。

 二Oracle霸主地位仍稳固,国产数据库同样崛起,DBA如何抉择未来之路?徐戟(白鳝)

国产数据库替代正在逐渐兴起,这是必然的趋势。但中美科技之争没有十年八年是看不到结果的,所以我们也要尽快调整心态,接受这个事实,并为此做出一些准备。

1)开源数据库对Oracle产生了冲击,国产数据库替代的出现对其的冲击更是加大。很多有钱行业的核心系统将会从Oracle上迁移下来,这些衣食父母身上发生的变化,必然会影响到以此谋生的DBA群体。短期来说,这个影响还不会特别大,就像当年X86替代小型机对硬件维保行业的影响一样,一些大型维保公司的硬件工程师直到最近这两年才感受到瑟瑟寒意。

2)过度焦虑是没必要的。因为无论用什么数据库,DBA依然是不可或缺的,只不过要为未来做好准备。即使是Oracle DBA,如果技术不错、学习能力很强,对Oracle也是充满喜爱,也可以更深入学习和研究,成为真正的高手。

在未来,Oracle高级DBA的职位依然会很吃香,因为Oracle的存量用户依然是相当多的;Oracle的初级DBA工作机会依然会存在,安装部署、日常维护和扩容等工作依然有大量的工作机会,只不过薪资较低;中级DBA受到的冲击可能会较大,因为关键行业Oracle DBA的需求会在未来三五年后开始减少,同时因为AI技术的发展,部分工作会由掌握了AI工具的初级DBA完成,因此中级DBA可以考虑往高级发展,或者在未来几年里完成转型。    

3)在最近数年中,大量的系统要做迁移,数据迁移工程师的工作机会增多,大家也可以考虑通过这个机会去完成转型,并通过这个机会去了解和熟悉国产数据库。

4)有机会去某个数据库原厂工作也是不错的,特别是年轻、没有太多负担的DBA,先到某个原厂去干上几年,哪怕不能长期干,也可以充实一下你的知识库。

薛晓刚

别人学Oracle,我去学习Oracle;MySQL热了,我去学MySQL;国内大数据炒作起来,去学了大数据,只是无用武之地;PG在中国有抬头的趋势后,我也去学了PG;随后还有达梦、TDSQL、TiDB、OB等……注意我并不是转移阵地,而是扩张阵地。

大家在工作中少不了NoSQL数据库。有KV的Redis、文档的MongoDB、列式的GP、CK、SR,还有Oracle的图数据库、时序数据库、全文索引等,我全赶上了,我还优化过SQLServer和DB2,还涉及过MQ、Kafka、PulSar等……经历了这么多,大家可能会问怎么选呢?

当初要知道怎么选,我就不会这样了。就像学习好的人,说他考前没有复习就能考高分,对你来说可能是并不适用的。同理,我的经验可能也不适用他人。我个人看到新东西就会去学习,哪怕就懂个皮毛,但是精力也有限,量力而行

大家心里彷徨该怎么办?我这里有几种方法供参考:

1)工作后,我从来不担心自己失业,这家不行换一家,哪里都是Oracle。但是现在比较割裂,国产数据库遍地开花,使我们换工作难度上升了,困境确确实实摆在面前。

我有一篇公众号文章 《相逢一笑泯恩仇》,MySQL和PG的恩怨大家都知道,但无非就是个选择之争。未来有时候可能要看运气,想要更保险,只能投入多份经历去押。

2)在各种数据库学习群里,可能有的水火不容,我自己的群希望大家放弃门派之争。单用商用成本高,单用开源搞不定,所以既不可能都商用,也不可能都开源,每种数据库都有它自身的场景,再加上如今的国产化。

有一个笑话:有个公司从Oracle切换到了MySQL,原来稳定的系统总是出现故障,后来请了个技术总监,带领技术团队进行了针对数据库的适配改造,经过一段时间后,系统稳定了,但数据库成本更高了,原因是总监太贵了!所以将来一个系统从Oracle切换到了国产,也要做这个适配,那么大家就是那个总监了……很贵的……

我个人还是佩服工匠精神。只做一种数据库,其实也饿不死,单一技能做到极致也可以碾压常人,只是路窄。

总之,当年我是因为主备技术栈让我不焦虑了。

张瑞远

作为一线DBA,我见证了数据库技术的迅猛发展和转型,从Oracle到国产数据库的转换不仅带来了挑战,也开辟了新机遇。数据库数量的激增要求我们拥有更高层次的技能,面对多样化的数据库产品,为DBA相关的职业人士提供了更广阔的舞台。

职场生态多样,有的人对当前状态感到满足,采取躺平态度;有的因不满薪资或工作环境而感到焦虑,渴望更好的发展;还有的因技术栈与公司需求不匹配而寻求转型。对于我而言,处于第三方维保公司的稳定环境,面对国产化需求,我选择积极适应新技术和产品。

面对变化,有的人可能在舒适区内等待政策驱动的项目;有的人则决定走出舒适区,寻找新的挑战和机遇。市场的不确定性像股票市场一样,未来可能只有几家主导厂商,因此个人选择变得尤为重要。

不少公司从Oracle转向国产化,面对这一市场的变化,要主动学习和适应新的数据库技术,以保持自己的竞争力,并为客户提供更高的价值。这种主动拥抱变化的态度,对于个人和企业来说都是至关重要的。

 三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有渊源,学习PG,今后对转向某种国产数据库可能会有很大的帮助。

薛晓刚

个人认为,国产数据库到最后有没有30家都不好说。企业生存是第一位的,当前的经济形式也会加速优胜劣汰的过程。除了几个做得好的头部企业,大部分国产数据库厂商,比诸位DBA还要焦虑呢!

张瑞远

首先,公司战略是决定数据库转型是否必要的重要因素之一。公司决策采用某个数据库,员工就会学习和掌握这种数据库。这种情况下,转型成为了一个必要的步骤,不仅为了项目的顺利进行,也为了个人职业的稳定。

其次,市场信任度也是一个关键的考虑因素。以汽车行业为例,消费者可能会犹豫是否购买来自新兴车企的汽车,担心该企业可能会突然倒闭,导致没有后续维修和保养保障;相反,选择一家已经建立了良好信誉的企业,不仅有价格和品质优势,还不太可能在短时间内消失,因而能够提供稳定的后续服务。在数据库领域也是如此,选择一个被广泛认可、并在行业内有良好口碑的数据库产品,可以减少未来的不确定性。

再者,选择适合自己行业的国产化数据库,也是一个策略。在不清楚如何选择时,可以参考同行业内头部企业的选择,观察他们采用了哪些国产化数据库,并且将这些数据库应用于核心业务。通常企业不会轻易更换核心业务所依赖的数据库,这样的选择可以作为一个信号,表明这些数据库可能会提供一个相对稳定的发展前景。

最后,如果在选择过程中仍然感到困惑,可以考虑学习那些开源且在行业中有深厚基础的数据库,如PG和MySQL。这些数据库不仅拥有强大的社区支持,而且因其开源性质为学习和转换提供了灵活性。

在数据库领域,掌握一种数据库后,转学其他数据库通常会更加容易。无论是集中式还是分布式,拥有深入的数据库知识,可以帮助您更快地适应新的数据库系统,从而加速个人的成长和学习速度。

Q&A

Q1:作为DBA,如何学习和使用AI,为自己的能力加持?今后的职场上更加需要怎样的复合型人才?

徐戟(白鳝)大约在2016年,我开始接触到AIOps概念,并深信AI能够解决传统技术无法应对的许多问题。面对专家培养的困难和一个需要在全国范围内优化的大型项目,我尝试通过AI技术找到解决方案。虽然最初对ALPS抱有极大热情,但随后的探索让我感到失望,意识到不能过度依赖AI,但仍然认为我们应该认真对待并利用AI技术。

我发现通用大模型,如GPT-4,对运维和数据库领域特别有用,尤其是结合了微软搜索的新版newBing,其在数据库知识方面的能力大大超出了传统模型。通过具体测试,新版newBing完美回答了我设置的数据库问题,显示出其卓越的基础能力。

我也尝试利用这些技术工具进行知识管理,个人实践了搭建私有AI工具来整理知识库,验证了其实用性和未来的商业潜力。

我建议学习编程和算法,通过这些技能进行数据分析和异常检测,提升在AI领域的竞争力。同时,参加如AIOps全球挑战赛等竞赛,不仅能促进学习,还能实践AI技术的应用。通过积极探索和应用AI技术,可以在实际工作中获得显著效益,并为个人技能发展和知识管理提供强大支持。

Q2:在DB-GPT的测试过程中,模型使用QLoRA微调后,codeLlama 13b的准确率有显著提高。但对DBA而言,80%的正确率,我们能不能接受,还是说AI终究只能用来参考?

徐戟(白鳝):在不久前,我便开始探索DB-GPT(一款由蚂蚁团队研发的开源工具),其支持多模型并能生成SQL语句,吸引了我的兴趣。我与其开发团队已有频繁交流,尽管这一工具刚问世不久,但可以支持多种模型以及某些代理,通过简单的语言即可生成SQL,尽管这种生成的准确性依赖于所采用的基础模型。

近年来,也有人询问关于可以本地部署的国产化模型。这些模型通常较小,从6B到7B不等,更大的模型需要更昂贵的硬件支持。未经过微调,这些模型在准确性上往往不尽人意,主要是因为它们并非专为DBA设计。

当然,市场上也存在一些专为运维领域设计的模型,尽管它们在生成SQL的准确率上尚有不足,但在特定场景下,例如生成Spark SQL或AI for BI应用的脚本方面已经开始显示其潜力。然而,直接在生产环境中生成高效SQL仍然是一个挑战,尽管这并不意味着未来也无法实现。

随着大模型性能的快速提升,如从2022年的GPT 3.5到目前国产模型的进步,我坚信未来将能够生成高质量的SQL。目前我们正在尝试AI for BI应用,并观察到对于基础数据有准确描述时,模型能够生成相对准确的表关联SQL。然而,面对客户数据库中数十万张表的复杂场景,自动处理和元数据整理仍是一个巨大挑战。

此外,我对未来几年技术的进步抱有乐观预期。如Oracle在其大会上提出的,通过大模型生成SQL的功能目前还不完善,可能仅是一个原型,但我相信,随着技术的发展和模型的完善,这一情况将会有所改变,未来这些工具将成为我们不可或缺的助手。

Q3:29岁、工作5-6年、江苏DBA。二线城市DBA职位较少,工作内容不复杂,管理的数据库数量有限、架构简单,且日常操作较保守。这种情况下,是否应该把国产数据库看作新起点,并考虑去上海等大城市重新开始?或是否应该深耕巩固Oracle等传统数据库,再去考虑新领域和新机会?

张瑞远

1)市场需求和趋势:调研国产数据库的市场需求和发展趋势。如果国产数据库的市场份额和需求正在增长,那么学习国产数据库技术可能会给您带来更多的职业机会。

2)个人兴趣和职业规划:思考您的个人兴趣和长远职业规划。如果您对国产数据库有浓厚的兴趣,或者认为它符合您的职业发展目标,那么转向国产数据库可能是一个好选择。

3)技术栈多样性:掌握多种数据库技术可以增加您的市场竞争力,使您能够适应不同的工作环境和需求。

4)地理和家庭因素:考虑搬迁到大城市是否对您和您的家庭来说是可行的,以及这是否符合您的生活规划。

5)学习资源和环境:评估您能够获取的学习资源和环境,是否有足够的条件支持您学习新的数据库技术。

6)风险和回报:考虑转向新技术所带来的风险和潜在回报。新技术可能需要更多的学习和适应时间,但同时也可能带来更高的职业发展潜力。

7)现有技能的深化:您已经有五到六年的Oracle等传统数据库经验,深化这些技能可能会让您在现有领域内更加专业和抢手。

尝试与行业内的其他专业人士交流,寻求他们的意见和建议。同时,您也可以考虑逐步过渡,即在保持现有工作的同时,通过兼职项目、在线课程或个人学习等方式来探索和学习国产数据库技术。

记住,职业发展是一个长期的过程,任何决定都应该综合考虑个人情况和市场环境。

薛晓刚地域问题是存在的,例如同类岗位北京的比上海能多出30%。如果想攻国产数据库,那就去那些已经有国产数据库部署的公司;如果不确定学习什么,去看看你想去的行业和公司,他们用什么,就去学习什么。

当然,背井离乡的我,多说一句和技术无关的,异地的医保社保、住房租房、子女教育等问题都要考虑。如果上有老和下有小的请注意了,工作和这些比起来根本不算什么。

Q4:考量国产化改造、运维难度、各种性能量化标准及数据库迁移难度等,同时还具备主流、有安全认证、完全自主产权,且在信创名单里的国产数据库有哪些?哪几个能成为头部选择?

徐戟(白鳝)首先,我想借此机会和大家探讨一下关于"信创"的一些细节。许多人可能对信创有一些误解,认为它是对所有系统的一个强制性要求。实际上,信创主要针对的是关键性基础设施系统,对于非关键基础设施的系统,并不是强制性要求使用信创数据库。

关于信创清单,已经发布了四期,而从第五期开始,评审标准转变为由国家机构检测中心进行的国测。国测的目的是让数据库产品能够通过这一测试,显示出它的技术和基础能力是符合国家标准的。通过国测的厂商,无疑是在规模和技术能力上都表现出色的。

国测的要求非常严格,包括闭卷考核,要求企业的员工在封闭环境中解决数据库相关的算法问题,并且通过编译。只有得分达到60分及以上,才能算是通过国测。这种高标准,确保了只有真正具备强大技术实力的数据库厂商才能通过。

值得一提的是,当我们考虑进行国产化数据库改造时,并不是说一定要选择通过了信创测试的数据库,因为只有关键基础设施系统,才是强制性要求使用国测通过的产品,这一点对于制定技术选型和采购决策的人员非常重要。

同时,评估数据库好坏没有一个固定的标准,各个企业可能根据自己的特点和需求建立不同的评价模型。此外,不同的存储引擎和算法有各自的优势,性能并不是唯一的衡量标准。

特别提一下Oracle数据库优化器的能力,Oracle拥有2000多个修复和几百个参数,这些特性使其在不同的环境和应用场景中表现出色。Oracle优化器虽然是30多年前的设计理念,但经过长期的市场磨练和技术改进,已经证明了其卓越的性能优化能力。这说明,一个数据库产品的市场地位和技术成熟度,是基于长期的发展和用户反馈积累起来的。

总之,选择数据库时,我们需要考虑多方面的因素,包括但不限于技术性能、成熟度、市场认可度以及特定应用场景的需求。通过国测的数据库产品至少在基础品质上有一定的保障,但最终的选择应该基于全面考虑和针对性测试。

特别鸣谢

徐戟(白鳝),南京基石数据技术有限责任公司CTO,资深Oracle数据库优化专家,曾供职于DEC、赛格集团、长天集团、联想集团等国内外知名企业。个人公众号『白鳝的洞穴』。

薛晓刚,Oracle ACE-Pro、Oracle讲师、MySQL讲师、PostgreSQL ACE Partner,个人公众号『四海内皆兄弟』。

张瑞远,新炬网络DBA,从Oracle DBA转型为某国产数据库一线DBA,拥有Oracle OCM、OceanBase OBCE。

尚雷,现就职于南京某上市互联网公司担任DBA,荣获PG ACE称号,拥有Oracle OCM、AWS、国产数据库等产品认证,个人公众号『尚雷的驿站』。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK