[发明专利]一种OLAP查询引擎动态cost评估方法及装置在审
申请号: | 202210124268.0 | 申请日: | 2022-02-10 |
公开(公告)号: | CN114416783A | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 毛春阳;闫一帅 | 申请(专利权)人: | 中盈优创资讯科技有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/28;G06N20/00 |
代理公司: | 上海嘉蓝专利代理事务所(普通合伙) 31407 | 代理人: | 金波 |
地址: | 200000 上海市嘉定区安*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 olap 查询 引擎 动态 cost 评估 方法 装置 | ||
本发明公开一种OLAP查询引擎动态cost评估方法及装置,其中,该方法包括:采集数据仓库中数据表的数据量和字段基数;同时记录历史查询sql和对应的查询时间;对sql的执行时间进行离散处理,生成标签;同时将数据表的表信息、过滤字段、分析字段、时间分区、表数据量和分析字段基数,生成各自的特征编码;利用已有的机器学习模型,对已有查询样本,根据提取的数据表的特征进行分类算法训练;将OLAP查询引擎的执行计划转化为特征向量,输入机器学习模型中进行基数评估,从而获得数据表的预估查询时间。该方法及装置使OLAP查询引擎能够快速、准确的对输入的查询sql进行cost评估,生成最优执行计划。
技术领域
本发明涉及OLAP查询引擎领域,尤其是一种OLAP查询引擎动态cost评估方法及装置。
背景技术
目前市面上主流的开源OLAP(On-Line Analytical Processing,联机分析处理)查询引擎,包括Hive、Spark SQL、Presto、Kylin、Impala、Druid、Clickhouse、Greeplum等,都是使用基于规则的方式来进行cost评估,如图1所示,目前存在以下问题:
1、准确性低:表的数据量、字段基数等信息对查询性能影响很大,目前基于规则的cost评估引擎无法利用这些信息对sql进行最优cost评估。
2、没有动态改进的能力:不具备自学习能力,无法动态学习查询记录,改进提升cost评估准确性。
发明内容
为了解决目前基于规则的方式进行cost评估存在的上述问题,本发明提供一种OLAP查询引擎动态cost评估方法及装置,使OLAP查询引擎能够快速、准确的对输入的查询sql进行cost评估,生成最优执行计划。
为实现上述目的,本发明采用下述技术方案:
在本发明一实施例中,提出了一种OLAP查询引擎动态cost评估方法,该方法包括:
采集数据仓库中数据表的数据量和字段基数;同时记录历史查询sql和对应的查询时间;
对sql的执行时间进行离散处理,生成标签;同时将数据表的表信息、过滤字段、分析字段、时间分区、表数据量和分析字段基数,生成各自的特征编码;
利用已有的机器学习模型,对已有查询样本,根据提取的数据表的特征进行分类算法训练;
将OLAP查询引擎的执行计划转化为特征向量,输入机器学习模型中进行基数评估,从而获得数据表的预估查询时间。
进一步地,对sql的执行时间进行离散处理,生成标签,包括:
对sql的执行时间进行离散处理,并打上标签;
生成数据表的执行时间及对应的标签。
进一步地,将数据表的表信息、过滤字段、分析字段、时间分区、表数据量和分析字段基数,生成各自的特征编码,包括:
对数据表的表信息、过滤字段、分析字段和时间分区进行onehot编码,生成各自的特征编码,其中时间分区的特征编码长度为365*4,范围为N天,则第N位为1;
对数据表的数据量,通过其中i为表标识,n为表数据量,生成特征编码;
对数据表的分析字段基数,通过其中I为分析字段标识,N为分析字段基数,生成特征编码。
进一步地,根据正态分布的定义,对查询样本的异常数据进行丢弃处理。
在本发明一实施例中,还提出了一种OLAP查询引擎动态cost评估装置,该装置包括:
信息采集模块,用于采集数据仓库中数据表的数据量和字段基数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中盈优创资讯科技有限公司,未经中盈优创资讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210124268.0/2.html,转载请声明来源钻瓜专利网。