DBA面临的一个很大的问题就是积累运维知识,大多数DBA都是用自己的脑子来积累知识。确实人的脑子是运维知识最好的载体,不过人的记忆和回忆是受一定的限制的,对于海量的知识积累,光用脑子是不够的。
知识积累其实是一个挺麻烦的事情,首先如何去获得知识;其次是如何去表达知识;第三是如何去记忆知识?
如果只有一两条知识的时候,知识的获得、存储似乎都很容易。我们把它在脑子里就行了,如果说怕忘记,写在笔记本上就可以了,如果需要的时候拿出笔记本来翻一翻大字就可以了。但是当你发现你的笔记本上记了几百条甚至上千条知识的时候,这个笔记本就等于没有用了。你很难在遇到问题的时候从这个笔记本里面去快速的去查找所需要的知识。
当然有些朋友看到好的文章或者好的书籍就把它保留下来,这样可以更快更丰富地积累知识。但是接下来就有一个问题,如何去检索这些知识?如何在遇到问题的时候去找到相关的知识,帮助我们解决问题。
在前些年我多次给大家介绍了一个浏览器插件scrapbook。这个插件伴随了我20多年,帮我积累了大约7万份oracle mos的文档。Scrapbook比较好的地方就是能够创建全文索引,当遇到问题的时候我可以通过全文索引去查找相关的资料。不过这种方法依然是有使用门槛的,你必须对这些知识十分了解,查找资料只是为了补充你脑子里遗漏的细节,如果你对这些知识一无所知,那么查找知识的成功率并不高。我曾经把我的资料库分享给很多用户和朋友,但是他们当时很高兴的拿到了这份资料,随后就束之高阁了。因为他们很难像我一样用好这个知识库。
积累知识与使用知识之间的巨大的差异导致了传统的方法去积累知识的效率不高。其实我们在积累知识的时候往往是需要一个适合你的工具,就像二十年前的scrapbook,对于我来说是知识积累的神器。而我第一次遇到知识图谱的时候,我发现它能够更好地展现出知识的层次性,于是我也尝试用知识图谱去构建我的新的知识库。刚开始的时候,这个工作做得很完美,我用它梳理了几十个oracle的常见的故障场景,知识图谱描述如知识会带来更加丰富的层次关系,可以通过场景之间的关系做树状的甚至网状的分析,帮我快速的去定位相关的问题。知识图谱不仅仅能够存储知识,而还能够帮我梳理知识。当我使用知识图谱来存储知识的时候,首先我就需要对知识进行一个提炼和抽象,把知识点之间的关系找出来,因此输入到知识图谱里的知识体系是相当清晰的。而且知识图谱梳理的时候,我们都是从某一个具体的问题入手,每个问题构建一个独立的子图。每个子图的顶点就是问题,因此我们在梳理某一个知识的时候可以不管其他知识。
因此我们在用知识图谱梳理知识的时候,只需要围绕这个问题去进行思考,因此每次我梳理的知识的范围是有限的,是能够比较清晰的整理出来的。虽然每个碎片规模都不大,不过这样的一些碎片积累到一定程度的时候,碎片之间内在的关系可以让我整个图谱变得更加丰富。可能很多我们以前没有考虑清楚的问题可以在图里面自动的关联起来,图谱的整体的能力超出了每一个碎片的总和。
不过当我的知识图谱变得十分丰富的时候,另外一个问题又出来了,那就是这个图谱已经非凡人所能看得懂了。如何使用这个图谱就成为一个关键的问题。而AI的出现让这个问题又有了很好的解决方法,让AI去帮我们去整理这些知识,推理这些知识,使之发挥更大的作用。
其实现在DBA构建知识库的武器得到了极大的提升,你可以把你积累到的知识,利用大模型来构建知识图谱,利用大模型来使用知识图谱,并你在运维中分析问题和解决问题。可能有些DBA会说,自己不会搞开发,如何利用这些开源的框架来搭建自己的知识库,其实很简单,利用阿里Qoder、Cusror等AI编程工具,你可以很快编写出一些处理数据的工具,帮你把你以前积累的文本梳理成知识库的内容,帮你构建一个自己的智能助手。如果你觉得这些还是太麻烦,腾讯元器、IMA、阿里百炼等平台也提供了相当方便的工具,帮你构建自己的知识库。AI时代来了,别再用传统的方式去管理你的知识了,试一试这些,你会发现,你的能力一下子提升了不少。