[发明专利]关系数据库下查询驱动的智能工作负载分析方法有效
申请号: | 202110127114.2 | 申请日: | 2021-01-29 |
公开(公告)号: | CN113157814B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 杨晓春;王毅;郭苗苗;王斌 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F16/22;G06F16/2458;G06F9/50;G06N3/044;G06N3/0464;G06N3/08 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 李梁 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 关系 数据库 查询 驱动 智能 工作 负载 分析 方法 | ||
1.一种关系数据库下查询驱动的智能工作负载分析方法,其特征在于:包括以下步骤:
步骤1、调用数据库数据采集模块,对工作负载信息进行采集;
所述工作负载包括数据库的物理资源信息以及查询日志,其中数据库物理资源信息包括CPU的利用率、CPU的型号、CPU的内存、查询的平均等待时间、磁盘空间占用率;对当前物理资源信息进行采集并开启数据库的general_log参数,生成设定时间内的查询日志;
步骤2、数据采集模块输出采集完成的workload数据,包括数据采集之前的数据库状态变量值、数据采集之后的数据库状态变量值以及监控信息数据,传入数据预处理模块进行数据预处理;
步骤2.1:对上述数据采集模块产生的数据库物理资源信息进行统计学计算;
步骤2.2:将步骤1中生成的查询日志进行解析,从查询日志中提取SQL以及对应的时间戳,将SQL进行模板化,即将SQL中的数值信息进行掩蔽,用占位符替代,得到模板化的SQL和时间戳进行匹配,一同持久化到CSV文件中;
步骤3、对数据预处理模块中输出的CSV格式数据进行特征提取,将不同的特征进行不同的编码;
步骤4、采用机器学习方法学习workload的表示,在特征提取完成之后将步骤3中提取得到的向量输入机器学习模型进行训练;
所述机器学习模型包括单机器学习模型以及混合模型;其中单机器学习模型包括多层感知神经网络(MLP)、循环神经网络(RNN)、卷积神经网络(CNN)模型,用来学习三种不同维度的workload特征,混合模型将上述模型进行组合,得到组合模型;
步骤5、模型训练完成之后对待测的workload预测其表示;对未知的workload进行步骤2以及步骤3,并将使用完生成的general_log进行删除,得到未知workload的表示之后,从已有的workload数据集中匹配到属于当前workload的数据,数据由数据库参数、当前参数对应的吞吐量、时延性能指标组成;
步骤6、在得到未知workload的表示之后,通过匹配算法进行workload匹配,用当前workload的数据进行之后的数据库参数调优任务;
步骤7、对workload的变化进行监控,通过对工作负载的分析得到的数据集提升数据库的吞吐量性能指标,实现对工作负载的分析。
2.根据权利要求1所述的一种关系数据库下查询驱动的智能工作负载分析方法,其特征在于,所述步骤3具体包括:
步骤3.1:采用最大最小值的归一化编码方案,将同一参数的不同值归一化为0-1的浮点数;
步骤3.2:对数据的逻辑特征进行提取;通过解析器获取模板化SQL的查询树,给每一个节点采用one-hot的编码方案,将每个操作编码为一个one-hot;所述操作具体包括:物理查询操作,扫描操作,排序操作,聚合操作;其中表列以及索引元数据信息采用one-hot编码方案;谓词也采用one-hot编码;
步骤3.3:将查询树上的节点信息通过深度优先策略编码成一个张量,所述张量代表该模板的逻辑特征,将workload(工作量)的所有模板的逻辑特征通过一层全连接神经网络进行压缩,得到表征该workload的逻辑特征;
步骤3.4:对模板到达率进行特征提取;根据时间戳得到在不同的时间段内该模板的到达次数,即将一个模板SQL的时间戳从小到大排序,并记录每个时间戳下出现该模板的次数,用来表征模板到达率的特征;
步骤3.5:通分析各个模板的到达情况进行聚类,采用KNN、K-Means方法对各个模板的在同一段时间内的到达次数曲线进行比较,通过将查询到达次数组织成向量进行余弦相似度计算,设置阈值为0.95,当相似度大于等于0.95时将到达次数随时间变化的曲线为同一类模板,选取每一类的聚类中心表示该类,最终将这些聚类中心的到达率编码成向量,该编码为一个0-1的浮点数,通过时间戳的先后顺序进行排列。
3.根据权利要求1所述的一种关系数据库下查询驱动的智能工作负载分析方法,其特征在于,所述步骤7具体包括:
步骤7.1:对workload的变化进行监控,当数据库的性能降低到设定阈值,则发出新的workload匹配请求,监听模块收到请求后向DBMS发出信息重新采集请求,DBMS收到此请求之后,采集步骤2中阐述的数据库物理资源信息,开启general_log收集查询日志,跳转步骤2和步骤3进行数据处理;
步骤7.2:将经过特征提取得到的特征向量传到监听模块,监听模块将此特征向量传入workload匹配模块,进行workload的表示预测以及匹配算法,重新构造数据库参数调优的数据集,部署到数据库得到设定时间内的数据库吞吐量,与数据库默认参数进行比较,进行工作负载分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110127114.2/1.html,转载请声明来源钻瓜专利网。