带你认识数仓的监控系统TopSQL
本文分享自华为云社区《GaussDB(DWS)TopSQL总结》,作者:nullptr_ 。
TopSQL 背景
TopSQL为DWS的监控系统,记录DWS中各个作业、算子级别的资源使用数据、耗时数据,包括下盘信息、内存、网络、耗时、警告、基础信息等作业执行的数据。
TopSQL 简介
TopSQL分为实时表和历史表,实时表主要展示系统当前的负载情况,历史表主要用于存储作业执行的历史情况。历史表主要用于历史问题的分析回溯和问题定位、实时表主要用来展示当前系统中作业执行情况,让系统现场更加直观,为运维工作带来了极大的方便。
TopSQL 功能介绍
主要视图

前提条件(参数介绍)
- enable_resource_track topsql开关,是否开始topsql功能
- resource_track_level 设置监控级别,query:类似于sql的explain输出信息,perf:类似于explain analyze输出信息,operator_reltime: 统计实时算子信息,operator:详细记录到每个算子的执行信息,并且层级为向下兼容 query->perf->operator_reltime->operator
- resource_track_cost topsql追踪执行时间大于等于resource_track_cost 的作业
- enable_track_record_sql 控制是否记录存储过程、匿名块内部的语句
- enable_track_record_subsql 控制是否记录存储过、匿名块内部语句
- resource_track_subsql_duration 过滤执行时间小于resource_track_subsql_duration的语句
字段含义介绍(重点功能作用)


类型介绍

值异常分析

当作业因为异常例如某DN挂了,作业会重新开始,topsql会记录两条记录
TopSQL 重点逻辑梳理剖析

在DN通过打桩定期记录作业的实时信息,并将记录定期发送至CN,并将信息定期存储至实时表中pgxc_wlm_session_statistics中,并定时将实时表中的作业落盘到历史表中pgxc_wlm_session_info中,此过程为了减少阻塞将记录放到无锁队列中,无锁队列提供了记录的CAS原子操作,然后定期读取无锁队列中的内容进行转储,pgxc_wlm_session_info通过start_time进行分区,每天一个分区,通过参数topsql_retention_time配置默认保留30个分区即30天的记录,定期对pgxc_wlm_session_info的分区进行清理、创建。此过程在dws中有单独的线程运行,对系统的影响较小。无锁队列大小是有上限的,如果转储处理的速度赶不上生成的速度那么作业也会被丢弃。
历史
当前pgxc_wlm_session_history只包含最近3分钟的数据且数据来源实际是pgxc_wlm_session_info。
带你认识数仓的监控系统TopSQL的更多相关文章
- 使用Oozie中workflow的定时任务重跑hive数仓表的历史分期调度
在数仓和BI系统的开发和使用过程中会经常出现需要重跑数仓中某些或一段时间内的分区数据,原因可能是:1.数据统计和计算逻辑/口径调整,2.发现之前的埋点数据收集出现错误或者埋点出现错误,3.业务数据库出 ...
- Greenplum数仓监控解决方案(开源版本)
Greenplum监控解决方案 基于Prometheus+Grafana+greenplum_exporter+node_exporter实现 关联图 一.基本概念 1.Prometheus Pr ...
- vivo 容器集群监控系统架构与实践
vivo 互联网服务器团队-YuanPeng 一.概述 从容器技术的推广以及 Kubernetes成为容器调度管理领域的事实标准开始,云原生的理念和技术架构体系逐渐在生产环境中得到了越来越广泛的应用实 ...
- 基于邮件系统的远程实时监控系统的实现 Python版
人生苦短,我用Python~ 界内的Python宣传标语,对Python而言,这是种标榜,实际上,Python确实是当下最好用的开发语言之一. 在相继学习了C++/C#/Java之后,接触Python ...
- C#实现完整的防盗自制监控系统
在您的手机中通知您家中的入侵者,并拍摄他们的照片 介绍 在本文中,我将展示一些DIY东西,用于安装监控系统,检测家中的入侵者,拍摄照片并通过手机通知您,必要时可以打电话给警察并提供照片以便快速识别 ...
- 数仓1.4 |业务数仓搭建| 拉链表| Presto
电商业务及数据结构 SKU库存量,剩余多少SPU商品聚集的最小单位,,,这类商品的抽象,提取公共的内容 订单表:周期性状态变化(order_info) id 订单编号 total_amount 订单金 ...
- HAWQ取代传统数仓实践(十九)——OLAP
一.OLAP简介 1. 概念 OLAP是英文是On-Line Analytical Processing的缩写,意为联机分析处理.此概念最早由关系数据库之父E.F.Codd于1993年提出.OLAP允 ...
- 树莓派 + Windows IoT Core 搭建环境监控系统
前言:Windows IoT 是微软为嵌入式开发板设计的一种物联网操作系统,运行Windows UWP(C# 开发),可以设计出丰富的交互界面,驱动GPIO,连接一些传感器做有意思的事,本文详细介绍如 ...
- Ganglia+Nagios监控系统
第1章 简介 ganglia是一款为HPC(高性能计算) 集群设计的可扩展性 的分布式监控系统,它可以监视和显示集群中节点的各种状态信息,他由运行在各个节点上的gmond守护进程来采集 CPU.内存. ...
- 运维开发实践——基于Sentry搭建错误日志监控系统
错误日志监控也可称为业务逻辑监控, 旨在对业务系统运行过程中产生的错误日志进行收集归纳和监控告警.似乎有那么点曾相识?没错... 就是提到的“APM应用性能监控”.但它又与APM不同,APM系统主要注 ...
随机推荐
- Java 魔法值处理的四种方法
Java 魔法值处理方案 魔法值的定义 方法一 静态常量(不推荐) 方法二 接口中定义 方法三 定义在实体类 方法四 使用枚举类 enum 总结 魔法值的定义 魔法值是Java中突兀出现在代码中的常量 ...
- CF1877 Div2 A-E 题解
A 显然 \(n\) 个队的得分之和为 \(0\),因此答案为这 \(n-1\) 个数的和的相反数. 赛时代码 B 小贪心. 将所有人按 \(b\) 升序排序,\(b\) 相同时按 \(a\) 降序, ...
- Qt OpenGL textures详解
1. 初始化opengl资源 Q_INIT_RESOURCE:textures(资源名称) QSurfaceFormat:定义3d面显示方式 如果在vs+qt vs tools 中无法正常显示3d图形 ...
- mybatis-plus使用心得
mybatis-plus是一款基于mybatis的持久层框架,在mybatis上只做增强不做改变.基本使用流程: 导入依赖坐标: <dependency> <groupId>c ...
- Linux 回收站
聊一聊执行 rm -rf 数据恢复以及建立 Linux 回收站 误删除 rm -rf 如果在Linux 平台下,执行 rm -rf 误删除文件,我们可以做哪些数据恢复的工作以及我们该如何应对不小心删除 ...
- Linux 中如何修改终端提示符颜色?
哈喽大家好,我是咸鱼 我们知道默认情况下,Linux 终端提示符都是简单的黑白色 这种黑白提示一方面看久了容易视觉疲劳,另一方面由于没有高亮显示,看着很不方便,视觉体验极差 所以我们需要修改我们的终端 ...
- ORACLE SQL语句逻辑读高优化案例
川川找我优化SQL,逻辑读达到398,000,安排一下. SQL和执行计划: SELECT t1.*, t3.bed_number, t3.patient_name, t4.name FROM odw ...
- 02Java学习_注意事项和学习方法
02_Java 开发注意事项细节和学习方法 目录 02_Java 开发注意事项细节和学习方法 注意事项 学习方法 注意事项 .java 是 Java 文件的拓展名.源文件的基本组成部分是类--clas ...
- 用友U8+与百胜E3的数据对接:实现企业数字化业务的集成与协作
用友U8+作为中国企业最佳经营管理平台之一,在企业经营管理中广泛应用.然而,由于每个企业的内部管理方式和流程各不相同,标准软件功能难以完全适应所有企业的管理需求.同时,随着互联网和移动应用的发展,对于 ...
- [AGC034D] Manhattan Max Matching
Problem Statement Snuke is playing with red and blue balls, placing them on a two-dimensional plane. ...