400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
流计算引擎
灾难恢复
系统配置参数
索引
扩展
SQL 参考
常见问题(FAQ)
本文档介绍了 matrixmgr
扩展的主要组成及功能。
matrixmgr
扩展主要用于 YMatrix 的查询统计功能。YMatrix 集群初始化后会默认创建 matrixmgr
数据库和 matrixmgr
扩展。部署成功后,在 matrixmgr
数据库的 matrixmgr_internal
模式下会出现如下表和视图:
视图 | 描述 |
---|---|
mxstat_execute | 这张视图提供了 SQL 语句的执行情况,比如 SQL 语句执行的节点实例,用户,查询文本,执行的最长最短时间,以及最慢语句的各阶段时间戳。你可以通过这张表看来不同 SQL 语句执行时间,以及分析最慢语句的情况 |
mxstat_usage | 这张视图提供了SQL语句执行时计算资源的消耗情况 |
mx_query_execute_history | 这张视图是 mxstat_execute 视图的历史信息 |
mx_query_usage_history | 这张视图是 mxstat_usage 视图的历史信息 |
mx_querytext | 这张视图存储了 queryid 与 querytext 的映射,你可以通过这个映射获取 SQL 文本 |
mx_query_execute_history_with_text | 将 mx_query_execute_history 与 mx_querytext 通过 queryid 进行关联后的视图 |
进入 matrixmgr
数据库可查看以下视图:
该视图展示了 5 分钟内的查询统计信息。
字段名 | 类型 | 描述 |
---|---|---|
seg | integer | 查询生成并下发计划节点编号 |
userid | oid | 用户 OID |
dbid | oid | 数据库 OID |
queryid | bigint | 查询 ID,由扩展生成,用来将相同类型的查询进行归类 |
nestlevel | integer | 嵌套深度 |
query | text | 查询文本 |
calls_begin | bigint | 查询启动次数 |
calls_alive | bigint | 上次收集历史信息时,处于执行状态的查询数 |
calls_end | bigint | 查询正常结束次数 |
total_time | double precision | 该类查询总执行时间,单位毫秒 |
min_time | double precision | 该类型查询最短执行时间,单位毫秒 |
max_time | double precision | 该类查询最长执行时间,单位毫秒 |
mean_time | double precision | 该类查询平均执行时间,单位毫秒 |
stddev_time | double precision | 该类查询执行时间标准差,单位毫秒 |
sample_planid | bigint | 执行计划 ID |
sample_start | timestamp with time zone | 最慢查询启动时间戳 |
sample_parse_done | timestamp with time zone | 最慢查询完成解析时间戳 |
sample_plan_done | timestamp with time zone | 最慢查询生成计划时间戳 |
sample_exec_start | timestamp with time zone | 最慢查询开始执行时间戳 |
sample_exec_end | timestamp with time zone | 最慢查询执行完毕时间戳 |
该视图展示了 5 分钟内的查询资源消耗信息。
字段名 | 类型 | 描述 |
---|---|---|
seg | integer | 查询执行节点编号 |
userid | oid | 用户 OID |
dbid | oid | 数据库 OID |
queryid | bigint | 查询 ID,由扩展生成,用来将相同类型的查询进行归类 |
nestlevel | integer | 嵌套深度 |
rows | bigint | 该语句检索或影响的行总数 |
shared_blks_hit | bigint | 该语句造成的共享块缓冲命中总数 |
shared_blks_read | bigint | 该语句读取的共享块的总数 |
shared_blks_dirtied | bigint | 该语句弄脏的共享块的总数 |
shared_blks_written | bigint | 该语句写入的共享块的总数 |
local_blks_hit | bigint | 该语句造成的本地块缓冲命中总数 |
local_blks_read | bigint | 该语句读取的本地块的总数 |
local_blks_dirtied | bigint | 该语句弄脏的本地块的总数 |
local_blks_written | bigint | 该语句写入的本地块的总数 |
temp_blks_read | bigint | 该语句读取的临时块的总数 |
temp_blks_written | bigint | 该语句写入的临时块的总数 |
blk_read_time | double precision | 该语句花在读取块上的总时间,以毫秒计 |
blk_write_time | double precision | 该语句花在写入块上的总时间,以毫秒计 |
ru_utime | double precision | 用户态 CPU 时间 |
ru_stime | double precision | 系统态 CPU 时间 |
ru_maxrss | bigint | 实际使用物理内存,包含共享库占用的内存,单位 KB |
ru_ixrss | bigint | 集成共享内存大小 |
ru_idrss | bigint | 集成非共享数据大小 |
ru_isrss | bigint | 集成非共享堆栈大小 |
ru_minflt | bigint | 缺页中断的次数,且处理这些中断不需要进行 I/O |
ru_majflt | bigint | 缺页中断的次数,且处理这些中断需要进行 I/O |
ru_nswap | bigint | 交换空间 |
ru_inblock | bigint | 文件系统需要进行输入操作的次数 |
ru_oublock | bigint | 文件系统需要进行输出操作的次数 |
ru_msgsnd | bigint | 消息发送数量 |
ru_msgrcv | bigint | 消息接收数量 |
ru_nsignals | bigint | 接收信号数量 |
ru_nvcsw | bigint | 因进程自愿放弃处理器时间片而导致的上下文切换的次数 |
ru_nivcsw | bigint | 因进程时间片使用完毕或被高优先级进程抢断导致的上下文切换的次数 |
mxstat_execute
视图的历史信息收集,默认 5
分钟一次。其结构和 mxstat_execute
视图一致,只是多了一个 ts_bucket
字段,记录收集的时间点。mxstat_usage
视图的历史信息收集,默认 5
分钟一次。其结构和 mxstat_usage
视图一致,只是多了一个 ts_bucket
字段,记录收集的时间点。queryid
与 querytext
的映射,和其他历史信息收集表一样,周期存储,目的是使历史查询可以获取 SQL 文本。mx_query_execute_history
与 mx_querytext
通过 queryid
进行关联后的视图。同时读取历史查询统计信息和 SQL 文本。