网站首页 > 精选文章 正文
昨天我发了篇文章,是因为一大早看到有个客户发来让我帮忙分析的一份AWR报告。几分钟看完,就基本上抓住了主要问题。整个过程行云流水,点点深入,用来分析问题十分顺畅。而阅读国产数据库的所谓的“AWR报告”则完全没有这种感受。主要问题是虽然国产数据库的报告也罗列了一些数据,但是好像这些数据都是相互割裂的,不同章节之间的可参考性不强,甚至有很多章节之间的数据都是矛盾的,无法像Oracle AWR一样通过相互印证,相互补充来定位一些深层次的问题。
目前国产数据库的“AWR”报告中 ,只有TOP SQL一节是有点用的,不过依然缺少了类似Oracle的awrsqrpt的详细报告功能,因此TOP SQL用起来也不是很顺手,还需要花费DBA不少时间去额外分析某些SQL。
除了TOP SQL外,其他章节的内容对DBA来说帮助就十分有限了。究其根源,主要是两方面的原因,一方面是国产数据库的可观测性能力面向复杂分析依然不够。这里面的原因有内核本身不够强健,无法在不影响性能的前提下输出一些指标。比如说某基于PG研发的国产数据库,居然连SQL执行总数这样的指标都没有。主要原因是原生态的PG是没有这个指标的,而且PG的SQL是完全在BACKEND中独立执行的,并无共享CURSOR机制,因此统计这样的指标可能会对SQL并发执行性能有所影响,所以不敢设计这样的指标。
另外一方面的原因是国产数据库的产品经理不太懂数据库运维,他们不了解运维人员需要什么样的指标,会用这些指标来干什么。上个月我和一个 国产数据库的核心研发人员交流可观测性指标的事情。他问我一个问题,O记的等待事件直方图有啥用?他说有些售后人员反馈说希望他们能提供等待事件直方图数据,他组织团队分析了一下,认为这个直方图在运维的时候没啥用,因此把优先级往后放了。可能正在看这篇文章的朋友有些用直方图分析过性能问题,有些朋友从来没有使用过awr中这个章节的数据。用过的朋友一定能够理解直方图的作用。有些时候平均值不错不等于系统没有问题,要分析60分钟的AWR统计周期中的1-2分钟或者其他因素的少量抖动,直方图就太有用了。研发人员和产品经理不了解运维人员需要什么,那么也就无法做出运维人员需要的AWR报告了。
第三个方面是因为运维知识的缺乏,我原本以为是因为数据库原厂不愿意开放这些运维知识给大众,也多次和国产数据库厂商索要过这方面的资料。没想到,真实的原因是原厂也没有这方面的资料,甚至原厂的研发和产品经理都没有思考过这方面的问题,他们遇到某个指标异常或者等待事件问题,也还是要依靠trace手段去分析问题,而无法直接形成一系列的分析方案。这些知识需要在大量的用户实践中不断被发现,并且数据库原厂需要投入巨大的资源,找一些专家级的大佬去分析,才能够形成类似O记OS这样的知识库。
其实O记的AWR的成长也不是一天两天的,awr的爷爷是BSTAT/ESTAT,这个工具现在依然存在于Oracle的新版本中,到rdbms/admin目录下还能找到这两个脚本。那时候数据也不丰富,阅读起来也是挺费劲的。后来7.3.4开始有了statspack报告,不过那时候的报告也很垃圾。实际上到了9.2之后的statspack报告的完整性才算上了一个台阶。10g改名为awr报告了,不过实际上10g的awr和statspack报告比起来,也就是换了个名字而已,能力提升并不大。到了11g awr才算是真正成熟了。
基于O记的成长历程,我们应该给国产数据库一些时间来提升这方方面的能力,不过如果国产数据库的研发者不理解数据库运维需要什么,那么再给多少年时间也都是白搭。国产数据库需要完善的地方太多了,运维方面的功能的优先级是不是比较低呢?
猜你喜欢
- 2025-07-03 云贝数据 | PG快速构建海量数据方法
- 2025-07-03 Postgresql 查看死锁以及解除死锁
- 2025-07-03 PostgreSQL技术内幕17:PG分区表(pgsql 分区表)
- 2025-07-03 postgresql一些常用命令「一」(postgresql重启)
- 2025-07-03 PG server 磁盘空间占满问题的处理方法 | 运维进阶
- 2025-07-03 巴雷特(Barrett)食管(巴雷特食管是什么意思 百度百科)
- 2025-07-03 PostgreSQL pg_hba.conf 文件简析
- 2025-07-03 PostgreSQL 数据库管理软件对比之pgAdmin & CLup
- 2025-07-03 前端学不动了: Postgres——世界上最先进的开源关系型数据库
- 2025-07-03 你不知道的PostgreSQL数据库安装及实现跨库查询PG和Oracle
- 07-03CentOS7系统如何修改主机名(更改centos主机名)
- 07-03Ubuntu1804 及以上版本的 Coredump 相关设置
- 07-03Linux中如何修改ip地址?(linux系统怎么更改ip地址)
- 07-03Linux系统日常运维九大核心技能(linux运维都干什么)
- 07-03Linux 日志管理攻略:用 journalctl 揪出服务器安全隐患
- 07-03Linux下快速安装ollama和deepseek并使用web界面
- 07-03RockyLinux9.5下使用ollama搭建本地AI大模型DeepSeek
- 07-03Linux 下的 PM2 完整指南(linux /media)
- 最近发表
-
- CentOS7系统如何修改主机名(更改centos主机名)
- Ubuntu1804 及以上版本的 Coredump 相关设置
- Linux中如何修改ip地址?(linux系统怎么更改ip地址)
- Linux系统日常运维九大核心技能(linux运维都干什么)
- Linux 日志管理攻略:用 journalctl 揪出服务器安全隐患
- Linux下快速安装ollama和deepseek并使用web界面
- RockyLinux9.5下使用ollama搭建本地AI大模型DeepSeek
- Linux 下的 PM2 完整指南(linux /media)
- Rocky Linux 9常用命令备忘录(不定时更新)
- Rocky Linux 9 系统初始化与安全加固脚本
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)