分析一下opengauss的等待事件

本文讨论了等待事件分析在数据库运维中的重要性,特别是openGauss的发展与Oracle的对比。openGauss在等待事件支持、视图设计和性能指标上有所进步,但与Oracle相比仍存在差距。作者建议国产数据库应学习Oracle在细节处理上的实战效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DBA行业的老司机知道等待事件分析对数据库运维来说有多么重要,等待事件分析是Oracle在7.3版本中推出OWI后才变得可能的,必须在数据库核心层提供接口才能实现。国产数据库在等待事件接口方面也做了很多的工作,我第一次用达梦数据库的时候就发现居然有等待事件,虽然达梦数据库的等待事件还比较简单,不过对于运维来说还是很有价值的。最近和Oceanbase、Polardb的朋友交流中也发现他们也在等待事件分析方面做很多突破性的功能增强,一些能力可能很快就可以合并到主线版本中了。

PostgreSQL是在9.6版本首先引入等待事件的,虽然openGauss的基础PostgreSQL版本(9.2.4)并不支持等待事件,不过openGauss从1.0开始就支持等待事件了,当然2.0之后openGauss的等待事件有了极大的提升,支持了等待时间。对于等待事件分析来说,支持等待时间分析是一个巨大的提升,这可以让等待事件分析更为有效。

openGauss的等待事件并没有放在pg_stat_activity中,而是另外使用了一个视图接口。这种设计我猜想是为了避免对PG内核做过多的修改,从而影响PG核心的稳定性。因为等待事件采集和会话的活动有直接的关系,涉及到数据库最核心的代码。openGauss通过两张表分别来实现等待事件分析。一张是thread_wat_status,另外一张是等待事件汇总信息wait_events,记录了数据库启动以来每个等待事件发生的次数、平均等待时间,最大等待时间,最小等待时间等信息。这张视图有点类似Oracle的v$eventmetric。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值