欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于演進(jìn)分析的系統(tǒng)的制作方法

文檔序號(hào):6533175閱讀:205來源:國(guó)知局
用于演進(jìn)分析的系統(tǒng)的制作方法
【專利摘要】一種用于演進(jìn)分析的系統(tǒng)通過下述操作來支持三個(gè)維度(分析工作流、用戶和數(shù)據(jù)):通過使用物化為系統(tǒng)中的先前工作流執(zhí)行運(yùn)行的一部分的答案,重寫工作流以便更高效。
【專利說明】用于演進(jìn)分析的系統(tǒng)
[0001]本申請(qǐng)是于2012年6月27日提交的序列號(hào)為61664971的臨時(shí)申請(qǐng)的非臨時(shí)申請(qǐng)并要求該臨時(shí)申請(qǐng)的優(yōu)先權(quán),該臨時(shí)申請(qǐng)的內(nèi)容通過弓I用而并入。

【背景技術(shù)】
[0002]本發(fā)明涉及演進(jìn)分析。
[0003]知識(shí)驅(qū)動(dòng)的企業(yè)采用了運(yùn)用其業(yè)務(wù)的每個(gè)方面的進(jìn)取型策略,并鼓勵(lì)雇員在所收集的大量原始數(shù)據(jù)中找到價(jià)值。數(shù)據(jù)驅(qū)動(dòng)的決策(DDD)沒有給不受改變影響的知識(shí)驅(qū)動(dòng)的企業(yè)留余地,只要在數(shù)據(jù)中存在足夠的證據(jù)對(duì)其進(jìn)行支持即可。組織收集數(shù)據(jù)作為可能具有未知價(jià)值的日志,因而,執(zhí)行提取-變換-加載(ETL)由于ETL的高支出而不可行。ETL需要昂貴的正式過程,并需要數(shù)據(jù)看起來像什么以及價(jià)值駐留于何處的先驗(yàn)知識(shí)。典型地,日志是大的、平的且具有低結(jié)構(gòu),增加了典型數(shù)據(jù)庫(kù)的ETL的復(fù)雜度,這是由于這需要一種數(shù)據(jù)庫(kù)設(shè)計(jì),其中其結(jié)構(gòu)完全是預(yù)定義的。出于這些原因,許多數(shù)據(jù)從未被徹底地評(píng)估,并且需要數(shù)據(jù)分析者來分析現(xiàn)代組織所收集的不斷增長(zhǎng)的數(shù)據(jù)量并產(chǎn)生可付諸行動(dòng)的見解。如所期望的那樣,這種類型的分析本質(zhì)上是高度探索性的并涉及下述迭代過程:數(shù)據(jù)分析者以對(duì)數(shù)據(jù)的初始查詢開始,檢查結(jié)果,然后重新制定查詢,且甚至可以將附加數(shù)據(jù)源帶進(jìn)來,等等。典型地,這些查詢涉及與數(shù)據(jù)的類型和分析的目的相聯(lián)系的完善的、域?qū)S玫牟僮?,例如,通過推特消息(tweets)來執(zhí)行情感分析或者計(jì)算每個(gè)節(jié)點(diǎn)在大社交網(wǎng)絡(luò)內(nèi)的影響。
[0004]大規(guī)模系統(tǒng)(諸如MapReduce (MR)和Hadoop)執(zhí)行中間作業(yè)結(jié)果的進(jìn)取型物化,以支持容錯(cuò)。當(dāng)作業(yè)與由數(shù)據(jù)分析者提交的探索性查詢相對(duì)應(yīng)時(shí),這些物化產(chǎn)生物化視圖的大集合,其典型地捕獲來自相同分析者的接續(xù)查詢當(dāng)中或者甚至跨越對(duì)類似假設(shè)進(jìn)行測(cè)試的不同分析者的查詢的公共計(jì)算。不出所料的是,如果MapReduce是原始框架,則其開源化身Hadoop或衍生系統(tǒng)(諸如供應(yīng)說明性查詢語言的Pig和Hive)已變成用于這種類型的分析的實(shí)際的工具。除了供應(yīng)對(duì)大數(shù)據(jù)集的可擴(kuò)縮性外,MR便于并入新數(shù)據(jù)源,這是由于不存在在最前面定義綱要和導(dǎo)入數(shù)據(jù)的需要,并且MR通過可在數(shù)據(jù)上應(yīng)用的用戶定義函數(shù)(UDF)的機(jī)制提供可擴(kuò)展性。
[0005]UDF是處于在關(guān)系數(shù)據(jù)庫(kù)和存儲(chǔ)裝置(諸如SQL)中可用的標(biāo)準(zhǔn)操作的范圍外的那些UDF。典型UDF的示例是分類函數(shù)。這可能將user_id和某文本當(dāng)作輸入,然后從該文本提取一些實(shí)體(對(duì)象,專有名詞)并將用戶的周圍文本分類為與那些實(shí)體有關(guān)的正面或負(fù)面情感。由于數(shù)據(jù)值是未知的,因此分析者最初通常缺乏對(duì)數(shù)據(jù)的完整理解,并將需要提出初始查詢(工作流),然后隨著當(dāng)前答案通知查詢的向著最終期望成果的下一演進(jìn),改善該初始查詢。此外,諸如UDF之類的復(fù)雜函數(shù)通常需要通過反復(fù)試驗(yàn)(trial and error)而憑經(jīng)驗(yàn)調(diào)諧,分析者通常將需要重復(fù)和改善分析任務(wù)多次,直到他們對(duì)關(guān)于數(shù)據(jù)的成果滿意為止。
[0006]由于單個(gè)MR作業(yè)的計(jì)算范圍有限,因此科學(xué)家典型地把查詢實(shí)現(xiàn)為將數(shù)據(jù)饋送至彼此的全體MR作業(yè)。相當(dāng)頻繁地,以說明性查詢語言(例如,使用HiveQL和PigLatin)編寫這種查詢,并且然后將這種查詢自動(dòng)翻譯成MR作業(yè)的集合。
[0007]不管MR系統(tǒng)的普及度如何,查詢性能仍是關(guān)鍵問題,其進(jìn)而直接影響數(shù)據(jù)分析者可測(cè)試假設(shè)和匯集成結(jié)論的“速度”??梢酝ㄟ^減小MR的開銷來實(shí)現(xiàn)一些增益,但是,性能的關(guān)鍵阻礙是吸收大數(shù)據(jù)集且跨越若干MR作業(yè)(實(shí)踐中,公共類別)的查詢的內(nèi)在復(fù)雜度。先驗(yàn)調(diào)諧(例如,通過對(duì)數(shù)據(jù)重新組織或預(yù)處理)由于探索性分析的流動(dòng)性和不確定性而相當(dāng)富有挑戰(zhàn)性。


【發(fā)明內(nèi)容】

[0008]在一個(gè)方面中,一種用于演進(jìn)分析的系統(tǒng)通過下述操作來支持三個(gè)維度(分析工作流、用戶和數(shù)據(jù)演進(jìn)):通過使用物化為系統(tǒng)中的先前工作流執(zhí)行運(yùn)行的一部分的答案,重寫工作流以便更高效。
[0009]在另一方面中,一種用于演進(jìn)分析的系統(tǒng)通過下述操作來支持該三個(gè)維度:通過使用物化為系統(tǒng)中的先前工作流執(zhí)行運(yùn)行的一部分的答案,重寫工作流以便更高效。該系統(tǒng)將查詢重寫部件與由分析者使用的現(xiàn)有查詢執(zhí)行引擎進(jìn)行集成。優(yōu)化器采取以某說明性語言編寫的查詢并將其翻譯成由MR作業(yè)構(gòu)成的執(zhí)行計(jì)劃。通過將重寫器14以及物化的視圖元數(shù)據(jù)存儲(chǔ)裝置16進(jìn)行集成來擴(kuò)展目標(biāo)執(zhí)行引擎。
[0010]上述系統(tǒng)的實(shí)現(xiàn)可以包括下面的一項(xiàng)或多項(xiàng)。針對(duì)作為大日志的基本數(shù)據(jù)來表達(dá)查詢,并且查詢包含UDF。每個(gè)MR作業(yè)對(duì)其向穩(wěn)定存儲(chǔ)裝置(例如,Hadoop中的HDFS )的輸出進(jìn)行物化。在一個(gè)實(shí)施例中,優(yōu)化器可以提供針對(duì)允許進(jìn)入系統(tǒng)的UDF的代價(jià)估計(jì)。為了令重寫器與目標(biāo)引擎的優(yōu)化器進(jìn)行通信,將優(yōu)化器進(jìn)行擴(kuò)展以生成在每個(gè)計(jì)劃節(jié)點(diǎn)上具有下述兩種類型的注釋的計(jì)劃:(1)其計(jì)算的邏輯表達(dá)式;以及(2)所估計(jì)的執(zhí)行代價(jià)。重寫器在搜索針對(duì)節(jié)點(diǎn)的輸出的重寫時(shí)在注釋中使用邏輯表達(dá)式。該表達(dá)式由關(guān)系算子或UDF構(gòu)成。對(duì)于在搜索期間找到的每個(gè)重寫,重寫器利用優(yōu)化器來獲得計(jì)劃和所估計(jì)的代價(jià)。在查詢執(zhí)行期間,保留查詢處理的所有副產(chǎn)品作為機(jī)會(huì)性物化視圖,并將該所有副產(chǎn)品存儲(chǔ)在系統(tǒng)中,變成其機(jī)會(huì)性物理設(shè)計(jì)配置的一部分。物化視圖元數(shù)據(jù)存儲(chǔ)裝置包含與當(dāng)前處于系統(tǒng)中的物化視圖有關(guān)的信息(諸如視圖定義)以及在查詢優(yōu)化中使用的標(biāo)準(zhǔn)數(shù)據(jù)統(tǒng)計(jì)。
[0011]優(yōu)選實(shí)施例的優(yōu)勢(shì)可以包括下面的一項(xiàng)或多項(xiàng)。系統(tǒng)較不復(fù)雜。從用戶的角度來看,重寫是在沒有用戶的引導(dǎo)或暗示的情況下自動(dòng)完成的。從系統(tǒng)的角度來看,物理設(shè)計(jì)是自動(dòng)化的且在沒有提供者的引導(dǎo)的情況下連續(xù)調(diào)諧的。系統(tǒng)在算法上以工作高效的方式找到最優(yōu)重寫。此外,實(shí)現(xiàn)了更快速的運(yùn)算。從用戶和系統(tǒng)的角度來看,該方法保證了系統(tǒng)使用系統(tǒng)中的現(xiàn)有人工產(chǎn)物提供分析者查詢的可能的最便宜(最優(yōu))重寫。從算法的角度來看,由于0PTC0ST,該算法搜索最小量的解空間以找到最優(yōu)重寫,這是在不精簡(jiǎn)解空間的情況下完成的。工作流重寫技術(shù)通過產(chǎn)生使用系統(tǒng)中的所有可用人工產(chǎn)物減少工作流執(zhí)行時(shí)間的重寫,以工作高效的方式找到演進(jìn)工作流的最優(yōu)重寫。這導(dǎo)致從用戶的觀點(diǎn)來看更快的性能以及從系統(tǒng)提供者的觀點(diǎn)來看回答查詢所消耗的系統(tǒng)資源的量減少。樂觀代價(jià)函數(shù)(optimistic cost funct1n)0PTC0ST的使用使工作流重寫算法能夠遞增地搜索重寫的空間,這使系統(tǒng)能夠創(chuàng)建(激增)和搜索找到最優(yōu)重寫所必需的最小量的解空間。UDF的灰盒模型是具有表現(xiàn)力的,但有利于重寫。灰盒方法允許任何用戶以少量的努力將UDF添加至系統(tǒng)。這允許系統(tǒng)搜索UDF的重寫,并允許任何其他分析者使用該UDF。此外,系統(tǒng)操作者還可以選擇將重寫語言擴(kuò)展成包括UDF,但利用更大量的努力。該模型比單獨(dú)暗示更通用且更富有表現(xiàn)性。

【專利附圖】

【附圖說明】
[0012]圖1示出了可同時(shí)支持演進(jìn)的三個(gè)維度的靈活系統(tǒng)。
[0013]圖2示出了示出控制流程的系統(tǒng)框架的示例性高級(jí)總覽。
[0014]圖3示出了支持系統(tǒng)中的工作流的演進(jìn)和新數(shù)據(jù)集的示例性過程。
[0015]圖4示出了系統(tǒng)中的新用戶的演進(jìn)的示例性過程。
[0016]圖5示出了重寫的示例性過程。
[0017]圖6示出了內(nèi)部處理和維持工作流以支持有效且高效的演進(jìn)的示例性系統(tǒng)。
[0018]圖7示出了精簡(jiǎn)空間的示例性過程。

【具體實(shí)施方式】
[0019]圖1示出了可同時(shí)支持演進(jìn)的三個(gè)維度的靈活系統(tǒng),這三個(gè)維度是工作流、用戶和數(shù)據(jù)。我們把該系統(tǒng)稱為演進(jìn)系統(tǒng)。演進(jìn)查詢工作流是由分析者隨著他們迭代地探索數(shù)據(jù)而編寫的工作流。演進(jìn)工作流W的結(jié)果可能最初不產(chǎn)生期望的答案,這是由于用戶缺乏對(duì)數(shù)據(jù)的足以能夠?qū)⑺?她的意圖翻譯成查詢的理解。典型地,W將被重新制定為新工作流W’,并且該過程重復(fù)。工作流演進(jìn)是通過下述操作來定義的:單個(gè)分析者對(duì)工作流進(jìn)行調(diào)整、修改和重新目的化,以更好地對(duì)準(zhǔn)工作流的結(jié)果,以便匹配分析者的意圖。用戶演進(jìn)被定義為新分析者到達(dá),該新分析者利用新工作流開始查詢系統(tǒng)。數(shù)據(jù)演進(jìn)被定義為下述過程:分析者將新數(shù)據(jù)源(例如,日志)添加至系統(tǒng)。
[0020]在該系統(tǒng)中,工作流演進(jìn)是通過下述操作來定義的:單個(gè)分析者對(duì)工作流進(jìn)行調(diào)整、修改和重新目的化,以更好地對(duì)準(zhǔn)工作流的結(jié)果,以便匹配分析者的意圖。用戶演進(jìn)被定義為新分析者到達(dá),該新分析者利用新工作流開始查詢系統(tǒng)。數(shù)據(jù)演進(jìn)被定義為下述過程:分析者將新數(shù)據(jù)源(例如,日志)添加至系統(tǒng)。
[0021]系統(tǒng)通過下述操作來支持這三個(gè)維度:通過從系統(tǒng)中的先前查詢/工作流執(zhí)行運(yùn)行無縫地保留和重用人工產(chǎn)物(中間和最終答案),重寫工作流以便更高效,這減少了新查詢的執(zhí)行時(shí)間。這些人工產(chǎn)物可以被稱作物化視圖。
[0022]典型地,在我們的使用情況中,分析者通過檢查先前結(jié)果和修改原始工作流來修訂工作流多次。這樣,分析者具有下述自由度:隨著他們向他們期望的答案移動(dòng),在任何方向上探索他們的直覺。工作流修改可以包括:添加新數(shù)據(jù)源;改變子目標(biāo);改變參數(shù);或者利用m)F來替換工作流中的一些操作。一個(gè)實(shí)施例在我們的微基準(zhǔn)中捕獲這些類型的修改。分析者可以通過將新UDF添加至系統(tǒng)來擴(kuò)展工作流的語言,然后,UDF變?yōu)閷?duì)所有其他分析者來說可用。
[0023]服務(wù)提供者是系統(tǒng)中的另一參與者,且作為平臺(tái)管理者,想要確保良好的系統(tǒng)性能。提供者必須考慮最大化單個(gè)用戶的性能相對(duì)于用戶的社區(qū)的性能之間的折衷。提供者可以通過添加更多UDF來擴(kuò)展重寫的語言。利用UDF擴(kuò)展重寫語言可以通過找到更好的重寫來使分析者受益,但使重寫搜索空間更大,這增加了找到良好重寫所耗費(fèi)的時(shí)間。即使重寫語言包括豐富且可擴(kuò)展的變換集合,也將期望重寫的語言沒有工作流的語言昂貴。提供者還必須決定要保留哪些物化視圖。由于存儲(chǔ)空間不是無限的,因此需要垃圾收集器。
[0024]在我們的場(chǎng)景中,查詢很可能包括表達(dá)為UDF的復(fù)雜分析操作。為了在我們的系統(tǒng)中有效地重用先前的計(jì)算,我們需要一種用于在語義上對(duì)UDF進(jìn)行建模的方式。
[0025]對(duì)UDF進(jìn)行建模的可能性可以包括對(duì)系統(tǒng)來說具有變化級(jí)別的開銷和復(fù)雜度的白盒、灰盒或黑盒方法。白盒方法需要UDF的完整描述,使得系統(tǒng)理解UDF如何變換輸入。當(dāng)將新UDF添加至系統(tǒng)時(shí),該方法具有針對(duì)分析者的高開銷。黑盒方法具有針對(duì)分析者的非常低的開銷,但產(chǎn)生對(duì)系統(tǒng)來說完全不透明的輸出,因此可能不適于我們的重用結(jié)果的目標(biāo)。由于UDF可以涉及對(duì)數(shù)據(jù)的相當(dāng)復(fù)雜的操作,因此我們的系統(tǒng)采用灰盒方法,灰盒方法僅捕獲由UDF執(zhí)行的端對(duì)端變換。通過端對(duì)端變換,我們意指:我們的模型可以捕獲輸入和輸出元組之間的細(xì)粒度依賴性,盡管我們的UDF模型不知道與計(jì)算有關(guān)的任何更多事情。這需要附加的工作來在添加新M)F時(shí)提供灰盒模型,但允許系統(tǒng)以有用的方式理解UDF的變換。另一方面,黑盒模型僅可以總體上跟蹤輸入和輸出之間的粗粒度依賴性。
[0026]在我們的灰盒模型中,UDF被編寫為局部函數(shù)的合成(composit1n)。局部函數(shù)指代對(duì)單個(gè)元組或元組的單個(gè)組操作的函數(shù)。一個(gè)實(shí)施例將局部函數(shù)限制成執(zhí)行下述操作:
1.丟棄或添加屬性;
2.通過應(yīng)用過濾器來丟棄元組;
3.執(zhí)行元組的分組。
[0027]灰盒模型不理解由局部函數(shù)執(zhí)行的變換的性質(zhì),然而,其理解每個(gè)局部函數(shù)所供給的變換??梢酝ㄟ^合成由UDF中的每個(gè)局部函數(shù)執(zhí)行的操作來獲得UDF的端對(duì)端變換。
[0028]遵循灰盒模型,通過下述三個(gè)屬性來捕獲計(jì)劃中的每個(gè)節(jié)點(diǎn)的輸入和輸出:屬性A、過濾器F和分組依據(jù)G。F是對(duì)輸入數(shù)據(jù)應(yīng)用的所有過濾器的聯(lián)合,G是所應(yīng)用的當(dāng)前分組,并且A捕獲綱要??梢允褂镁植亢瘮?shù)的合成將UDF的端對(duì)端變換表達(dá)為輸入到輸出的變換。注意,該合成使用三個(gè)操作而不是實(shí)際計(jì)算且不是為了描述內(nèi)部過程,來捕獲端對(duì)端變換的語義。通過將這些與分組進(jìn)行組合,模型可以表達(dá)豐富UDF以及關(guān)系算子,諸如選擇、投影、聯(lián)接、分組依據(jù)和聚合。在MapReduce中以標(biāo)準(zhǔn)方式對(duì)聯(lián)接進(jìn)行建模,其是關(guān)于公共關(guān)鍵字對(duì)多個(gè)關(guān)系進(jìn)行分組。
[0029]圖2示出了示出控制流程的系統(tǒng)框架的示例性高級(jí)總覽。系統(tǒng)通過下述操作來支持這三個(gè)維度:通過使用物化為系統(tǒng)中的先前工作流執(zhí)行運(yùn)行的一部分的答案,重寫工作流以便更高效。系統(tǒng)把查詢重寫部件與由分析者10使用的現(xiàn)有查詢執(zhí)行引擎進(jìn)行集成。優(yōu)化器12采取以某說明性語言編寫的查詢并將其翻譯成由MR作業(yè)構(gòu)成的執(zhí)行計(jì)劃。針對(duì)作為大日志的基本數(shù)據(jù)來表達(dá)查詢,并且查詢包含UDF。每個(gè)MR作業(yè)把其向穩(wěn)定存儲(chǔ)裝置(例如,Hadoop中的HDFS)的輸出進(jìn)行物化。在該實(shí)施例中,優(yōu)化器可以提供針對(duì)許可進(jìn)入系統(tǒng)的UDF的代價(jià)估計(jì)。通過將重寫器14以及物化視圖元數(shù)據(jù)存儲(chǔ)裝置16進(jìn)行集成來擴(kuò)展目標(biāo)執(zhí)行引擎。為了令重寫器14與目標(biāo)引擎的優(yōu)化器進(jìn)行通信,把優(yōu)化器12擴(kuò)展以生成在每個(gè)計(jì)劃節(jié)點(diǎn)上具有下述兩種類型的注釋的計(jì)劃:(I)其計(jì)算的邏輯表達(dá)式;以及(2)所估計(jì)的執(zhí)行代價(jià)。重寫器在搜索針對(duì)節(jié)點(diǎn)的輸出的重寫時(shí)在注釋中使用邏輯表達(dá)式。該表達(dá)式由關(guān)系算子或UDF構(gòu)成。對(duì)于在搜索期間找到的每個(gè)重寫,重寫器利用優(yōu)化器來獲得計(jì)劃和所估計(jì)的代價(jià)。在查詢執(zhí)行期間,保留查詢處理的所有副產(chǎn)品作為機(jī)會(huì)性物化視圖,并將該所有副產(chǎn)品存儲(chǔ)在系統(tǒng)中,變成其機(jī)會(huì)性物理設(shè)計(jì)配置的一部分。物化視圖元數(shù)據(jù)存儲(chǔ)裝置包含與當(dāng)前處于系統(tǒng)中的物化視圖有關(guān)的信息(諸如視圖定義)以及在查詢優(yōu)化中使用的標(biāo)準(zhǔn)數(shù)據(jù)統(tǒng)計(jì)。
[0030]系統(tǒng)可以通過利用MR的內(nèi)置容錯(cuò)機(jī)制作為機(jī)會(huì)性物理設(shè)計(jì)來極大地改進(jìn)查詢性能。每個(gè)MR作業(yè)涉及出于故障恢復(fù)的目的而對(duì)中間結(jié)果(映射器的輸出、縮減器的輸入和縮減器的輸出)的物化。更一般地,多階段作業(yè)(諸如,由Pig或Hive生成的作業(yè))將涉及若干個(gè)這種物化。我們將這些物化結(jié)果稱為查詢執(zhí)行的人工產(chǎn)物,并注意它們被自動(dòng)地生成為查詢處理的副產(chǎn)品。
[0031]給定數(shù)據(jù)探索的演進(jìn)性質(zhì),那么可能的是,每個(gè)查詢具有與由相同分析者進(jìn)行的先前查詢的相似性,且甚至具有與對(duì)相同數(shù)據(jù)進(jìn)行檢查的其他分析者的查詢的相似性。例如,若干數(shù)據(jù)分析者可以對(duì)特定類別的推特消息(例如,處于特定地理區(qū)域中的)執(zhí)行情感分析,但在心里有不同假設(shè)。因此,在所生成的人工產(chǎn)物中捕獲的由系統(tǒng)中的先前查詢執(zhí)行的計(jì)算可以對(duì)新查詢來說相關(guān)。
[0032]人工產(chǎn)物被視為機(jī)會(huì)性創(chuàng)建的物化視圖,并使用它們來重寫系統(tǒng)中的新查詢。技術(shù)的機(jī)會(huì)性性質(zhì)具有若干美好特性:物化視圖被生成為查詢執(zhí)行的副產(chǎn)品,即,沒有附加開銷;視圖的集合被自然地適應(yīng)于當(dāng)前工作負(fù)載;并且給定大規(guī)模分析系統(tǒng)典型地執(zhí)行大量查詢,那么由此得出,將存在同等大量的物化視圖,且因此存在針對(duì)新查詢找到良好重寫的好機(jī)會(huì)。該技術(shù)在工業(yè)數(shù)據(jù)分析系統(tǒng)內(nèi)的實(shí)現(xiàn)的結(jié)果指示可以極大節(jié)省查詢執(zhí)行時(shí)間:重寫可以將執(zhí)行時(shí)間減少多達(dá)兩個(gè)量級(jí)。
[0033]查詢重寫技術(shù)以MR系統(tǒng)內(nèi)的機(jī)會(huì)性物化視圖的場(chǎng)景為目標(biāo)。算法采用由空間數(shù)據(jù)庫(kù)激發(fā)的技術(shù)(具體地,度量空間中的最近鄰搜索),以便進(jìn)取性地精簡(jiǎn)候選重寫的巨大空間并以高效方式生成最優(yōu)重寫。系統(tǒng)使用簡(jiǎn)單但足夠富有表現(xiàn)力以捕獲許多常見類型的UDF的灰盒UDF模型。這給我們供給了對(duì)UDF的有限理解,以實(shí)現(xiàn)對(duì)先前結(jié)果的有效重用。重寫過程將查詢和視圖集合當(dāng)作輸入,并輸出最優(yōu)重寫。該技術(shù)是工作高效的,這是因?yàn)槠淇紤]了在特定假設(shè)下找到最優(yōu)重寫所必需的視圖的最小集合。應(yīng)用這些方法的實(shí)驗(yàn)結(jié)果使用真實(shí)世界數(shù)據(jù)和現(xiàn)實(shí)復(fù)雜查詢來提供多達(dá)兩個(gè)量級(jí)的執(zhí)行時(shí)間改進(jìn)。來自該方法的節(jié)省歸因于移動(dòng)少得多的數(shù)據(jù),從而在可能時(shí)避免從原始日志重新讀取數(shù)據(jù)的高支出并重用/重新目的化來自包括UDF的長(zhǎng)期運(yùn)行計(jì)算的結(jié)果。
[0034]查詢重寫過程提出了兩個(gè)主要挑戰(zhàn):如何搜索重寫的大空間;以及如何推斷包含UDF的視圖(大規(guī)模數(shù)據(jù)分析中的公共特征)??勺C明地找到最小代價(jià)重寫的算法由非度量空間中的最近鄰搜索激發(fā)。我們基于Hive來向?qū)φ鎸?shí)世界數(shù)據(jù)集的大范圍實(shí)驗(yàn)研究呈現(xiàn)原型數(shù)據(jù)分析系統(tǒng)。結(jié)果展示:該方法可以導(dǎo)致對(duì)復(fù)雜數(shù)據(jù)分析查詢的極大性能改進(jìn),從而把總執(zhí)行時(shí)間減少平均61%且高達(dá)兩個(gè)量級(jí)。
[0035]圖3示出了支持系統(tǒng)中的工作流的演進(jìn)和新數(shù)據(jù)集的示例性過程。分析者編寫一個(gè)或多個(gè)演進(jìn)工作流100。系統(tǒng)在120中得到新UDF,并且系統(tǒng)在122中添加新數(shù)據(jù)集。系統(tǒng)在124中重寫工作流,在110中執(zhí)行來自工作流的演進(jìn)工作流。在126中,系統(tǒng)給物化視圖編目錄。提供者可以使系統(tǒng)在128中丟棄物化視圖??商鎿Q地,可以在130中通過重寫語言來擴(kuò)展系統(tǒng)。
[0036]圖4示出了系統(tǒng)中的新用戶的演進(jìn)的示例性過程。最初,新分析者使用系統(tǒng)。分析者在140中編寫工作流W。系統(tǒng)進(jìn)而在142中重寫工作流并在144中執(zhí)行工作流。分析者在146中檢查結(jié)果,并且如果他/她不滿意,則分析者可以修訂工作流并回環(huán)到140??商鎿Q地,如果分析者滿意,則該過程退出。
[0037]圖5示出了重寫工作流的示例性過程。該過程在160中接收工作流W和一個(gè)或多個(gè)現(xiàn)有物化視圖V作為輸入。該過程在162中將W分解為η個(gè)子工作流。該過程在164中找到針對(duì)每個(gè)子工作流的最佳重寫。然后,該過程在166中將重寫進(jìn)行組合以找到針對(duì)W
的重寫。
[0038]圖6示出了內(nèi)部處理和維持工作流以支持有效且高效的演進(jìn)的示例性系統(tǒng)。在170中,該過程接收工作流W和現(xiàn)有物化視圖V作為輸入。該過程在172中將W分解為η個(gè)子工作流。該過程在174中并發(fā)地枚舉針對(duì)所有η個(gè)子工作流的重寫。在176中,該過程在子工作流不能以代價(jià)c找到重寫時(shí)精簡(jiǎn)搜索。該過程在178中維持到目前為止找到的最佳重寫。接著,該過程在180中檢驗(yàn)以查看是否所有搜索問題都已被精簡(jiǎn)。如果未都被精簡(jiǎn),則該過程回環(huán)到174,并且否則,該過程在182中返回針對(duì)W的最佳重寫。
[0039]圖7示出了對(duì)空間進(jìn)行精簡(jiǎn)的示例性過程。在該過程中,在190中針對(duì)分析系統(tǒng)選擇新使用情況。系統(tǒng)在192中同時(shí)捕獲演進(jìn)的3個(gè)維度(工作流、用戶和數(shù)據(jù))。該過程在194中應(yīng)用有利于重寫的灰盒UDF建模技術(shù)。該過程還在196中執(zhí)行最優(yōu)且工作高效的工作流重寫。使用OptCost函數(shù),該OptCost函數(shù)在198中允許對(duì)有希望的候選視圖的遞增枚舉。然后,在200中,該過程重寫搜索問題并將該問題轉(zhuǎn)換為η個(gè)搜索問題,使用該η個(gè)搜索問題來對(duì)搜索空間進(jìn)行精簡(jiǎn)。
[0040]在一個(gè)實(shí)施例中,工作高效的查詢重寫算法在按使用視圖的重寫的代價(jià)的下限排序的每個(gè)目標(biāo)處搜索空間。該下限不應(yīng)當(dāng)要求找到有效重寫,這是由于這在計(jì)算上是昂貴的。我們定義了樂觀代價(jià)函數(shù)辦W,其將候選視圖K和目標(biāo)K當(dāng)作輸入并提供使用K的Wi的重寫r,.的下限。r,.是使用候選視圖K的Wj的重寫。下限的特性是:
OptCost (Wi, v) ^ Cost Cri)
下限代價(jià)的使用由度量空間中的最近鄰查找問題激發(fā),度量空間中,計(jì)算對(duì)象之間的距離可能在計(jì)算上是昂貴的,因此優(yōu)選容易計(jì)算的交替距離函數(shù),交替距離函數(shù)具有其始終小于或等于實(shí)際距離的期望特性。
[0041]給定OptCost函數(shù),那么重寫算法通過將問題分解為下述兩個(gè)分量來找到r的最優(yōu)重寫
1.BfRewrite執(zhí)行針對(duì)F中的所有目標(biāo)的重寫的高效搜索,并輸出針對(duì)Wn的全局最優(yōu)重寫。
2.ViewFinder基于針對(duì)單個(gè)目標(biāo)的候選視圖的產(chǎn)生單個(gè)目標(biāo)的低代價(jià)重寫的潛力來枚舉針對(duì)單個(gè)目標(biāo)的候選視圖,并被BfRewri te利用。
[0042]算法產(chǎn)生可由在/f中的多個(gè)目標(biāo)處找到的重寫構(gòu)成的W的重寫r。所計(jì)算出的重寫Z可證明地具有相同類別中的所有可能重寫當(dāng)中的最小代價(jià)。此外,該算法是工作高效的:即使不是先驗(yàn)已知的,其也將從不會(huì)檢查具有比最優(yōu)代價(jià)更高的辦iCbW的任何候選視圖。直覺上,該算法僅探索搜索空間中的可證明地找到最優(yōu)重選所需的部分。
[0043]該算法開始于r自身是針對(duì)計(jì)劃的最佳重寫。然后,其在r中的每個(gè)目標(biāo)處引起η個(gè)并發(fā)的搜索問題,并以迭代方式工作以找到最佳重寫。在每次迭代中,該算法選擇一個(gè)目標(biāo)Wj并檢查Wj處的候選視圖。該算法利用該步驟的結(jié)果來輔助精簡(jiǎn)r中的其他目標(biāo)的搜索空間。為了工作高效,該算法必須正確地選擇下一候選視圖來進(jìn)行檢查。如我們下面將示出的那樣,OptCost功能在選擇下一目標(biāo)以進(jìn)行改善中起到必不可少的作用。
[0044]BfRewrite使用ViewFinder的實(shí)例來搜索每個(gè)目標(biāo)處的重寫的空間。 ViewFinder是提供下述功能的黑盒:(I)Init創(chuàng)建按候選視圖的辦if1si排序的候選視圖的搜索空間;
(2)Peek提供下一候選視圖的辦iCbW ;以及(3)Refine嘗試使用下一候選視圖來找到目標(biāo)的重寫。Refine的一個(gè)重要特性是下述內(nèi)容:不存在針對(duì)對(duì)應(yīng)目標(biāo)被找到的具有比Peek的值更小的代價(jià)的剩余重寫。
[0045]ViewFinder的關(guān)鍵特征是其辦tCos ?功能,該辦tCos ?功能被BFRewri ?e使用以便以遞增的方式探索空間并如4.1節(jié)中所示的那樣精簡(jiǎn)非必要的子空間。如前所指出的,已知使用視圖來重寫查詢是困難的問題。傳統(tǒng)地,用于使用SPJG查詢的類別的視圖來重寫查詢的方法使用兩階段方法。精簡(jiǎn)階段確定哪些視圖與查詢相關(guān),并且在相關(guān)視圖當(dāng)中,包含所有所需聯(lián)接謂詞(predicate)的那些視圖被稱作完全解,否則,它們被稱為部分解。典型地,這之后是合并階段,合并階段按所有聯(lián)接順序、使用所有可能的同等聯(lián)接方法來聯(lián)接部分解以形成附加相關(guān)視圖。該算法重復(fù),直到僅剩余對(duì)回答查詢有用的那些視圖。
[0046]我們采取類似的方法,其中我們識(shí)別部分和完全解,然后接下來是合并階段。當(dāng)搜索目標(biāo)的重寫時(shí),ViewFinder考慮候選視圖C。C包括K中的視圖以及通過使用Merge函數(shù)“合并” K中的視圖而形成的視圖,該Merge函數(shù)是標(biāo)準(zhǔn)視圖合并過程的實(shí)現(xiàn)。傳統(tǒng)方法合并所有部分解以創(chuàng)建完全解,并繼續(xù)直到?jīng)]有部分解剩余。這以指數(shù)方式“激增”候選視圖的空間。該方法在需要時(shí)允許空間的逐步激增,這導(dǎo)致比所考慮的少得多的候選視圖。
[0047]在沒有早期終止條件的情況下,現(xiàn)有方法本來會(huì)在所有目標(biāo)處詳盡地探索空間。因此,我們期望一種重寫算法,其可以枚舉空間并僅按需要那么多以遞增方式探索,從而如BfRewrite所請(qǐng)求的那樣頻繁地停止和重新開始搜索。我們注意到,盡管可能存在針對(duì)目標(biāo)的等效重寫,但是可能從不要求ViewFinder找到它。
[0048]在算法4中呈現(xiàn)了 FiewFinder。在高級(jí)別處,KiewFinder是有狀態(tài)的,這使BfRewrite能夠在每個(gè)目標(biāo)處開始、停止和重新開始遞增搜索。ViewFinder使用候選視圖的優(yōu)先級(jí)隊(duì)列來維持狀態(tài)。ViewFinder實(shí)現(xiàn)了我們接下來描述的三個(gè)函數(shù)Init、Peek和Refine。
[0049]Init函數(shù)利用來對(duì)ViewFinder的實(shí)例進(jìn)行例示,其中,目標(biāo)的邏輯表示Vi ^ F和物化視圖的集合K存在于系統(tǒng)中。接著,將指派給<7,并使用OptCost (q, v)作為排序關(guān)鍵詞將K中的每個(gè)視圖添加至優(yōu)先級(jí)隊(duì)列。在Init的結(jié)尾處,PQ中的候選視圖僅包括V中的那些視圖。
[0050]Peek函數(shù)被BfRewri te使用以獲得/?*中的首部項(xiàng)的OptCost。當(dāng)BfRewri te要求ViewFinder檢查下一候選視圖時(shí),調(diào)用Refine函數(shù)。在該階段處,ViewFinder將首部項(xiàng)V彈出PQ。然后,ViewFinder通過將r與先前彈出的候選視圖(即,fee/?中的視圖)合并來生成新候選視圖的集合#,從而遞增地激增候選視圖的空間。注意,包含辦iCbW小于或等于r的OptCost的候選視圖。#僅保留尚未處于中的那些候選,這些候選然后被插入到/?中。稍后作為定理而提供的OptCost的特性是:#中的候選視圖所具有的OptCost大于K的辦iibw,并且因此,這些視圖都不應(yīng)當(dāng)在K之前已被檢查。該特性實(shí)現(xiàn)了候選視圖的空間的逐步激增。然后,V被添加到Seen。
[0051]如果^被猜測(cè)為完全的,則我們通過調(diào)用函數(shù)來嘗試使用^找到<7的重寫。在通過TfefrriteEnum找到的重寫當(dāng)中,作為結(jié)果,將最便宜的重寫返回到te。為了確定視圖r相對(duì)于查詢7是部分的還是完全的,我們采取樂觀方法。該方法表示下述猜測(cè):使用r的完全重寫存在。猜測(cè)需要下面的必要條件:視圖必須滿足參與7的重寫;盡管這些條件不足以確認(rèn)使用r的等效重寫的存在。
(a>包含所需要的所有屬性;或者包含產(chǎn)生中的不處于r中的那些屬性的所有必需屬性;
(b)^包含比弱的選擇謂詞;
(c)^比<7更不聚合。
[0052]^MlGuessComplete、q, v)執(zhí)行這些檢驗(yàn),并在^滿足相對(duì)于<7的特性的情況下返回真。這些條件部分指定確定有效重寫存在的需求,因此,猜測(cè)可能導(dǎo)致假肯定,但從不會(huì)導(dǎo)致假否定。
[0053]RewriteEnum算法嘗試使用被猜測(cè)是完全的視圖來產(chǎn)生查詢的有效重寫。所返回的重寫表示使用r的^的所有可能等效重寫當(dāng)中最便宜的重寫。重寫的代價(jià)由Cost函數(shù)評(píng)估,且與實(shí)現(xiàn)重寫的最便宜執(zhí)行計(jì)劃相對(duì)應(yīng)。等效性是通過確保重寫和查詢包含相同屬性、過濾器和分組依據(jù)來確定的。
[0054]我們通過使用4對(duì)被猜測(cè)為的完全視圖K應(yīng)用補(bǔ)償來枚舉7的等效重寫。我們通過下述操作來完成這一點(diǎn):生成所需補(bǔ)償?shù)乃信帕胁⑨槍?duì)等效性進(jìn)行測(cè)試,這相當(dāng)于在給定4的情況下所有可能重寫的強(qiáng)力枚舉。這造成了系統(tǒng)將I4I保持為較小的情況。當(dāng)4被限制于已知、固定的算子集合時(shí),其可能足以檢查重寫嘗試的多項(xiàng)式數(shù),如針對(duì)涉及分組依據(jù)的簡(jiǎn)單聚合的特定情況的[?]中那樣。這些方法不適用于該情況,這是由于當(dāng)系統(tǒng)導(dǎo)致總體系統(tǒng)收益時(shí),系統(tǒng)應(yīng)當(dāng)具有利用UDF從~擴(kuò)展4的靈活性。
[0055]給定找到有效重寫的計(jì)算代價(jià),那么BfRewrite使用兩種策略來限制RewriteEnum算法的調(diào)用。首先,我們避免必須在每個(gè)候選視圖上應(yīng)用RewriteEnum,基于早先描述的三個(gè)特性來針對(duì)視圖的完整性進(jìn)行猜測(cè)。其次,我們通過確定使用r的重寫(如果存在這種重寫的話)的代價(jià)的下限來延遲對(duì)每個(gè)完全視圖的應(yīng)用。對(duì)于下限,我們使用辦其在下一節(jié)中描述。
[0056]系統(tǒng)基于候選視圖的提供低代價(jià)重寫的潛力來執(zhí)行候選視圖的枚舉。OptCost依賴于Cbw函數(shù)的不可歸入的代價(jià)特性,以達(dá)到下限。給定皮猜測(cè)為相對(duì)于^完全,那么^和^的屬性、過濾器和分組依據(jù)表示之間的所設(shè)置的差異被稱為定位。定位表示可將r的表示變換成7的表示的假設(shè)局部函數(shù)。注意,包含這種局部函數(shù)的UDF可能實(shí)際上不存在。我們必須調(diào)用產(chǎn)生包含來自Lr的補(bǔ)償?shù)闹貙懙腞ewriteEnum。補(bǔ)償中局部函數(shù)的合成將r的表示變換成&最后,注意,定位的存在保證了 r將導(dǎo)致有效重寫,出于被猜測(cè)為完全可導(dǎo)致假肯定的相同原因。這兩者均假定:可以彼此獨(dú)立地將所需的補(bǔ)償運(yùn)算應(yīng)用于^
[0057]OptCost函數(shù)具有下述兩個(gè)特性:其是由Rewri teEnum (q, v)返回的任何計(jì)劃的代價(jià)的下限,且在計(jì)算上不昂貴。如果r是物化視圖,則C1等于訪問r的代價(jià)。否則,如果r產(chǎn)生自視圖的合并,則C1是訪問r的構(gòu)成視圖的總代價(jià)。如果r尚不是物化的,則我們將C2表示為合并K中的構(gòu)成視圖的代價(jià)(即,創(chuàng)建代價(jià)),否則,如果K已經(jīng)是物化的,則C2 = O。我們將C3表示為在K上的定位中應(yīng)用最不昂貴的運(yùn)算的代價(jià),其通過調(diào)用Cost以獲得在K上的定位中執(zhí)行每個(gè)運(yùn)算的代價(jià)而獲得。通過minWosiCr,κ))來獲得C3,使得ζ是定位中的運(yùn)算。
[0058]r相對(duì)于<7的OptCost由下式給定:c = C1 + C2 + C3,其中,c小于使用r的重寫的任何計(jì)劃的代價(jià)。如果r相對(duì)于<7是部分的,則C3 = O,這是由于不應(yīng)當(dāng)應(yīng)用補(bǔ)償。
[0059]優(yōu)化器可以生成下述計(jì)劃:其中,可以在對(duì)一些補(bǔ)償進(jìn)行物化之前將其推送到候選視圖r中。在這種情況下,OptCost可以提供更弱的下限,這是由于其可以僅考慮訪問r的所有構(gòu)成視圖的代價(jià)(C1)加上在r的任何構(gòu)成視圖上或可在創(chuàng)建r的過程中創(chuàng)建的任何中間視圖上的定位中應(yīng)用最不昂貴運(yùn)算的最小代價(jià)c/。如果r相對(duì)于q是部分的,則辦iCbW僅包括Cl。一般地,c是關(guān)于由使用^的的等效重寫r (如果其存在的話)產(chǎn)生的任何計(jì)劃的代價(jià)的下限。為了找到最低代價(jià)r, RewriteEnum應(yīng)用補(bǔ)償運(yùn)算的所有排列,以實(shí)現(xiàn)等效重寫。不管在補(bǔ)償中使用多少運(yùn)算,通過定義1,應(yīng)用補(bǔ)償?shù)拇鷥r(jià)必須至少與定位中的最便宜運(yùn)算C3同樣昂貴。
[0060]接著,針對(duì)涉及補(bǔ)償?shù)南峦频那闆r分析辦if1si函數(shù)。對(duì)于該情況,K的構(gòu)成視圖的合并的排序以及可適用的補(bǔ)償二者到現(xiàn)在為止均未知。下限保持,這是由于其未作出關(guān)于r中的構(gòu)成視圖的排序(即,通過使用C1)以及r的任何計(jì)劃中的任何補(bǔ)償算子的位置(即,C3' )的任何假設(shè)。M中的不處于fee/?中的每個(gè)候選視圖的OptCost大于或等于r的OptCost ο
[0061]下面示出算法1-4的偽代碼。

Algorithfii I Oprimal re?Tite of W using ViewFinder

1: fiiurl1ii EiiRj-_Wft|T1-:<If, Vi
2: for tatii W\ € W doIsii Step

3: ¥lEWFiNDERiKIT4lii, V)
4: bstPlMs^ original plan to jroiace Wi
5; bstPlkCst.^ -hCost(Wi)"> flmi

if- cttil fin*

7: repeat

8: (HO, d) 1- FlKDNEXlMlNTARGHTiiriil)

9: IHFIMElARGETiirf) if 十 NULL
10; until Wi MTLL
11:W uxmg iis*iP!,nh


12: end fiiiiict1ii

【權(quán)利要求】
1.一種用于支持演進(jìn)查詢的方法,包括: 保留來自先前查詢或工作流執(zhí)行運(yùn)行的人工產(chǎn)物(物化視圖); 提供用戶定義函數(shù)(M)F)的灰盒模型以支持針對(duì)UDF的重寫的搜索; 自動(dòng)地產(chǎn)生使用人工產(chǎn)物減少工作流執(zhí)行時(shí)間的重寫;以及 遞增地搜索要?jiǎng)?chuàng)建(激增)的重寫的空間并搜索最小量的解空間以找到最優(yōu)重寫。
2.根據(jù)權(quán)利要求1所述的方法,包括:支持沿包括工作流、用戶和數(shù)據(jù)演進(jìn)的三個(gè)維度的同時(shí)演進(jìn)。
3.根據(jù)權(quán)利要求1所述的方法,包括:將重寫語言擴(kuò)展成包括UDF。
4.根據(jù)權(quán)利要求1所述的方法,包括:確定樂觀代價(jià)函數(shù)OptCost(W1, V),其將候選視圖r和目標(biāo)Zfi當(dāng)作輸入;以及提供使用r的Wi的重寫r,.的下限,其中r,.是使用候選視圖r的巧的重寫,并且其中下限的特性被確定為:
OptCost (Wi, v) ^ Cost Cri)。
5.根據(jù)權(quán)利要求4所述的方法,包括:創(chuàng)建按辦Kosi排序的候選視圖的搜索空間;提供下一候選視圖的辦iCbW ;以及使用所述下一候選視圖來確定目標(biāo)的重寫。
6.根據(jù)權(quán)利要求1所述的方法,包括通過下述操作來確定r的最優(yōu)重寫Z: 執(zhí)行針對(duì)r中的所有目標(biāo)的重寫的高效搜索,并輸出針對(duì)黽的全局最優(yōu)重寫;以及基于針對(duì)單個(gè)目標(biāo)的一個(gè)或多個(gè)候選視圖的產(chǎn)生所述目標(biāo)的低代價(jià)重寫的潛力來枚舉針對(duì)單個(gè)目標(biāo)的一個(gè)或多個(gè)候選視圖。
7.根據(jù)權(quán)利要求1所述的方法,包括:產(chǎn)生由在r中的多個(gè)目標(biāo)處找到的重寫構(gòu)成的r的重寫其中,所計(jì)算的Z具有在相同類別中的重寫當(dāng)中最小的代價(jià)。
8.根據(jù)權(quán)利要求1所述的方法,包括: 使用r作為針對(duì)計(jì)劃的重寫; 在r中的每個(gè)目標(biāo)處引起/7個(gè)并發(fā)的搜索問題,并迭代地找到更好的重寫,其中,每次迭代選擇一個(gè)目標(biāo)K并檢查Zfi處的候選視圖;以及 把更好的重寫結(jié)果用于精簡(jiǎn)r中的其他目標(biāo)的搜索空間。
9.根據(jù)權(quán)利要求1所述的方法,包括:優(yōu)化UDF在非結(jié)構(gòu)化數(shù)據(jù)集上的執(zhí)行。
10.根據(jù)權(quán)利要求1所述的方法,包括:針對(duì)用戶工作流的演進(jìn)進(jìn)行優(yōu)化。
11.一種用于支持演進(jìn)分析查詢的系統(tǒng),包括: 優(yōu)化器,接收查詢并將所述查詢翻譯成執(zhí)行計(jì)劃; 查詢重寫器,耦合至所述優(yōu)化器以支持沿包括工作流、用戶和數(shù)據(jù)演進(jìn)的三個(gè)維度的同時(shí)演進(jìn); 物化視圖元數(shù)據(jù)存儲(chǔ)裝置,耦合至所述查詢重寫器,所述存儲(chǔ)裝置包含與包括查詢優(yōu)化中使用的視圖定義和標(biāo)準(zhǔn)數(shù)據(jù)統(tǒng)計(jì)的物化視圖有關(guān)的信息;以及查詢執(zhí)行引擎,耦合至所述查詢重寫器以執(zhí)行所述查詢。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,針對(duì)包括大日志的基本數(shù)據(jù)來表達(dá)查詢,并且查詢包含UDF。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述優(yōu)化器提供針針對(duì)允許進(jìn)入系統(tǒng)的UDF的代價(jià)估計(jì)。
14.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述優(yōu)化器生成在每個(gè)計(jì)劃節(jié)點(diǎn)上具有下述兩種類型的注釋的計(jì)劃:(1)其計(jì)算的邏輯表達(dá)式;以及(2)所估計(jì)的執(zhí)行代價(jià)。
15.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述重寫器在搜索針對(duì)節(jié)點(diǎn)的輸出的重寫時(shí)在注釋中使用邏輯表達(dá)式。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,表達(dá)式由關(guān)系算子或UDF構(gòu)成。
17.根據(jù)權(quán)利要求11所述的系統(tǒng),針對(duì)在搜索期間找到的每個(gè)重寫,所述重寫器利用所述優(yōu)化器來獲得計(jì)劃和所估計(jì)的代價(jià)。
18.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,在查詢執(zhí)行期間查詢處理的副產(chǎn)品被保留為機(jī)會(huì)性物化視圖且被存儲(chǔ)為機(jī)會(huì)性物理設(shè)計(jì)配置。
19.根據(jù)權(quán)利要求11所述的系統(tǒng),包括用于執(zhí)行下述操作的計(jì)算機(jī)代碼:確定樂觀代價(jià)函數(shù)辦(W1, V),其將候選視圖K和目標(biāo)Wj當(dāng)作輸入;以及提供使用K的Wj的重寫r,.的下限,其中r,.是使用候選視圖r的巧的重寫,并且其中下限的特性被確定為:
OptCost (Wi, v) ^ Cost Cri)。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),包括用于執(zhí)行下述操作的計(jì)算機(jī)代碼:創(chuàng)建按OptCost排序的候選視圖的搜索空間;提供下一候選視圖的OptCost ;以及使用所述下一候選視圖來確定目標(biāo)的重寫。
21.根據(jù)權(quán)利要求11所述的系統(tǒng),包括用于執(zhí)行下述操作的計(jì)算機(jī)代碼: 使用r作為針對(duì)計(jì)劃的重寫; 在r中的每個(gè)目標(biāo)處引起/7個(gè)并發(fā)的搜索問題,并迭代地找到更好的重寫,其中,每次迭代選擇一個(gè)目標(biāo)K并檢查Zfi處的候選視圖;以及 將更好的重寫結(jié)果用于精簡(jiǎn)r中的其他目標(biāo)的搜索空間。
【文檔編號(hào)】G06F17/00GK104137095SQ201380011695
【公開日】2014年11月5日 申請(qǐng)日期:2013年5月31日 優(yōu)先權(quán)日:2012年6月27日
【發(fā)明者】V.H.哈奇古穆斯, J.??ɡ{拉亞南, J.勒菲弗爾, J.塔特穆拉, N.波利佐蒂斯 申請(qǐng)人:美國(guó)日本電氣實(shí)驗(yàn)室公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大厂| 海宁市| 阳朔县| 溧阳市| 鄂尔多斯市| 江源县| 名山县| 阜城县| 三台县| 昭通市| 邵武市| 瑞丽市| 井陉县| 龙游县| 岑溪市| 栖霞市| 胶南市| 荆门市| 郓城县| 乌拉特前旗| 泰来县| 文水县| 玛沁县| 庆元县| 永济市| 常熟市| 应城市| 威海市| 井研县| 临泽县| 朝阳县| 汪清县| 昌乐县| 吉林市| 宜君县| 肇庆市| 彭水| 治多县| 丰原市| 罗定市| 通州区|