产品介绍
KaiwuDB
KDP(数据服务平台)
生态工具集
应用场景
工业物联网
数字能源
车联网
智慧产业
智慧矿山
智慧园区
智慧应急
智慧水务
客户案例
工业物联网
重工集团
大数据中心
数字能源
超级工厂
电网能源
风电企业
数字政务
市大数据局
金融
国有商业银行
技术站
技术博客
技术贴
Paper Reading
技术视频
技术流
Paper Reading
资讯
媒体新闻
热门新闻
热门活动
报名中
进行中
已结束
关于我们
公司介绍
招贤纳士
搜索
首页
产品介绍
KaiwuDB
KDP(数据服务平台)
生态工具集
应用场景
工业物联网
数字能源
车联网
智慧产业
智慧矿山
智慧园区
智慧应急
智慧水务
客户案例
工业物联网
重工集团
大数据中心
数字能源
超级工厂
电网能源
风电企业
数字政务
市大数据局
金融
国有商业银行
技术站
技术博客
技术贴
Paper Reading
技术视频
技术流
Paper Reading
资讯
媒体新闻
热门新闻
热门活动
报名中
进行中
已结束
关于我们
公司介绍
招贤纳士
KaiwuDB 技术博客专区
KaiwuDB
>
技术站
>
技术博客
>
技术贴
深入了解 KaiwuDB 负载行为数据采集
2023-06-29
KAP 基于数据库系统内部反馈的各项数据指标,可帮助用户全面掌握 KaiwuDB 集群的整体运行情况,实时监测集群相关性能,可提供整体资源和集群状态角度的系统监控。
除此之外,KaiwuDB 数据库内部开发实现基于负载业务的行为数据采集功能,为 KAP 提供更加全面的数据支持,为用户提供更为多元化的信息,方便用户监控 KaiwuDB 内部的业务负载处理情况,指导用户进行 SQL 调优等。
一、技术架构
从 SQL 来源、执行情况、计划内容、资源使用等角度收集负载的行为数据信息,之后将采集到的信息进行局部缓存、批量持久化。具体流程如下图所示:
二、行为数据采集
通过收集 SQL 语句执行过程各阶段行为数据信息,记录数据库处理负载业务的详细执行情况,提高 KaiwuDB 数据库可观测能力。行为数据指标主要包括如下内容:
Workload
:
Application name 等 session 部分信息
·
Application name:应用名称
Statement
:
语句的整体执行情况、行数、时间
·
Statement content:SQL 语句的文本内容
·
Statement params:SQL 语句常量化参数
·
Total elapsed time:SQL 语句从进入 KaiwuDB 到返回结果总用时
·
Total affected rows:SQL 语句的影响行数
·
Retry count:事务重试次数计数
Resoure
:
整体内存使用等 session 相关资源数
·
Memory、Disk、CPU、Coroutines 等资源情况
Node
:
节点信息
LogicPlan
:
逻辑计划构建时间、算子、谓词等
·
LogicalPlan time:从语法树生成逻辑计划用时
·
Stats Profile:表相关信息
·
Access Pattern:访问模式
·
LogicalOperator:算子信息
·
Predicate:谓词信息
PhysicalPlan
:
物理计划构建时间、算子执行等相关信息
·
PhysicalPlan time:从逻辑计划生成物理计划用时
·
ProcessorSpec:Input/Output 数据来源和去向
·
Type:算子类型
三、开关控制
负载行为数据采集贯穿整个 SQL 语句执行的生命周期,不可避免地对 SQL 语句的执行效率产生负面影响。因此我们细化对行为数据采集指标的控制开关,以适配不同用户的行为数据采集需求,做到无关指标屏蔽采集,尽可能减少数据采集带来的性能损耗。
开关设计:
·
全局开关 sql.workloadinfo.enabled:控制所有负载行为数据是否采集;
·
应用开关 sql.workloadinfo.application_name_list:控制仅对 application_name_list 内指定应用触发的负载业务进行行为数据采集;
·
用户开关 sql.workloadinfo.user_name_list:控制仅对 user_name_list 内指定用户触发的负载业务进行行为数据采集;
·
采集次数开关 sql.workloadinfo.maxcollectnum:控制对同一来源的相同 SQL 语句的最大采集次数。
四、应用洞察分析
基于这些负载角度的行为数据信息,我们可以实现如下洞察分析:
·
应用负载分类
方便判断应用类型是 OLAP 还是 OLTP。行为数据采集的查询 SQL 类型语句在总业务中的占比,提供应用负载分类;
·
语句健康状况分析
提供语句健康状况查询,方便用户快速识别有性能问题的 SQL 语句。通过分析 SQL 语句的的访问方式、执行时间,并对比其预估计划和实际执行的差距,考虑该语句在当前应用负载中的权重,将存在潜在性能问题的重要查询标记为不健康 SQL 语句,以便未来对这些查询进行重新优化;
·
应用负载洞察
提供用户单独视图显示集群上运行的应用程序的摘要信息。具体包括:应用程序总体状况信息,应用负载具体信息和 SQL 语句细节;
·
增量变化
提供用户感知应用负载随时间的增量变化。具体包括:数据量变化,如应用负载访问的表数据增量变化;SQL 语句量变化,如应用负载针对某些特殊场景季度性触发某些查询服务;用户场景需求变化,如新版本上线,
导致 DDL(数据定义语言)数量变化。
END
上一篇 :
Go 语言中 Context 的作用和使用方法详解
下一篇 :
如何实现高效的动态鉴权
相关推荐
全面解读 SQL 优化 - 统计信息
一文走进多核架构下的内存模
优化器-RBO 的规则转化
深度解析 KaiwuDB 聚焦操作
SQL 编译与执行-parser
一文带你走进 Linux 小工具 - tmux
libpq SDK 发送 SQL 和解析结果
执行器-Query 执行详解
一种元数据同步的方法
TBB 开源库中 concurrent_hash_map 介绍
免费体验 KaiwuDB 全新功能
立即体验
关于我们
公司介绍
招贤纳士
产品及应用场景
KaiwuDB
KDP(数据服务平台)
生态工具集
应用场景
客户案例
资料中心
技术博客
技术视频
媒体新闻
热门活动
联系我们
咨询电话:400-870-1188
市场合作:marketing@kaiwudb.org.cn
人才招聘:hr@kaiwudb.org.cn
KaiwuDB
B站
KaiwuDB
微信公众号
© 上海沄熹科技有限公司 Shanghai Yunxi Technology Co., Ltd.
沪ICP备2023002175号-1
400-870-1188
1V1 方案咨询
marketing@kaiwudb.org.cn