两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

查詢處理操作中利用輔助屬性進行查詢重寫的方法和設(shè)備的制作方法

文檔序號:6428346閱讀:150來源:國知局
專利名稱:查詢處理操作中利用輔助屬性進行查詢重寫的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫和其他信息系統(tǒng)中的查詢處理操作,尤其涉及在數(shù)據(jù)庫查詢處理操作期間重寫查詢以包含一個來自數(shù)據(jù)屬性的新預測(predict)。
背景技術(shù)
鑒于在線商務(wù)事務(wù)處理量的增長,數(shù)據(jù)庫、數(shù)據(jù)倉和其他信息系統(tǒng)中所存儲的大量數(shù)據(jù)的查詢處理效率變得越來越重要。從1970年代末以來,在整個學術(shù)界和工業(yè)界,一直在堅持進行有關(guān)研究獨立式數(shù)據(jù)庫、分層式數(shù)據(jù)庫、分級式數(shù)據(jù)庫、空間數(shù)據(jù)庫和萬維網(wǎng)上的數(shù)據(jù)庫中的有效查詢處理操作的研發(fā)活動。所報告的查詢處理技術(shù)的綜合評論可以從多個來源得到,例如可以參見G.Graefe,“Query EvaluationTechniques for Large Databases,”ACM Computing Surveys,Volume25 Issue 2,1993年6月;和D.Kossmann,“The State of the Art inDistributed Query Processing,”ACM Computing Surveys,Volume 32Issue 4,2000年12月。
數(shù)據(jù)庫查詢處理操作通常包括6個階段語法分析、語義檢驗、查詢重寫、規(guī)劃(plan)優(yōu)化、規(guī)劃細化和查詢評估。在查詢處理操作中重寫查詢的原因可以從多個參考文獻中看到,例如可以參見L.M.Haas等的“Extensible Query Processing in Starburst,”ACMSIGMOD Record,Volume 18 Issue 2,1989年6月。查詢重寫的一些原因包括1.查詢的備選表達法(phrasing)由于相關(guān)查詢語言是非過程語言,因此備選可等效使用;和
2.查詢中涉及視圖抽象由于視圖定義對于查詢作者是隱藏的,因此涉及視圖的查詢只能由數(shù)據(jù)庫進行展開(expand)。
傳統(tǒng)的查詢重寫策略的焦點在于查詢預測中所出現(xiàn)的屬性的重寫和優(yōu)化,例如可以參見G.Graefe等的“Dynamic Query EvaluationPlans,”ACM SIGMOD Record,Volume 18 Issue 2 1989年6月;和D.Kossmann等的“Iterative Dynamic ProgrammingA New Class ofQuery Optimization Algorithms”ACM Transactions on DatabaseSystems,Volume 25 Issue 1,2000年3月。

發(fā)明內(nèi)容
本發(fā)明的原理提供了查詢處理操作期間重寫查詢的技術(shù)。
例如,在本發(fā)明的一個方面中,數(shù)據(jù)庫查詢處理操作期間重寫查詢的技術(shù)包括如下步驟。首先,根據(jù)數(shù)據(jù)組的至少一部分對查詢進行處理,從而產(chǎn)生查詢結(jié)果。其次,對來自查詢結(jié)果中的數(shù)據(jù)屬性進行分析。最后,在查詢中添加來自數(shù)據(jù)屬性的新預測。因此,可以很好地在查詢中添加一個與不包括在原始查詢中的數(shù)據(jù)屬性有關(guān)的新預測,從而提高處理效率。
本發(fā)明的原理與傳統(tǒng)方法之間存在一些主要差別。例如,本發(fā)明的原理(i)可以提倡查詢重寫策略,以添加一些基于原始查詢中所沒有的屬性的新預測;(ii)可以采用與普遍的單趟(single-pass)處理相對的兩趟查詢處理操作方法;(iii)可以采用統(tǒng)計分析及其他數(shù)據(jù)挖掘技術(shù),以幫助識別有區(qū)別的屬性;和(iv)由于查詢重寫,可能有錯誤的解除(dismissal),而傳統(tǒng)方法則強調(diào)準確的答案。
因此,本發(fā)明的原理提出了對于與傳統(tǒng)查詢標準化方法不同的查詢重寫的至少一個額外理由。這一不同的理由在于充分利用有關(guān)數(shù)據(jù)記錄中的輔助屬性的知識,以添加附加的查詢預測,從而獲得更有效的處理。本發(fā)明的技術(shù)可以很好地用于在大量數(shù)據(jù)庫中提供有效的查詢處理操作,同時保持結(jié)果的精確性。這種效率可以將通常高處理成本查詢轉(zhuǎn)換成低成本查詢。
從以下其舉例實施方式的詳細描述中可以看到這些以及其他目的、特性和優(yōu)點,其描述可以結(jié)合附圖加以理解。


圖1是一個表示數(shù)據(jù)庫中所存儲的用電量數(shù)據(jù)的表,用于說明本發(fā)明的原理與傳統(tǒng)方法之間的差別;圖2是表示根據(jù)本發(fā)明的實施方式的第一趟查詢執(zhí)行方法的流程圖;圖3是表示根據(jù)本發(fā)明的實施方式的數(shù)據(jù)采樣方法的流程圖;圖4是表示根據(jù)本發(fā)明的實施方式的選擇性屬性選擇方法的流程圖;圖5是表示根據(jù)本發(fā)明的實施方式的查詢重寫方法的流程圖;和圖6是表示根據(jù)本發(fā)明的實施方式的可以實現(xiàn)本發(fā)明的一種或多種組件/方法的計算系統(tǒng)的硬件實現(xiàn)方式的圖解。
具體實施例方式
以下描述將利用一例數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)來說明本發(fā)明的原理。本發(fā)明的原理并不局限于用于任何特定的系統(tǒng)結(jié)構(gòu)。相反,它更一般地適用于想實現(xiàn)有效和高效的查詢處理操作的任何數(shù)據(jù)處理系統(tǒng)。
這里所用的術(shù)語“數(shù)據(jù)庫”旨在包括任何數(shù)據(jù)存儲軟件和系統(tǒng),比如,象IBM DB2和Oracle 9那樣的關(guān)系數(shù)據(jù)庫。這里所用的術(shù)語“數(shù)據(jù)記錄”旨在包括數(shù)據(jù)庫中的數(shù)據(jù)的任何邏輯結(jié)構(gòu)化關(guān)聯(lián),比如,關(guān)系數(shù)據(jù)庫的表中的行。這里所述的術(shù)語“屬性”和“數(shù)據(jù)屬性”旨在包括數(shù)據(jù)記錄的任何單元,比如行的列值。這里所用的術(shù)語“目標屬性”旨在表示用戶查詢中明確出現(xiàn)的任何屬性。這里所用的術(shù)語“輔助屬性”旨在表示用戶查詢中所缺少的任何屬性。
本發(fā)明的原理可適用于在存儲有具有一個或多個屬性的結(jié)構(gòu)化數(shù)據(jù)記錄的數(shù)據(jù)庫或其他信息系統(tǒng)中的查詢處理操作。為了便于舉例說明和描述,在本發(fā)明的優(yōu)選實施方式中使用了一個基于數(shù)據(jù)庫表中的查詢處理操作的例子。本發(fā)明不應(yīng)被認為是局限或約束于數(shù)據(jù)庫表中的處理。
首先參照圖1,表中舉例說明了數(shù)據(jù)庫中所存儲的用電量數(shù)據(jù),用于說明本發(fā)明的原理與傳統(tǒng)方法之間的差別。表中的標題行中有四個屬性標記報告日期100,Westchester用電量102,紐約市用電量104,和溫度106。例舉的查詢108詢問這兩個地區(qū)的總?cè)沼秒娏看笥?000兆瓦的日期。本例中,通過將紐約市(NYC)的日用電量加上NY的Westchester縣的日用電量來計算總?cè)沼秒娏?。因此,查詢語句具有針對報告日期100作出的關(guān)于Westchester用電量102和NYC用戶量104的值的總和大于3000MW的單一預測。
傳統(tǒng)查詢重寫的焦點在于屬性列,比如,報告日期100,Westchester用電量102,和NYC用電量104。然而,通過分析屬性值分布情況,可以發(fā)現(xiàn),只有當室外溫度高于90°F時總用電量才大于3000MW。原始查詢中沒有指定的溫度屬性是輔助的,但通過在查詢中添加一個附加預測卻可以大大減少查詢處理時間。因此,在查詢重寫階段包含這一溫度預測是很有益的。然而,傳統(tǒng)查詢重寫策略卻沒有象依據(jù)本發(fā)明的原理所提出的有關(guān)輔助屬性的預測。
本發(fā)明所提出的查詢重寫方法包括兩趟。第一趟是從來自采樣數(shù)據(jù)的查詢結(jié)果的分析找到具有高選擇性的屬性。第二趟是選擇最高等級的輔助屬性,并將與所選屬性有關(guān)的新預測添加到原始查詢中,以提高查詢效率。
下面參照圖2,該流程圖說明了根據(jù)本發(fā)明的實施方式的第一趟查詢執(zhí)行方法。該方法從輸入用戶查詢200開始。首先,在步驟202中,用傳統(tǒng)的未修改的查詢處理操作來執(zhí)行對數(shù)據(jù)庫中的采樣數(shù)據(jù)204的用戶查詢200。用戶查詢200的結(jié)果作為所選數(shù)據(jù)記錄206被返回。在步驟208中,提取出所選數(shù)據(jù)記錄206的每一屬性值的統(tǒng)計。在步驟210中,單獨地從采樣數(shù)據(jù)204中收集和提取出相同屬性的統(tǒng)計。在步驟212中,評估步驟208和210中得到的統(tǒng)計組。在圖4中將進一步的描述這一評估。
根據(jù)本發(fā)明的原理,對于數(shù)字屬性,步驟208和210中所提取的典型統(tǒng)計可以包括最大值、最小值、中值、平均值和標準偏差。對于分類屬性(categorical attribute),步驟208和210中所提取的統(tǒng)計可以包括不同值的數(shù)和每一值的聚集計數(shù)(aggregated count)。此外,還可以提取涉及兩個或兩個以上屬性的聯(lián)合統(tǒng)計的更高等級的統(tǒng)計。在本實施方式中,本發(fā)明應(yīng)用數(shù)字屬性的最大和最小值,不過,其范圍并不局限于上述統(tǒng)計。
下面參照圖3,該流程圖說明了根據(jù)本發(fā)明的實施方式的數(shù)據(jù)采樣方法。這可以被認為是獲得圖2中的采樣數(shù)據(jù)204的詳述。這種方法減少了圖2的第一越查詢處理操作的數(shù)據(jù)記錄的個數(shù)。在步驟302中,對全數(shù)據(jù)組300的每第N個記錄進行采樣,從而得到采樣數(shù)據(jù)組304。N一般在l0-100的范圍內(nèi)。所得到的采樣數(shù)據(jù)組304的記錄被保存在一個較小的臨時數(shù)據(jù)庫中。
下面參照圖4,該流程圖說明了根據(jù)本發(fā)明的實施方式的選擇性屬性選擇方法。該方法可以被認為是圖2中的步驟212的詳述。這種方法說明了識別選擇性屬性的優(yōu)選評估方法。然而,本發(fā)明的原理并不局限于這一特定評估,而還可適用于其他評估準則。圖4中,通過對采樣數(shù)據(jù)中的屬性統(tǒng)計與查詢結(jié)果中的屬性統(tǒng)計的動態(tài)范圍進行比較,來檢查步驟400中所輸入的每個數(shù)字屬性。無論目標還是輔助屬性都要被檢查。屬性的動態(tài)范圍可以定義為最大和最小值之間的差。步驟402計算兩個動態(tài)范圍的比值R。在步驟404中,判斷R是否小于10%。如果R小于10%,那么,該屬性是選擇性屬性408。否則,該屬性是非選擇性屬性406。R的閾值最好在10%或小于10%。
下面參照圖5,該流程圖說明了根據(jù)本發(fā)明的實施方式的查詢重寫方法和第二趟查詢。該方法從步驟500開始,在該步驟中,評估每一選擇性屬性的相對選擇性。這些選擇性屬性408從圖4的步驟404中找到。第二趟查詢從步驟502中選擇高選擇性屬性開始??梢杂卸鄠€選擇性屬性,這些屬性按R值的上升次序排列。優(yōu)先選擇小的R值,因為它表示更高的選擇性和更高的效率。根據(jù)具體的查詢情況,選擇一個或多個最高等級的屬性。然后,在步驟504中形成范圍預測。通過界定最小和最大值,查詢結(jié)果中的所選屬性的動態(tài)范圍形成新的范圍預測。例如,圖1中的溫度屬性在總用電量大于3000MW的日期其最大值為95而最小值為91。溫度的范圍預測變成[91,95]。然后,在步驟506中為用戶查詢508添加新的范圍(溫度)預測。該方法以所得到的修改的查詢510結(jié)束,比如,“從表中選擇westchester+紐約市>3000且溫度≤95和溫度≥91的日期?!比缓?,將這一新添加的查詢510傳送到傳統(tǒng)查詢處理操作和優(yōu)化中,這樣就可以使用新添加的高選擇性預測以減少處理時間。
根據(jù)本發(fā)明,所添加的查詢可能不產(chǎn)生與原始查詢相同的一組結(jié)果。這是因為,圖3中的采樣步驟可能缺少不包括在屬性選擇和預測構(gòu)造中的數(shù)據(jù)記錄中的外來部分(outliers)。然而,在許多實際應(yīng)用中(比如在該用電量查詢例子中),所添加的查詢及其原始查詢產(chǎn)生了完全相同的結(jié)果。這些應(yīng)用中的采樣通常噪聲較小且變化較平滑。
下面參照圖6,該框圖說明了根據(jù)本發(fā)明的實施方式的可以實現(xiàn)本發(fā)明的一個或多個組件/方法(例如圖1-5的情況下所述的組件/方法)的計算系統(tǒng)的硬件實現(xiàn)方式。例如,圖6中的這種計算系統(tǒng)可以實現(xiàn)數(shù)據(jù)庫和處理圖2的用戶查詢204。
應(yīng)當理解,這些單獨的組件/方法可以在一個這樣的計算機系統(tǒng)中實現(xiàn)和處理,也可以在一個以上這樣的計算機系統(tǒng)中實現(xiàn)和處理。例如,用戶查詢204可以在一個計算機系統(tǒng)(例如客戶設(shè)備)中處理,而數(shù)據(jù)庫可以在另一個計算機系統(tǒng)中實現(xiàn)。在分布式計算系統(tǒng)中實現(xiàn)的情況下,這些單獨的計算機系統(tǒng)和/或設(shè)備可以通過合適的網(wǎng)絡(luò)(例如因特網(wǎng)或萬維網(wǎng))進行連接。然而,該系統(tǒng)可以通過專用或本地網(wǎng)來實現(xiàn)。本發(fā)明并不局限于任何特定網(wǎng)絡(luò)。
如圖所示,該計算機系統(tǒng)可以根據(jù)經(jīng)計算機總線618或其他連接配置耦接的處理器610、存儲器612、I/O設(shè)備614和網(wǎng)絡(luò)接口616來實現(xiàn)。
應(yīng)當理解,這里所用的術(shù)語“處理器”旨在包括任何處理設(shè)備,比如,含有CPU(中央處理單元)和/或其他處理電路系統(tǒng)的處理設(shè)備。還應(yīng)當理解,術(shù)語“處理器”可以是指一個以上的處理設(shè)備,而與處理設(shè)備有關(guān)的各種單元可以由其他處理設(shè)備所共享。
這里所用的術(shù)語“存儲器”旨在包括與處理器或CPU有關(guān)的存儲器,比如,RAM、ROM、固定存儲設(shè)備(例如硬盤驅(qū)動器)、可移動存儲設(shè)備(例如軟磁盤)、快閃存儲器等。
此外,這里所用的術(shù)語“輸入/輸出設(shè)備”或“I/O設(shè)備”旨在包括,例如,用于向處理單元輸入數(shù)據(jù)的一個或多個輸入設(shè)備(如鍵盤、鼠標等),和/或用于給出與處理單元有關(guān)的結(jié)果的一個或多個輸出設(shè)備(如揚聲器、顯示器等)。
再者,這里所用的術(shù)語“網(wǎng)絡(luò)接口”旨在包括,例如,使得該計算機系統(tǒng)可以通過適當?shù)耐ㄐ艆f(xié)議(如HTTP/S)與另一計算機系統(tǒng)進行通信的一個或多個收發(fā)信機。
相應(yīng)地,含有用于執(zhí)行這里所述的方法的指令或代碼的軟件組件可保存在一個或多個相關(guān)存儲設(shè)備(例如ROM、固定或可移動存儲器)中,當準備要使用時,可以部分或全部裝載(到例如RAM中)并由CPU來執(zhí)行。
盡管這里參照附圖描述了本發(fā)明的舉例說明的實施方式,然而,本發(fā)明并不局限于這些具體實施方式
,在不背離本發(fā)明的范圍或精神的前提下,熟練技術(shù)人員可以作出各種其他變化和修改。
權(quán)利要求
1.一種在數(shù)據(jù)庫查詢處理操作期間重寫查詢的方法,包括如下步驟根據(jù)一個數(shù)據(jù)組的至少一部分對查詢進行處理,從而產(chǎn)生查詢結(jié)果;對來自查詢結(jié)果的數(shù)據(jù)屬性進行分析;和在查詢中添加來自至少一個數(shù)據(jù)屬性的至少一個新預測。
2.權(quán)利要求1的方法,其中數(shù)據(jù)組的至少一部分包括來自數(shù)據(jù)組的采樣記錄。
3.權(quán)利要求2的方法,還包括對來自數(shù)據(jù)組的數(shù)據(jù)記錄進行采樣的步驟。
4.權(quán)利要求3的方法,其中對數(shù)據(jù)記錄進行采樣的步驟包括對來自數(shù)據(jù)組的每第N個記錄進行采樣的步驟。
5.權(quán)利要求1的方法,其中在分析數(shù)據(jù)屬性的步驟中,數(shù)據(jù)屬性包括目標數(shù)據(jù)屬性和輔助數(shù)據(jù)屬性。
6.權(quán)利要求5的方法,其中在添加查詢的步驟中,所述至少一個數(shù)據(jù)屬性包括至少一個輔助數(shù)據(jù)屬性。
7.權(quán)利要求1的方法,其中分析數(shù)據(jù)屬性的步驟包括如下步驟從查詢結(jié)果中提取每一屬性的統(tǒng)計;從數(shù)據(jù)組的至少一部分中提取每一屬性的統(tǒng)計;和評估每一屬性的相對選擇性。
8.權(quán)利要求7的方法,其中評估相對選擇性的步驟包括如下步驟針對每一屬性,對來自查詢結(jié)果的統(tǒng)計的范圍與來自數(shù)據(jù)組的至少一部分的統(tǒng)計的范圍進行比較;和通過將這些范圍的比值與預定值進行比較來確定每一屬性是否是選擇性屬性。
9.權(quán)利要求1的方法,其中添加至少一個新預測的步驟包括如下步驟評估每一數(shù)據(jù)屬性的相對選擇性;選擇具有高選擇性的至少一個輔助數(shù)據(jù)屬性;形成至少一個新預測;和向用戶查詢添加該至少一個新預測。
10.權(quán)利要求1的方法,還包括利用重寫查詢對數(shù)據(jù)組進行查詢處理操作的步驟。
11.在數(shù)據(jù)庫查詢處理操作期間重寫查詢的設(shè)備,包括存儲器;和與存儲器耦接的至少一個處理器,其操作用于(i)根據(jù)數(shù)據(jù)組的至少一部分對查詢進行處理,從而產(chǎn)生查詢結(jié)果;(ii)對來自查詢結(jié)果的數(shù)據(jù)屬性進行分析;和(iii)在查詢中添加來自至少一個數(shù)據(jù)屬性的至少一個新預測。
12.權(quán)利要求11的設(shè)備,其中數(shù)據(jù)組的至少一部分包括來自數(shù)據(jù)組的采樣記錄。
13.權(quán)利要求12的設(shè)備,其中至少一個處理器還可操作用來對來自數(shù)據(jù)組的數(shù)據(jù)記錄進行采樣。
14.權(quán)利要求13的設(shè)備,其中對數(shù)據(jù)記錄進行采樣的操作包括對來自數(shù)據(jù)組的每第N個記錄進行采樣。
15.權(quán)利要求11的設(shè)備,其中在分析數(shù)據(jù)屬性的操作中,數(shù)據(jù)屬性包括目標數(shù)據(jù)屬性和輔助數(shù)據(jù)屬性。
16.權(quán)利要求15的設(shè)備,其中在添加查詢的操作中,所述至少一個數(shù)據(jù)屬性包括至少一個輔助數(shù)據(jù)屬性。
17.權(quán)利要求11的設(shè)備,其中分析數(shù)據(jù)屬性的操作包括從查詢結(jié)果中提取每一屬性的統(tǒng)計;從數(shù)據(jù)組的至少一部分中提取每一屬性的統(tǒng)計;和評估每一屬性的相對選擇性。
18.權(quán)利要求17的設(shè)備,其中評估相對選擇性的操作包括對來自查詢結(jié)果的每一屬性的統(tǒng)計的范圍與來自數(shù)據(jù)組的至少一部分的一個對應(yīng)屬性的統(tǒng)計的范圍進行比較;和通過將這些范圍的比值與預定值進行比較來確定每一屬性是否是選擇性屬性。
19.權(quán)利要求11的設(shè)備,其中添加至少一個新預測的操作包括評估每一數(shù)據(jù)屬性的相對選擇性;選擇具有高選擇性的至少一個輔助數(shù)據(jù)屬性;形成至少一個新預測;和向用戶查詢添加該至少一個新預測。
20.權(quán)利要求11的設(shè)備,其中至少一個處理器還可操作用來利用重寫查詢對數(shù)據(jù)組進行查詢處理操作。
21.一種在數(shù)據(jù)庫查詢處理操作期間重寫查詢的產(chǎn)品,包括含有一個或多個程序的機器可讀媒體,在被執(zhí)行時可實現(xiàn)如下步驟根據(jù)數(shù)據(jù)組的至少一部分對查詢進行處理,從而產(chǎn)生查詢結(jié)果;對來自查詢結(jié)果的數(shù)據(jù)屬性進行分析;和在查詢中添加來自至少一個數(shù)據(jù)屬性的至少一個新預測。
全文摘要
本發(fā)明提供了用于在數(shù)據(jù)庫查詢處理操作期間重寫查詢,以包含原始查詢中所沒有的輔助屬性,從而提高處理效率的方法和設(shè)備。例如,在本發(fā)明的一個方面中,查詢處理操作中重寫查詢的技術(shù)包括如下步驟。首先,根據(jù)數(shù)據(jù)組的至少一部分對查詢進行處理,從而產(chǎn)生查詢結(jié)果。其次,對來自查詢結(jié)果的數(shù)據(jù)屬性進行分析。最后,在查詢中添加來自至少一個輔助數(shù)據(jù)屬性的至少一個新預測。
文檔編號G06F17/30GK1601529SQ200410079708
公開日2005年3月30日 申請日期2004年9月17日 優(yōu)先權(quán)日2003年9月23日
發(fā)明者張元極, 馬修·L·希爾 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
伊吾县| 南投县| 北海市| 兴文县| 奇台县| 周至县| 中方县| 新宾| 陆川县| 灵武市| 双辽市| 旺苍县| 嘉义市| 鄂尔多斯市| 陇川县| 盈江县| 天祝| 新宾| 云阳县| 岳池县| 进贤县| 大丰市| 栾川县| 长海县| 手游| 三河市| 中卫市| 贡觉县| 平和县| 富锦市| 寿阳县| 巴林左旗| 南澳县| 日喀则市| 龙川县| 夏河县| 龙里县| 攀枝花市| 积石山| 禹州市| 平阴县|