CN110597876A - 一种基于离线学习历史查询预测未来查询的近似查询方法 - Google Patents

一种基于离线学习历史查询预测未来查询的近似查询方法 Download PDF

Info

Publication number
CN110597876A
CN110597876A CN201910812371.2A CN201910812371A CN110597876A CN 110597876 A CN110597876 A CN 110597876A CN 201910812371 A CN201910812371 A CN 201910812371A CN 110597876 A CN110597876 A CN 110597876A
Authority
CN
China
Prior art keywords
query
result
approximate
results
queries
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910812371.2A
Other languages
English (en)
Other versions
CN110597876B (zh
Inventor
温延龙
李云
袁晓洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nankai University
Original Assignee
Nankai University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nankai University filed Critical Nankai University
Priority to CN201910812371.2A priority Critical patent/CN110597876B/zh
Publication of CN110597876A publication Critical patent/CN110597876A/zh
Application granted granted Critical
Publication of CN110597876B publication Critical patent/CN110597876B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于离线学习历史查询预测未来查询的近似查询方法,属于数据库技术应用领域。步骤如下:第1、离线学习历史查询对底层数据分布建模,第1.1、将复杂的SQL查询拆分为简单查询;第1.2、提取SQL查询和近似结果中包含的特征;第1.3、利用历史查询、近似结果和真实结果对底层数据分布建模;第2、在线预测新到来查询的结果,第2.1、将新到来的查询拆分为简单查询;第2.2、为每个简单查询在线预测查询结果;第2.3、将简单查询的预测结果合并输出最终的预测结果。本发明可以降低构建底层数据分布模型的复杂度同时提高其精确度,在没有多余时间消耗的情况下可以提高查询的精确度。

Description

一种基于离线学习历史查询预测未来查询的近似查询方法
技术领域
本发明属于数据库技术领域,具体涉及一种基于离线学习历史查询预测未来查询的近似查询方法。
背景技术
社交媒体、移动设备和无线传感器正以前所未有的速度产生大龄的时空数据,大数据上的聚合查询已经成为许多决策支持系统的基础。传统数据库以阻塞的方式处理数据查询,在用户提交查询后经过很长时间才能返回一个精确的结果,因此查询效率低下。一方面,对用户而言,返回一个精确的结果所需的查询时间是难以接受的。另一方面,决策支持系统在很多场景下不需要一个完全精确的答案,只要近似结果和真实结果能做出相同的决策即可。用户更倾向于选择一个不完全精确但是非常快速的答案。近似查询已经成为处理大数据和当今决策支持系统严格响应时间要求的一个经济高效的方法。
近年来的近似查询技术通常是基于采样、草图和摘要等方法获取一个较小的样本或特征来表示原始数据。这些方法的准确性取决于两个方面,一是样本数据的随机性,只有在确保样本选择完全随机时,用于估计最后结果的方法才具有统计意义。另一个就是估计方法的有效性。既然所有的查询都访问相同的底层分布,那么可以学习底层数据分布而不是用样本表征数据。如果能够通过一些方法对底层数据分布建模,之后的查询就可以访问模型参数得到结果而不用访问原始数据。现有的通过学习底层数据分布进行近似查询的技术使用最大熵原理,利用历史查询及其估计结果对底层数据建模用于预测未来查询的结果。这样的方法不够准确,同时需要计算查询结果的统计特征非常复杂。为了快速有效地对底层数据建模,我们借助机器学习的方法利用历史查询的近似结果和真实结果来模拟底层数据分布,使得模型更加准确,在没有多余时间消耗的情况下返回一个更加精确的结果。
发明内容
本发明的目的是解决现有通过学习底层数据分布进行近似查询的技术所带来的过程复杂、预测准确率低的问题,提出了一种基于离线学习历史查询预测未来查询的近似查询方法。本发明可通过离线的方式,求得历史查询的估计结果和真实结果。将查询和估计结果作为特征,真实结果作为标签,利用机器学习方法进行离线训练,得到底层数据分布的模型。当有新的查询到来时,通过离线学习的模型预测其结果。本发明可以降低构建底层数据分布模型的复杂度同时提高其精确度,在没有多余时间消耗的情况下可以提高查询的精确度。
本发明提供的基于离线学习历史查询预测未来查询的近似查询方法的具体步骤如下:
第1、离线学习历史查询对底层数据分布建模
每一条查询及其结果都包含了底层数据分布的一点知识,本发明通过学习这些知识来模拟底层数据的分布。在离线的情况下,获得历史查询的近似结果和真实结果,以历史查询和其近似结果作为特征,以真实结果作为标签,利用机器学习模型对底层数据分布建模。具体方法如下:
定义1:简单查询指的是具有单个聚合函数的查询,其SELECT子句中没有其他投影列,并且没有GROUP-BY子句。聚集查询q是具有如下形式的一个SQL查询,
SELECT agg(ai)
FROM relationr
WHERE conditionc
其中:
SELECT语句用于从数据表中选取数据,结果被存储在一个结果表中;
agg为查询的聚合类型,它可以是SUM、COUNT和AVG三种函数中的一种。SUM()函数返回数值列的总数(总额),COUNT()函数返回匹配指定条件的行数,AVG()函数返回数值列的平均值(NULL值不包含在计算中);
ai为数据表中的某一列,该列必须是数值类型的;
FROM语句用于指定数据表;
relationr为数据库中的一张关系表,它可以是一个单独的事实表,也可以是两个或多个事实表经过连接操作得到的一张关系表;
WHERE语句用于有条件地从表中选取数据;
conditionc是WHERE语句后面的条件语句,每个条件可以用一个三元组attribute、operator、value表示,其中attribute为列名称,operatot为运算符,value为值,这其中包含了GROUP-BY子句转化后新添加的条件。
定义2:qi表示第i个简单查询;
定义3:表示现有的近似查询引擎返回的查询qi的近似结果;
定义4:表示查询qi的真实结果;
定义5:表示通过我们的方法求得的查询qi的近似结果;
第1.1、将复杂的SQL查询拆分为简单查询
复杂查询的结果中可能包含多行多列数据,预测这些查询的结果非常困难,所以需要将复杂查询拆分为简单查询。每个简单查询的结果是一个单值。一个复杂查询可以拆分为多个简单查询。拆分的规则如下:
如果查询的SELECT子句中包含nagg个聚合函数,那么该查询会被分解为nagg个简单查询,每个简单查询仅包含其中的一个聚合函数;
如果查询中包含GROUP-BY子句,假设GROUP-BY后的分组列共有ngrp个不同的取值,那么该查询会被分解为ngrp个简单查询,每个简单查询的WHERE子句添加一个新的条件,对应于原查询的ngrp个不同取值中的一个过滤条件。
第1.2、提取SQL查询和近似结果中包含的特征
将复杂查询拆分为简单查询之后,需要从简单查询和近似结果中提取特征,将这些特征划分为四类:选择特征、关系表特征、条件特征和近似结果特征。选择特征指的是SELECT子句中包含的聚合函数和聚合列特征;关系表特征指的是FROM子句中包含的关系表特征,它可以是一张事实表,或是两张或多张事实表经过连接操作形成的表;条件特征指的是WHERE子句后所包含的条件,这些条件通过“and”或者“or”连接起来,每个条件是对某一列取值的一个限制,因此每个条件用三元组column、operator、value表示,其中column为列名,operator为操作符,value为取值;近似结果特征是指通过现有的近似查询引擎返回的近似结果,它与最后取得的真实结果很相近,因此很自然地可以作为一个特征;经过特征提取步骤,我们将转换成了一个特征向量,记作vi
第1.3、利用历史查询、近似结果和真实结果对底层数据分布建模
从历史查询和近似结果中提取特征后,训练集中的每一条数据可以用特征向量和真实结果标签组成的二元组表示,即训练集 训练集中的数据用于训练一个回归器f(v),f(v)用于预测新到来的查询的结果,其中用到的回归模型共有四种:决策树模型、随机森林模型、Bagging模型和极限树模型,决策树模型是一种常用的分类器模型,或用于回归任务;随机森林模型、Bagging模型和极限树模型都是集成学习模型,通过采样训练T个弱学习器,最终的预测结果为T个弱学习器预测结果的算数平均值。
第2、在线预测新到来查询的结果
在步骤1中离线训练得到了一个底层数据分布的模型,当新的查询到来时,本发明需要通过访问该模型为查询预测结果。首先通过现有的近似查询引擎获得一个近似结果,将该查询及其近似结果作为输入,通过访问底层数据分布的模型,输出一个提升后的近似结果,即通过我们的方法求得的结果。
定义6:新到来的查询记为qnew
第2.1、将新到来的查询拆分为简单查询
根据步骤1.1中的规则将新到来的查询qnew拆分为简单查询,因为底层分布的模型是通过学习简单查询及其结果得到的,预测结果同样也是针对简单查询的,qnew拆分后形成的包含m个简单查询的集合为
第2.2、为每个简单查询在线预测查询结果
对集合中的每个简单查询,通过现有的近似查询引擎求得结果,记为这里我们使用的近似查询引擎为VerdictDB,通过步骤1.2中提取特征的方法将转换成一个特征向量为集合中的每个简单查询执行此步骤,最终可得到一个特征向量集合将特征向量作为输入,通过查询步骤1.3中建立好的底层数据分布模型,得到输出
第2.3、将简单查询的预测结果合并输出最终的预测结果
在步骤2.1中我们将复杂查询拆分成了简单查询,简单查询的结果为单值。在为每个简单查询预测结果后,需要将其合并输出原始查询的结果,当不包含GROUP-BY子句时,将简单查询的结果按照原始查询SELECT子句中的顺序组合在一起输出,当包含GROUP-BY子句时,需要按照GROUP-BY的分组顺序依次将查询结果组合在一起,最终输出为查询qnew的最终结果
本发明的优点和有益效果:
本发明通过对当前国内外近似查询技术的研究分析,提出一种基于离线学习历史查询预测未来查询的近似查询方法,从历史查询中提取特征对底层数据分布建模,能够通过该模型预测未来查询的结果。相对于传统的基于采样的近似查询方法,本发明不需要构建样本而是用模型来表示底层数据分布,节省了创建样本和维护样本的成本。相对于“学习型数据库”的近似查询方法,本发明在对底层数据分布建模时不需要借助近似结果的统计特征,简化建模的过程,在没有额外时间消耗的情况下能够提升预测结果的准确性。
附图说明
图1本发明方法示意图;
图2本发明方法流程总图;
图3中国移动宽带上网信息数据集的列举字段;
图4TPC-H数据集上的一条查询;
图5TPC-H查询拆分后形成的简单查询;
图6示例查询;
图7示例查询提取出的特征向量;
图8在两个数据集上的误差减少率;
图9误差减少率随训练集大小变化的情况;
图10在不同分布的数据集上的误差减少率;
图11训练时间和预测时间。
具体实施方式
本发明方法的示意图如图1所示,方法流程如图2所示。
下面结合实施例介绍本发明方法的具体实施方式,首先我们选定三个数据集,分别是中国移动宽带上网信息数据集、TPC-H数据集和合成数据集。中国移动宽带上网信息数据集包括2015年某月连续6天的历史在线行为的用户记录,图3列举了数据集的一些典型字段及其含义,我们使用统计上网信息常用的一些聚合查询作为查询集合。TPC-H是一个常用的决策支持基准数据集,它包含了22个常用查询,我们使用其中21个包含聚合操作的查询作为该数据集上的查询集合。合成数据集是指生成的不同分布的数据集,包含随机分布、高斯分布和倾斜分布三种分布的数据集,我们使用随机生成的聚合查询作为该数据集上的查询集合。
第1、离线学习历史查询对底层数据分布建模
每一条查询及其结果都包含了底层数据分布的一点知识,本发明通过学习这些知识来模拟底层数据的分布。在离线的情况下,获得历史查询的近似结果和真实结果,以历史查询和其近似结果作为特征,以真实结果作为标签,利用机器学习模型对底层数据分布建模。具体方法如下:
定义1:简单查询指的是具有单个聚合函数的查询,其SELECT子句中没有其他投影列,并且没有GROUP-BY子句。聚集查询q是具有如下形式的一个SQL查询,
SELECT agg(ai)
FROM relationr
WHERE conditionc
其中:
SELECT语句用于从数据表中选取数据,结果被存储在一个结果表中;
agg为查询的聚合类型,它可以是SUM、COUNT和AVG三种函数中的一种。SUM()函数返回数值列的总数(总额),COUNT()函数返回匹配指定条件的行数,AVG()函数返回数值列的平均值(NULL值不包含在计算中);
ai为数据表中的某一列,该列必须是数值类型的;
FROM语句用于指定数据表;
relationr为数据库中的一张关系表,它可以是一个单独的事实表,也可以是两个或多个事实表经过连接操作得到的一张关系表;
WHERE语句用于有条件地从表中选取数据;
conditionc是WHERE语句后面的条件语句。每个条件可以用一个三元组(attribute,operator,value)表示,其中attribute为列名称,operatot为运算符,value为值。这其中包含了GROUP-BY子句转化后新添加的条件。
定义2:qi表示第i个简单查询;
定义3:表示现有的近似查询引擎返回的查询qi的近似结果;
定义4:表示查询qi的真实结果;
定义5:表示通过我们的方法求得的查询qi的近似结果;
第1.1、将复杂的SQL查询拆分为简单查询
复杂查询的结果中可能包含多行多列数据,预测这些查询的结果非常困难,所以需要将复杂查询拆分为简单查询。每个简单查询的结果是一个单值。一个复杂查询可以拆分为多个简单查询。拆分的规则如下:
(1)如果查询的SELECT子句中包含nagg个聚合函数,那么该查询会被分解为nagg个简单查询,每个简单查询仅包含其中的一个聚合函数。
(2)如果查询中包含GROUP-BY子句,假设GROUP-BY后的分组列共有ngrp个不同的取值,那么该查询会被分解为ngrp个简单查询,每个简单查询的WHERE子句添加一个新的条件,对应于原查询的ngrp个不同取值中的一个过滤条件。
按照上述规则,TPC-H基准数据集上的一条查询如图4所示。它的SELECT子句中包含6个查询列,即nagg=6;它包含GROUP-BY子句,假设分组列属性的不同取值有8组,即nagg=8。那么该查询会被分解成nagg*ngrp=48个简单查询,每个简单查询的形式如图5所示。att为原查询SELECT子句中的一个取值,(f,s)为分组列属性(l_returnflag,l-linestatus)的不同取值。
第1.2、提取SQL查询和近似结果中包含的特征
将复杂查询拆分为简单查询之后,我们将从简单查询中提取的特征划分为四类:选择特征、关系表特征、条件特征和近似结果特征。如图6所示的一个查询,我们分别提取它的四类特征。选择特征只包含一个聚合函数SUM和属性列l_quantity;关系表特征为lineitem;条件特征中包含五个条件,其中前三个为原始WHERE子句中的条件,后两个为GROUP-BY子句转换后添加到拆分后的查询的WHERE子句中的条件,每个条件都可以用三元组(column,operator,value)表示,其中column为列名,operator为操作符,value为取值;最后为θraw近似结果特征。该查询提取的特征在图7中。提取SQL查询和近似结果中包含的特征具体如下:
算法1:提取特征算法
输入:简单SQL查询q,初始近似结果θraw
输出:特征向量v
第1.3、利用历史查询、近似结果和真实结果对底层数据分布建模
从历史查询和近似结果中提取特征后,训练集中的每一条数据可以用特征向量和真实结果标签组成的二元组表示,即训练集 训练集中的数据用于训练一个回归器f(v),f(v)用于预测新到来的查询的结果。我们用到的回归模型共有四种:决策树模型、随机森林模型、Bagging模型和极限树模型。决策树模型是一种常用的分类器模型,也可以用于回归任务。随机森林模型、Bagging模型和极限树模型都是集成学习模型,通过采样训练T个弱学习器,最终的预测结果为T个弱学习器预测结果的算数平均值。我们通过减小损失函数来训练得到最终的模型。
第2、在线预测新到来查询的结果
在步骤1中离线训练得到了一个底层数据分布的模型,当新的查询到来时,本发明需要通过访问该模型为查询预测结果。首先通过现有的近似查询引擎获得一个近似结果,将该查询及其近似结果作为输入,通过访问底层数据分布的模型,输出一个提升后的近似结果,即通过我们的方法求得的结果。
定义6:新到来的查询记为qnew
第2.1、将新到来的查询拆分为简单查询
根据步骤1.1中的规则将新到来的查询qnew拆分为简单查询,因为底层分布的模型是通过学习简单查询及其结果得到的,预测结果同样也是针对简单查询的。qnew拆分后形成的包含m个简单查询的集合为
第2.2、为每个简单查询在线预测查询结果
对集合中的每个简单查询,通过现有的近似查询引擎求得结果,记为这里我们使用的近似查询引擎为VerdictDB。通过步骤1.2中提取特征的方法将转换成一个特征向量为集合中的每个简单查询执行此步骤,最终可得到一个特征向量集合将特征向量作为输入,通过查询步骤1.3中建立好的底层数据分布模型,得到输出
通过VerdictDB计算得到的结果与真实结果的误差为:
通过我们的方法预测的查询结果与真实结果的误差为:
我们的方法相比于VerdictDB降低的误差为:
我们的目标是尽可能地提高预测结果的准确率,即降低误差,让ernew落到区间[0,1]上。当我们的误差越小时,就越接近0,ernew就越接近1.
第2.3、将简单查询的预测结果合并输出最终的预测结果
在步骤2.1中我们将复杂查询拆分成了简单查询,简单查询的结果为单值。在为每个简单查询预测结果后,需要将其合并输出原始查询的结果。当不包含GROUP-BY子句时,将简单查询的结果按照原始查询SELECT子句中的顺序组合在一起输出。当包含GROUP-BY子句时,需要按照GROUP-BY的分组顺序依次将查询结果组合在一起。最终输出为查询qnew的最终结果
为了证明本发明的有效性,我们在中国移动宽带上网数据集和TPC-H这两个数据集上分别利用四个机器学习模型对测试集中的查询进行了预测,其置信度和误差如图8所示。conf代表预测结果的置信度,er代表预测结果的误差,即本发明以conf的概率减小了er的误差。MB代表中国移动数据集,TPC-H代表TPC-H数据集。
为了说明本发明预测结果的误差与训练集大小的关系,我们将训练集的大小设置为从10到8000不等,记录了预测结果的误差随训练集大小变化的情况。如图9所示,折现代表置信度,柱形图代表降低的误差。可以看出,本发明在训练集较小的情况下能够降低较大的误差。并且,随着训练集中查询条数的增加,本发明以越来越大的概率降低了越来越多的误差。
为了验证本发明在不同分布的数据集上的鲁棒性,我们分别在三种不同分布的数据集上进行实验。如图10所示,可以看出在随机分布、高斯分布和倾斜分布三种分布的数据集上,我们的方法都有很好的效果。
为了说明本发明的时间效率,我们记录了训练时间和预测时间,如图11所示。可以看出离线的训练时间和预测时间都很短,相比于查询时间可以忽略不计。

Claims (8)

1.一种基于离线学习历史查询预测未来查询的近似查询方法,该方法将查询和估计结果作为特征,真实结果作为标签,利用机器学习方法进行离线训练,得到底层数据分布的模型,当有新的查询到来时,通过离线学习的模型预测其结果,
步骤如下:
第1、离线学习历史查询对底层数据分布建模
第1.1、将复杂的SQL查询拆分为简单查询,
第1.2、提取SQL查询和近似结果中包含的特征,
第1.3、利用历史查询、近似结果和真实结果对底层数据分布建模;
第2、在线预测新到来查询的结果
第2.1、将新到来的查询拆分为简单查询,
第2.2、为每个简单查询在线预测查询结果,
第2.3、将简单查询的预测结果合并输出最终的预测结果。
2.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第1.1中,聚集查询q是具有如下形式的一个SQL查询,
SELECT agg(ai)
FROM relationr
WHERE conditionc
其中:
SELECT语句用于从数据表中选取数据,结果被存储在一个结果表中;
agg为查询的聚合类型,它可以是SUM、COUNT和AVG三种函数中的一种,SUM()函数返回数值列的总数(总额),COUNT()函数返回匹配指定条件的行数,AVG()函数返回数值列的平均值,其中NULL值不包含在计算中;
ai为数据表中的某一列,该列必须是数值类型的;
FROM语句用于指定数据表;
relationr为数据库中的一张关系表,它可以是一个单独的事实表,也可以是两个或多个事实表经过连接操作得到的一张关系表;
WHERE语句用于有条件地从表中选取数据;
conditionc是WHERE语句后面的条件语句,每个条件可以用一个三元组attribute、operatot、value表示,其中attribute为列名称,operatot为运算符,value为值,这其中包含了GROUP-BY子句转化后新添加的条件。
3.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第1.1中,拆分的规则如下:
如果查询的SELECT子句中包含nagg个聚合函数,那么该查询会被分解为nagg个简单查询,每个简单查询仅包含其中的一个聚合函数;
如果查询中包含GROUP-BY子句,假设GROUP-BY后的分组列共有ngrp个不同的取值,那么该查询会被分解为ngrp个简单查询,每个简单查询的WHERE子句添加一个新的条件,对应于原查询的ngrp个不同取值中的一个过滤条件。
4.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第第1.2中,将复杂查询拆分为简单查询之后,需要从简单查询和近似结果中提取特征,将这些特征划分为四类:选择特征、关系表特征、条件特征和近似结果特征,选择特征指的是SELECT子句中包含的聚合函数和聚合列特征;关系表特征指的是FROM子句中包含的关系表特征,它可以是一张事实表,或是两张或多张事实表经过连接操作形成的表;条件特征指的是WHERE子句后所包含的条件,这些条件通过“and”或者“or”连接起来,每个条件是对某一列取值的一个限制,因此每个条件用三元组column、operator、value表示,其中column为列名,operator为操作符,value为取值;近似结果特征是指通过现有的近似查询引擎返回的近似结果,它与最后取得的真实结果很相近,因此很自然地可以作为一个特征;经过特征提取步骤,将转换成了一个特征向量,记作vi
5.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第1.3中,从历史查询和近似结果中提取特征后,训练集中的每一条数据可以用特征向量和真实结果标签组成的二元组表示,即训练集 训练集中的数据用于训练一个回归器f(v),f(v)用于预测新到来的查询的结果,其中用到的回归模型共有四种:决策树模型、随机森林模型、Bagging模型和极限树模型,决策树模型是一种常用的分类器模型,或用于回归任务;随机森林模型、Bagging模型和极限树模型都是集成学习模型,通过采样训练T个弱学习器,最终的预测结果为T个弱学习器预测结果的算数平均值。
6.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第2.1中,根据步骤1.1中的规则将新到来的查询qnew拆分为简单查询,因为底层分布的模型是通过学习简单查询及其结果得到的,预测结果同样也是针对简单查询的,qnew拆分后形成的包含m个简单查询的集合为
7.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第2.2中,对集合中的每个简单查询,通过现有的近似查询引擎求得结果,记为这里我们使用的近似查询引擎为VerdictDB,通过步骤1.2中提取特征的方法将转换成一个特征向量为集合中的每个简单查询执行此步骤,最终可得到一个特征向量集合将特征向量作为输入,通过查询步骤1.3中建立好的底层数据分布模型,得到输出
8.根据权利要求1所述的基于离线学习历史查询预测未来查询的近似查询方法,其特征是:
步骤第第2.3中,在为每个简单查询预测结果后,需要将其合并输出原始查询的结果,当不包含GROUP-BY子句时,将简单查询的结果按照原始查询SELECT子句中的顺序组合在一起输出;当包含GROUP-BY子句时,需要按照GROUP-BY的分组顺序依次将查询结果组合在一起,最终输出为查询qnew的最终结果
CN201910812371.2A 2019-08-30 2019-08-30 一种基于离线学习历史查询预测未来查询的近似查询方法 Active CN110597876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910812371.2A CN110597876B (zh) 2019-08-30 2019-08-30 一种基于离线学习历史查询预测未来查询的近似查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910812371.2A CN110597876B (zh) 2019-08-30 2019-08-30 一种基于离线学习历史查询预测未来查询的近似查询方法

Publications (2)

Publication Number Publication Date
CN110597876A true CN110597876A (zh) 2019-12-20
CN110597876B CN110597876B (zh) 2023-03-24

Family

ID=68856461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910812371.2A Active CN110597876B (zh) 2019-08-30 2019-08-30 一种基于离线学习历史查询预测未来查询的近似查询方法

Country Status (1)

Country Link
CN (1) CN110597876B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581454A (zh) * 2020-04-27 2020-08-25 清华大学 基于深度图压缩算法的并行查询表现预测系统及方法
CN111723106A (zh) * 2020-06-24 2020-09-29 北京松鼠山科技有限公司 SparQL查询语句的预测方法和装置
CN113160108A (zh) * 2020-12-01 2021-07-23 江苏大学 一种少样本多类饵料的顺序查询计数方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104317838A (zh) * 2014-10-10 2015-01-28 浙江大学 一种基于耦合鉴别性字典的跨媒体哈希索引方法
CN104850531A (zh) * 2014-02-19 2015-08-19 日本电气株式会社 一种建立数学模型的方法和装置
CN106033546A (zh) * 2015-03-10 2016-10-19 中国科学院西安光学精密机械研究所 基于自上而下学习的行为分类方法
US20170235788A1 (en) * 2016-02-12 2017-08-17 Linkedin Corporation Machine learned query generation on inverted indices
CN107403196A (zh) * 2017-07-28 2017-11-28 江南大学 基于谱聚类分析的即时学习建模方法
CN108153894A (zh) * 2017-12-29 2018-06-12 上海跬智信息技术有限公司 一种olap数据模型自动建模的方法、分类器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850531A (zh) * 2014-02-19 2015-08-19 日本电气株式会社 一种建立数学模型的方法和装置
CN104317838A (zh) * 2014-10-10 2015-01-28 浙江大学 一种基于耦合鉴别性字典的跨媒体哈希索引方法
CN106033546A (zh) * 2015-03-10 2016-10-19 中国科学院西安光学精密机械研究所 基于自上而下学习的行为分类方法
US20170235788A1 (en) * 2016-02-12 2017-08-17 Linkedin Corporation Machine learned query generation on inverted indices
CN107403196A (zh) * 2017-07-28 2017-11-28 江南大学 基于谱聚类分析的即时学习建模方法
CN108153894A (zh) * 2017-12-29 2018-06-12 上海跬智信息技术有限公司 一种olap数据模型自动建模的方法、分类器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PARK Y: "Data learning:Toward a database that becomes smarter every time", 《PROC OF THE 2017 ACM INT CONF ON MANAGEMET OF DATA》 *
崔斌: "新型数据管理系统研究进展与趋势", 《软件学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581454A (zh) * 2020-04-27 2020-08-25 清华大学 基于深度图压缩算法的并行查询表现预测系统及方法
CN111723106A (zh) * 2020-06-24 2020-09-29 北京松鼠山科技有限公司 SparQL查询语句的预测方法和装置
CN113160108A (zh) * 2020-12-01 2021-07-23 江苏大学 一种少样本多类饵料的顺序查询计数方法
CN113160108B (zh) * 2020-12-01 2024-03-19 江苏大学 一种少样本多类饵料的顺序查询计数方法

Also Published As

Publication number Publication date
CN110597876B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN110597876B (zh) 一种基于离线学习历史查询预测未来查询的近似查询方法
CN106446148A (zh) 一种基于聚类的文本查重方法
CN106021364A (zh) 图片搜索相关性预测模型的建立、图片搜索方法和装置
WO2019127744A1 (zh) 一种olap数据模型自动建模的方法、分类器
CN112035599B (zh) 基于垂直搜索的查询方法、装置、计算机设备及存储介质
CN104239553A (zh) 一种基于Map-Reduce框架的实体识别方法
CN111444220B (zh) 规则驱动和数据驱动相结合的跨平台sql查询优化方法
CN110569289B (zh) 基于大数据的列数据处理方法、设备及介质
CN115470338B (zh) 一种基于多路召回的多场景智能问答方法和系统
CN111368096A (zh) 基于知识图谱的信息分析方法、装置、设备和存储介质
CN105320764A (zh) 一种基于增量慢特征的3d模型检索方法及其检索装置
CN105574213A (zh) 一种基于数据挖掘技术的微博推荐方法及装置
CN106611016B (zh) 一种基于可分解词包模型的图像检索方法
CN114911844B (zh) 基于机器学习的近似查询优化系统
CN111125396A (zh) 一种单模型多分支结构的图像检索方法
CN117827881A (zh) 一种基于历史信息的Spark SQL Shuffle任务数优化系统
Feng et al. Web service QoS classification based on optimized convolutional neural network
Wang et al. A hybird image retrieval system with user's relevance feedback using neurocomputing
Peng et al. Hybrid collaborative filtering recommendation algorithm for als model based on a big data platform
CN106202234B (zh) 基于样本对分类器可纠正的交互式信息检索方法
Ikonomovska et al. Regression on evolving multi-relational data streams
Wang et al. Learning pseudo metric for intelligent multimedia data classification and retrieval
Wang et al. Data mining technology based on Bayesian network structure applied in learning
Lv et al. Active learning of three-way decision based on neighborhood entropy
AU2021106050A4 (en) An efficient technique for heterogenous data using extreme learning approach via unsupervised multiple kernels

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant