排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
从sysstat到metric:数据库可观测性的巨大进步
从sysstat到metric:数据库可观测性的巨大进步
白鳝的洞穴
2023-09-08
296
我是从Oracle 5开始使用Oracle的,不过Oracle 5、6的时代,我只是帮用户安装Oracle而已,真正的开始关注数据库的内部,尝试调优数据库和解决数据库的故障是从Oracle 7.1开始的。因此我对v$sysstat有着十分深厚的感情,虽然从Oracle 7到Oracle 9,以至于到Oracle 11,v$sysstat中的指标数量增加了许多,但是对这个系统视图的用法没有改变。
2007年的时候,我和一个当时供职于Oracle ACS的朋友一起为某个运营商优化一套短信平台系统,那个朋友一看到用户的数据库是Oracle 10g,立马就说:“老徐,这个项目还是你来干吧,我从Oracle 6干到现在,不准备再去更新10g的知识了”。那个时代Oracle基本上5年迭代一个版本,而且每个版本都有一些颠覆性的技术出现。对于运维的可观测性来说,从Oracle7到Oracle 10g正是Oracle的可观测性体系日渐完善的时期,变化尤其大。
作为一个老DBA,用户一般都是挺尊重我的,记得我刚刚用10g的时候还闹过一个笑话,当时是给一个东北的运营商优化系统。当我要求在Oracle 10g上安装一个statspack的时候,甲方的DBA虽然没听说过啥叫statspack,不过还是很配合的帮我安装了。不过生成完第一份spreport的时候,那个DBA不禁笑了,这个不是和AWR报告很类似吗?这是我最后一次让让用户在10g上安装statspack报告。
因为惯性,在好长一段时间里,我一直没有意识到Oracle数据库发生的变化,也依然使用v$sysstat帮助用户分析问题。在10g和11g上,我会使用ASH来弥补v$sysstat在微观分析能力上的不足。
直到有一天,公司的小伙伴告诉我实际上没必要那么复杂的去通过统计v$sysstat来计算指标,Oracle 已经和提供了一个叫v$metric的系统视图,我们可以更加方便的获得这些指标。
后来我仔细分析了一下,确实如此,原来从Oracle 10g开始Orace已经提供了如此强大的指标接口。在Oracle 12.1版本中,v$metric已经包含了200个指标,并且为这些指标提供了1秒、5秒、15秒、1分钟等多种统计值,用于不同需求的分析。Oracle还提供了一系列的Metric视图,向用户提供更加丰富的可观测性指标。比如eventmetric/sysmetric等。
目前大多数数据库都提供类似v$sysstat的系统视图,用于运维人员采集与分析相关的指标。不过v$sysstat还是太笼统了,还不够友好。如果能够像Oracle一样将sysstat在内核中加工,生成各种metric,那么数据库的可观测性能力将会得到极大的提升。去年的时候,一个用户经常会出现活跃会话数异常的情况,那个时段里经常会出现核心交易抖动。不过他们的监控哪怕把采样周期调整得很低,也抓不到这个现象。我看了一下他们的监控系统,原来是通过统计v$session的瞬间值来采集这个指标的,于是我让他去v$metric和v$metric_history中查找,一下子就抓到了好几个异常点。
可能有朋友会觉得奇怪,在数据库内核中做一个类似Oracle metric的功能难道很难吗?确实很难,因为内核既要兼顾性能与可靠性,又要提供更多的可观测性,确实很考验架构师和研发人员的水平。通过埋点实现的指标采集必须代码性能十分优越,否则会影响数据库的性能和稳定性。因此这些埋点的代码越简洁,做的事情越少越好。一个数据库产品要做好这一点确实是要花大力气的。
可喜的是,目前已经有一些数据库产品开始提供这方面的可观测性接口了,虽然接口还不够完善,提供的数据也没有Oracle丰富,起码已经看到我们的国产数据库厂商也已经关注到了这方的用户需求了。
数据库
oracle
oracle数据库
metric
oracle系统
文章转载自
白鳝的洞穴
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨