暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库运维:从制度化到智能化

白鳝的洞穴 2024-10-28
201

前天参加了Oceanbase 的年度发布会,昨天一大早前去拜访一个客户,所以这几天都没有更新公众号。现在已经习惯了每天早上坐在办公桌前静静地思考,同时把感悟写出来,在出差的路上偷几天懒,还是挺舒服的。关于OB年度发布会的文章,一些比较勤快的同学已经发出来了,写得都挺好的。我过几天从一个大家都没有关注到的角度写一写吧,可能更多的是就这OB发布会对整个数据库产业的思考。

上周末在南京我们和电科金仓一起搞了一个关于数据库运维的小沙龙,这也是电科金仓的社区成立后的一系列活动的一部分。沙龙结束后就开始了出差,所以今天才有时间来写一写数据库运维的这个话题。

上面这张图是我理解的数据库运维发展的几个阶段。从无序状态到制度化是一个巨大的进步,实际上目前大多数企业的数据库运维还停留在制度化到制度化这个阶段上,并没有向前走几步。技术力量较强的企业制度化完成后会发现很多工作还需要标准化,否则不同的DBA会干出质量差异很大的活出来。2013年我参加一个大型项目的上线护航,这个项目分为南北两区,从IT基础设施上看,南北两区完全相同。最后北区成功割接,南区因为一套数据库安装部署不规范而导致上线失败。从那开始,那个客户就开启了标准化运维工作。

一旦实现了标准化,我们就会发现,很多工作实际上是可以自动化完成的 。通过引入一些工具,自己编写一些脚本,可以通过自动化把DBA解放出来,让他们去做更有价值的事情。

这些年我们都在谈智能化运维,不过我觉得目前的智能化运维并不是我认知中的“智能化”运维,只是一种智能化辅助运维的手段。是通过智能化手段来辅助DBA和专家开展工作而已。而我觉得“智能化运维”系统应该具有极强的自主能力,是能够通过智能化算法帮我们自主处理工作,解决问题的。如果达不到这个目标,那么我们就不能说我们已经达到了智能化运维阶段。

下面我们从制度化开始来回顾一下,达到某些阶段应该具备哪些特征。

如果我们的组织已经有了完善的组织架构,有了明确的责任分工和汇报流程,并且能够就运维工作周期性的进行汇报或者总结,那么在组织制度上 就已经制度化了。从技术上看,整个组织有了明确的工作清单,能够依据工作清单,针对某些事情展开工作,而不是由DBA拍脑袋去解决,那么在技术上,也已经形成了制度化。制度化的另外一个特征是有了KPI,初步形成了考评体系。考核是DBA最为反感的工作,不过对于组织而言,考核是制度化的必然结果。如果考核结果只是会用于改进自己的工作,那么这是个好制度;而如果考核只是为了给DBA的工作分三六九等,甚至影响DBA的绩效工资,那么考核可能会成为一种十分负面的工具。

进入标准化阶段的标志是有了十分完善的模板和预案,大多数工作可以按照标准模板去进行而不是依赖于DBA自身的独立思考。DBA可以依据各种标准开展工作,其效率和质量都会大幅提升。

对于有一定技术能力和资金的企业,或者说运维规模较大的组织,标准化之后会自然而然地进入自动化阶段。因为他们发现一些标准化的工作,通过编写简单的工具,就可以实现自动化了。有些组织中,五六个人要管理数百个数据库实例,这也逼着他们通过一些自动化手段来解决运维中的一些问题。不过大多数企业在这个阶段做得都不够系统和完善,只是在局部形成了一些相当有价值的工具链,而没有把这些工具链形成一个完善的体系。在我这两年拜访过的很多企业客户中,他们目前都有把工具链做完整的想法。

数字化是目前大家喊得比较多的,但是也是做得最浅的,我接触过的绝大多数企业都还没有真正进入运维数字化的阶段。因为要实现数字化,需要对运维业务进行建模,一线的DBA会觉得做这种事情吃力不讨好,而领导则在考虑花那么多钱划算不划算。还有一些企业不知道运维数字化应该怎么去做。昨天我和一个客户交流了关于运维的事情,他觉得主业搞数字化的时候,十分依赖于企业CIM模型,是不是他们IT运维部门也应该先把自己的CIM模型搞出来才行。我觉得他在这方面是想到点子上了。

最后回到我们开头讲到的智能化,如果你说你们已经是智能化运维了,但是大量的运维日常工作还无法自决,还要依赖人工,那么智能化的优势就无法充分发挥,只能说是进入了智能化辅助阶段。也就是自动驾驶的L2、L3级别。只有进入了高阶自动驾驶,才能真正进入了智能化阶段。

实际上从自动化到智能化,中间还是有着巨大的鸿沟的。数字化能够填补一些,但是还不足够。这里就必须引入一个新概念-“生态化”。上周的沙龙上,来自某科技企业的朋友分享了他们在AI辅助SQL优化方面的工作成果。在他的分享中也提到,因为目前的样本不足(他们准备了20000+的样本),目前的准确率只能达到70%左右,要达到80%的准确性,需要十倍以上的样本支持,目前他们还没有能力获取到。实际上两年前我们也尝试通过微调通用大模型从而获得智能化诊断的能力,也是因为缺乏生产实践案例而只能做个DEMO,无法真正商用。我想只有依托社区的协作,大家一起贡献,一起分享成果,才有可能把这些工作做到位吧。

今天时间有限,就讨论这么多内容吧,根据我的观点,大家也可以看看,自己的数据库运维,目前处于一个什么阶段呢?





文章转载自白鳝的洞穴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论