关于数据库:深入了解-KaiwuDB-负载行为数据采集

42次阅读

共计 1665 个字符,预计需要花费 5 分钟才能阅读完成。

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(数据定义语言)数量变动。
正文完
 0