使数据库查询形成聚类以用于运行时间预测制造技术

技术编号:13306778 阅读:39 留言:0更新日期:2016-07-10 02:04
本发明专利技术特别涉及一种计算机实现的用于使数据库中的参考查询形成聚类,从而基于目标查询与参考查询的相似度来预测数据库中的目标查询的运行时间的方法。所述方法包括以下的步骤:提供(S10)表示参考查询的运行时间的多个数值;针对预先确定的聚类的数量,计算数值的最佳K均值聚类形成,其中,计算步骤(S20)包括将应用至其阶数等于所述数值的数量的方块矩阵的线性时间行最小值搜索算法迭代与预先确定的聚类的数量相对应的次数;并且根据计算的所述数值的聚类形成而使参考查询形成聚类。这种方法改进了数据库查询时间预测的领域。

【技术实现步骤摘要】

本专利技术特别地涉及数据库工程的领域,并且尤其涉及计算机实现的用于使数据库中的参考查询形成聚类的方法、计算机程序、和系统。
技术介绍
数据库工程常常包含关于对数据库的查询的不同种类的优化,并且尤其针对执行工作量预测。执行查询所花费的时间被称为工作量,或简单地称为执行时间、或查询运行时间。这通常是优化器将最小化的量,即使常常必须考虑其他成本,如所使用的存储器空间和资源。重要的是要注意到,回答查询所需要的时间是用于计算查询计划与用于执行查询计划的时间的和。一些技术倾向于寻找这两个量之间的权衡(例如,在文档US20050071331A1中)。查询运行时间预测的最重要的应用是查询优化,所述查询优化依靠这些预测以从常常很大数量的候选者中选择特定的执行计划。在现实世界的应用中,数据库系统在必须一些时间内回答很多查询,这就是为什么其运行查询调度(详见文章“Distribution-BasedQueryScheduling”,作者Chi,Hacigum,Hsiung,Naughton,2013),该调度基于不同的标准,如期望的查询运行时间、从其发送查询的用户的优先级、有关的任务的优先级。因此,查询运行时间是需要进行估计以便调度查询的中央信息。特别地,本领域技术人员想要避免可能延迟其他重要的查询的瓶颈查询。此外,评估查询的运行时间以便量化对其计算投入(put)多少资源以使得查询将在给定的时间限制之前被执行,可以是有趣的。这在文档US20050192937中进行了说明。如所提及的,预测查询的运行时间是查询调度的核心,并且因此该问题已经被集中地研究过。一种用于预测查询的运行时间的自然的方式是去寻找已经被执行的查询(并且对于那些已经存储了所使用的时间的查询)的“相似”查询的运行时间。为了实现这种方法,必须要找到好的表示以便利用例如在文章“PredictingMultipleMetricsforQueries:BetterDecisionsEnabledbyMachineLearning”,作者Ganapathi,Kuno,Dayal,Wiener,Fox,Jordan,和Patterson(2009)中的度量,或文章“LearningtoPredictResponseTimesforOnlineQueryScheduling”,作者Macdonald,Tonellotto,和Onnis(2011)中的模型选择,来将好的表示之间的查询进行比较,并且学习如何对其运行时间建模。对查询的表示的选择和根据该表示对运行时间进行建模的方法取决于构建查询的语言。例如,研究报告“PredictingSPARQLQueryExecutionTimeandSuggestingSPARQLQueriesBasedonQueryHistory”,作者Hasan和Gandon处理SPARQL语言的情况。接着可以在机器学习算法已经被应用到训练集之后,评估对查询的运行时间的预测。特别地,论文“DynamicCostModelsforQueryRuntimePrediction”作者Lima分析了如PostgreSQL的关系数据库的情况,并且利用特定的查询的表示来测试不同的经典机器学习算法。有监督的平均、有监督的线性回归、有监督的K近邻回归、有监督的Nadaraya-Watson回归都是常用的概念。多篇文章已经论证了强大的元方法(meta-method)在于将训练集的查询划分成执行时间的区间,并且接着对每个区间应用机器学习方法。特别地,文章“PQR:PredictingQueryExecutionTimesforAutonomousWorkloadManagement”,作者Gupta,Mehta,Dayal(2008)使用了该时间上的分隔。一些方法也递归地应用该范式并且获得PQR树(如在文档US7895192B2和US20080270346中),其中,树的每个节点都使用在训练数据上学习到的预测子(回忆一下,训练数据是其执行时间已知的一组查询)。最鲁棒性的一般方法中的一种在于使训练集查询的查询时间形成聚类,并且接着预测发现距离其最近的聚类的给定的(新)查询的执行时间(利用特定的相似度的概念,常常基于该查询和该聚类的质心(centroid)之间的相似度),并且接着根据该聚类的查询时间来计算查询时间。上文中提及的Hasan和Gandon的研究报告“PredictingSPARQLQueryExecutionTimeandSuggestingSPARQLQueriesBasedonQueryHistory”,与Wang和Wong的文章“Optimalk-meansClusteringinOneDimensionbyDynamicProgramming”示出了例如,该最后的计算可以通过评估在聚类上学习到的预测的模型(可以是简单的平均——在这种情况下该最后的计算相当于以一种方式来量化(即,根据预先确定的距离,由值的预先确定的集中的最接近的一个值来替换输入值),或如SVM的更复杂的机器学习方法)来执行。该框架涉及更普遍的聚类分析的领域。聚类分析涉及将对象的集划分成组(称为聚类)的任务,使得在每个组中,数据是相似的(见Jain等的文章“DataClustering:AReview”)。这表现为数据挖掘(见Chen等的文章“Datamining:anoverviewfromadatabaseperspective”)、机器学习(见Murphy的书,“MachineLearning,AProbabilisticPerspective”)、和大规模搜索(见Goodrum的文章,“ImageInformationRetrieval:AnOverviewofCurrentResearch”)中的中心问题。聚类分析是量化的重要工具:向每个聚类分配一个中心,该聚类具有包含在将每个点量化至其聚类的中心的简单量化。K均值聚类形成(K-meansclustering)问题是聚类分析中最著名的问题,并且由StuartLloyd在贝尔实验室在1957年作为针对脉冲编码调制的技术而提出。Lloyd算法将p维的点的集合作为输入,并且将这些点的分区(partition)作为输出,该分区的目的在于最小化“总失真”。该算法仅仅是启发式的(其不提供最佳的聚类形成)。但是事实上,我们不能期待准确的算法,这是因为K均值聚类形成问题在非一维情况下是NP难(NP-hard)的。Lloyd算法现在仍然被广泛使用。也已经提出了几个变体(见J.A.Hartigan(1975),“Clusteringal本文档来自技高网...

【技术保护点】
一种计算机实现的使数据库中的参考查询形成聚类以用于基于所述数据库中的目标查询与所述参考查询的相似度来对所述目标查询的运行时间进行预测的方法,其中,所述方法包括以下的步骤:提供(S10)表示所述参考查询的所述运行时间的多个(n个)数值(x1,...,xn);针对预先确定的聚类的数量(K个),计算(S20)所述数值的最佳K均值聚类形成,其中,所述计算步骤(S20)包括将应用至具有等于所述数值的数量的阶数(n)的方块矩阵(H)的线性时间行最小值搜索算法迭代与所述预先确定的聚类的数量相对应的次数;并且根据所述数值的所计算的聚类形成,使所述参考查询形成聚类(S30)。

【技术特征摘要】
2014.12.27 EP 14307192.61.一种计算机实现的使数据库中的参考查询形成聚类以用于基于所述数据库中的目
标查询与所述参考查询的相似度来对所述目标查询的运行时间进行预测的方法,其中,所
述方法包括以下的步骤:
提供(S10)表示所述参考查询的所述运行时间的多个(n个)数值(x1,...,xn);
针对预先确定的聚类的数量(K个),计算(S20)所述数值的最佳K均值聚类形成,其中,
所述计算步骤(S20)包括将应用至具有等于所述数值的数量的阶数(n)的方块矩阵(H)的线
性时间行最小值搜索算法迭代与所述预先确定的聚类的数量相对应的次数;并且
根据所述数值的所计算的聚类形成,使所述参考查询形成聚类(S30)。
2.根据权利要求1所述的方法,其中,所述数值(x1,...,xn)被进行排序并相应地被编制
了索引,并且所述计算步骤(S20)内的所述迭代包括,在每个相应的迭代等级(k)并且对于
低于所述数值的数量(n)的每个相应的索引(j),最小总失真(TDmin(j,k))的计算对于所编
制的索引小于该相应的索引的数值(xi)(i≤j)的子集是能够实现的,其中根据应用至所述
方块矩阵(H)的所述线性时间行最小值搜索算法,聚类的数量对应于相应的迭代等级(k)。
3.根据权利要求2所述的方法,其中,在每个相应的迭代等级(k)并且对于低于所述数
值的数量(n)的每个相应的索引(j),对于每个行索引(i)和每个列索引(j),矩阵条目(H(i,
j))对应于以下项的和:
在针对该个行索引之前的索引(i-1)的先前的迭代中计算的最小总失真(TDmin(i-1,k-
1)),以及
在该个行索引和该个列索引之间的所述数值的连续的子集(xi,...,xj)的失真(disto
(i,...

【专利技术属性】
技术研发人员:I·贝勒吉提
申请(专利权)人:达索系统公司
类型:发明
国别省市:法国;FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1