首页 > 数据库 >MogDB SQLdiag 使用指南

MogDB SQLdiag 使用指南

时间:2024-03-27 10:22:54浏览次数:21  
标签:SQLdiag -- py MogDB python train path model 使用指南

MogDB SQLdiag 使用指南
本文出处:https://www.modb.pro/db/411957

前提条件
需要保证用户提供训练数据。
如果用户通过提供的工具收集训练数据,则需要启用 WDR 功能,涉及到的参数为 track_stmt_stat_level 和 log_min_duration_statement,具体情况见下面小节。
为保证预测准确率,用户提供的历史语句日志应尽可能全面并具有代表性。
按照要求配置 python 3.6+环境及其依赖。
环境配置
本功能运行环境要求 Python 3.6 版本及以上,需要的第三方依赖包记录在 requirements.txt 文件中,可以通过 pip install 命令安装依赖,如:

pip install requirements.txt
SQL 流水采集方法
本工具需要用户提前准备数据,训练数据格式如下,每个样本通过换行符分隔:

SQL,EXECUTION_TIME
预测数据格式如下:

SQL
其中 SQL 表示SQL 语句的文本,EXECUTION_TIME 表示SQL 语句的执行时间,样例数据见 sample_data 中的 train.csv 和 predict.csv。

用户可以按照要求格式自己收集训练数据,工具也提供了脚本自动采集(load_sql_from_rd),该脚本基于 WDR 报告获取 SQL 信息,涉及到的参数有 log_min_duration_statement 和 track_stmt_stat_level:

其中 log_min_duration_statement 表示慢 SQL 阈值,如果为 0 则全量收集,时间单位为毫秒;
track_stmt_stat_level 表示信息捕获的级别,建议设置为 track_stmt_stat_level=‘L0,L0’
参数开启后,可能占用一定的系统资源,但一般不大。持续的高并发场景可能产生 5%以内的损耗,数据库并发较低的场景,性能损耗可忽略。

使用脚本获取训练集方式:
load_sql_from_wdr.py [-h] --port PORT --start_time START_TIME
--finish_time FINISH_TIME [--save_path SAVE_PATH]
例如:
python load_sql_from_wdr.py --start_time "2021-04-25 00:00:00" --finish_time "2021-04-26 14:00:00" --port 5432 --save_path ./data.csv

操作步骤
提供历史日志以供模型训练

进行训练与预测操作:

基于模板法的训练与预测:
python main.py [train, predict] -f FILE --model template --model-path template_model_path
基于DNN的训练与预测:
python main.py [train, predict] -f FILE --model dnn --model-path dnn_model_path
使用方法示例
在本工具的根目录中,执行下列语句可以实现对应功能。

使用提供的测试数据进行模板化训练:

python main.py train -f ./sample_data/train.csv --model template --model-path ./template
使用提供的测试数据进行模板化预测:

python main.py predict -f ./sample_data/predict.csv --model template --model-path ./template --predicted-file ./result/t_result
使用提供的测试数据进行模板化模型更新:

python main.py finetune -f ./sample_data/train.csv --model template --model-path ./template
使用提供的测试数据进行 DNN 训练:

python main.py train -f ./sample_data/train.csv --model dnn --model-path ./dnn_model
使用提供的测试数据进行 DNN 预测:

python main.py predict -f ./sample_data/predict.csv --model dnn --model-path ./dnn_model --predicted-file
使用提供的测试数据进行 DNN 模型更新:

python main.py finetune -f ./sample_data/train.csv --model dnn --model-path ./dnn_mo

标签:SQLdiag,--,py,MogDB,python,train,path,model,使用指南
From: https://www.cnblogs.com/helloopenGauss/p/18098343

相关文章

  • MogDB/openGauss访问控制简介
    MogDB/openGauss访问控制简介SQL可以针对不同的数据库对象赋予不同的权限,这样就可以限制用户对数据的不必要访问,提高数据访问的安全性。常见的SQL权限如下:SELECT/UPDATE/DELETE/INSERT:访问、修改基本表或视图的权限REFERENCES:在基本表上创建外键约束的权限TRIGGER:在基本表......
  • MogDB/openGauss存储过程的修改
    MogDB/openGauss存储过程的修改SQL中没有提供显式的存储过程修改命令,通常需要通过REPLACE关键字来指定使用当前的存储过程替代之前的同名存储过程。将前文定义的存储过程替换为按照地区分组的数量统计,具体语句如下:MogDB=#CREATEORREPLACEPROCEDUREwarehouse_count()L......
  • MogDB/openGauss访问控制简介
    MogDB/openGauss访问控制简介SQL可以针对不同的数据库对象赋予不同的权限,这样就可以限制用户对数据的不必要访问,提高数据访问的安全性。常见的SQL权限如下:SELECT/UPDATE/DELETE/INSERT:访问、修改基本表或视图的权限REFERENCES:在基本表上创建外键约束的权限TRIGGER:在基本表......
  • MogDB/opengauss触发器简介(1)
    MogDB/opengauss触发器简介(1)触发器是对应用动作的响应机制,当应用对一个对象发起DML操作时,就会产生一个触发事件(Event)。如果该对象上拥有该事件对应的触发器,那么就会检查触发器的触发条件(Condition)是否满足,如果满足触发条件,那么就会执行触发动作(Action)。事件:触发器的触发事件,......
  • MogDB/openGauss 3.0 扩容及缩容
    MogDB/openGauss3.0扩容及缩容本文出处:https://www.modb.pro/db/452139一、概述背景信息gs_expansion工具对数据库的备机进行扩容,支持从单机或者一主多备最多扩容到一主八备,本文从一主一备扩容到一主两备。gs_dropnode工具从一主多备的数据库中移除不需要的备机,最多可以......
  • MogDB/openGauss 3.0 扩容及缩容
    MogDB/openGauss3.0扩容及缩容本文出处:https://www.modb.pro/db/452139一、概述背景信息gs_expansion工具对数据库的备机进行扩容,支持从单机或者一主多备最多扩容到一主八备,本文从一主一备扩容到一主两备。gs_dropnode工具从一主多备的数据库中移除不需要的备机,最多可以......
  • MogDB/openGauss访问控制简介
    MogDB/openGauss访问控制简介SQL可以针对不同的数据库对象赋予不同的权限,这样就可以限制用户对数据的不必要访问,提高数据访问的安全性。常见的SQL权限如下:SELECT/UPDATE/DELETE/INSERT:访问、修改基本表或视图的权限REFERENCES:在基本表上创建外键约束的权限TRIGGER:在基本表......
  • openGauss/MogDB 学习笔记之 -- PITR恢复
    openGauss/MogDB学习笔记之--PITR恢复概念描述背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,MogDB的即时恢复功能(Point-In-TimeRecovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间点。说明PITR仅支持恢复到物理备份数据之后的某一时间点。仅主节......
  • chroma使用指南官方文档&翻译
    ......
  • 【树莓派】4B使用指南
    参考文章https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4https://blog.bsdayo.moe/posts/raspberrypi-4b-arch/1.安装Archlinux1.1将SD卡插入电脑使用dmesg查看内核信息,可以看到usb大容量设备检测到了,使用lsblk也可以看到插入的sd卡1.2从软件源下载......