本發明專利技術特別涉及一種計算機實現的用于使數據庫中的參考查詢形成聚類,從而基于目標查詢與參考查詢的相似度來預測數據庫中的目標查詢的運行時間的方法。所述方法包括以下的步驟:提供(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
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。