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

达梦数据库的可观测性提升还是挺大的

白鳝的洞穴 2025-03-24
13
周末IFCLUB的线下活动,林春老师分享了太保核心系统国产化替代的一些小故事。其中谈到最难的案例,大多与国产数据库产品的可观测性能力不足有关。面对一个个黑盒子,只能依靠专家的经验去猜测可能的原因,有些时候甚至是侥幸成功。
数据库的可观测性是决定用户能否把数据库用得更好的关键,也是智能化运维实现的基础。
实际上我昨天分享的关于在国产数据库中利用DeepSeek实现智能化诊断的实践这个话题中,也重点提到了强大的可观测性、高质量的运维知识和强大的推理模型是构建基于大模型的智能化系统的三个基石。在未来的数据库智能化运维变革中,哪个数据库产品的可观测性能力越强,受到的智能化加持就会越好,使用门槛也会越低。
最近我们在尝试让DeepSeek去适配国产数据库,在做知识图谱改造的时候,必须依仗数据库的可观测性能力。有客户希望我研究一下在达梦数据库上如何做智能诊断的时候,我还是有点担心的,早期我们使用DM6/DM7甚至DM8的时候,达梦能够提供的可观测性数据主要集中在v$sysstat中,而且很多指标都是0,需要开一些监控参数才能获取,甚至有些指标连打开的参数都没有,只能看不能用。
如果大模型无法获得某一方面的数据,那么推理分析就只能是猜测,幻觉就会特别严重了。如果幻觉超过了10%,那么本次推理的结果就可想而知了。最近我硬着头皮去再次学习达梦数据库的时候,发现经过几年的迭代,目前达梦的可观测性指标已经相当丰富了。
v$cacheitem中提供了大量的和SQL相关的共享池信息的数据,分析和SQL解析等相关的问题的时候,通过这个接口就可以发挥很大的作用了。

以前分析达梦问题的时候,经常会遇到内存爆表的问题,当物理内存被大量占用,又不知道是被吃在什么地方了,通过分析线程也无法找到明显的问题,这种情况是很抓瞎的。目前DM8的v$mem_pool系统接口已经能够给我们提供十分准确得信息了,包括没个pool的每个扩展的情况。只要设置ENABLE_MONITOR=1,我们就可以跟踪内存池的使用情况,如果发现某个内存池频繁扩展,就可以去分析了。不论是共享POOL还是私有的POOL都可以十分清晰地看到每次分配扩展的情况。
如果是会话占用的内存较多,那么通过CREATOR字段还可以与V$SESSIONS做关联,去查找会话中那个缓冲池出现了大量内存占用,从而快速定位问题。
另外一方面,DM DSC的可观测性接口也丰富了起来,通过大量的接口,我们可以获得很多DSC相关的运行信息,这对于分析DSC引发的数据库故障或者性能问题十分关键。

除此之外,达梦推出的梦仔智能问答助手也不错,对于一般性的知识问答,其准确性远远高于外部搜索和一些第三方智能体。达梦已经把能够公开的技术资料都通过“梦仔”对外开放了。
实际上一个数据库厂商在数据库可观测性能力方面的提升不仅仅是只数据库本身提供的对外接口数据如何丰富。怎么去使用这些数据,这些数据是什么含义,这些知识也是可观测性提升的重要要素。如果不把如何分析与使用这些数据的方法告诉用户,数据库厂商提供再多的数据接口也是徒劳的。我想随着国产AI大模型的快速发展,各个数据库厂商对外开放的问答智能体也会越来越好。这算是DeepSeek在数据库国产化方面做出的一种新贡献吧。

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

评论