優化資料庫顧問程序的配置參數的方法及裝置的製作方法
2023-06-05 13:51:31 1
專利名稱::優化資料庫顧問程序的配置參數的方法及裝置的製作方法
技術領域:
:本發明涉及資料庫的優化技術,具體地說,涉及對資料庫顧問程序(advisor)的配置參數進行優化的方法及裝置。
背景技術:
:最近十幾年,為了解決在資料庫管理和性能優化上日益增加的複雜度,資料庫軟體產品提供商已在提供自優化和自主計算解決方案方面獲得了顯著的進步。現有的資料庫軟體產品中提供了多個資料庫顧問程序,例如,優化顧問程序、升級顧問程序、訪問顧問程序等,以幫助用戶自動設計資料庫並進行資料庫的性能調優。—般地,這些資料庫顧問程序都具有很多配置參數,而且合適地設置這些配置參數對於最終生成的資料庫的性能具有重要的作用。通常,資料庫顧問程序的所有配置參數都提供有預設值,並且這些預設值以適用於大範圍的資料庫應用程式為目的。下面簡要介紹現有的主要資料庫優化顧問程序。微軟公司自1996年啟動了關於自動資料庫優化和管理的AutoAdmin項目,目前,微軟SQLServer2005提供了資料庫引擎優化顧問程序(DTA)以用於綜合選擇索引、物化視圖(materializedviews)和分區。關於資料庫引擎優化顧問程序的詳細說明可參考以下文獻1.S.Chaudhuri禾口V.Narasayya所著的AutoAdminWhat-IfIndexAnalysisUtility,InProceedingofSIGM0D,美國華盛頓州西雅圖,1998年6月1-4日;2.S.Agrawal,S.Chaudhuri禾口V.Narasayya所著的AutomatedSelectionofMaterializedViewsandIndexesinSQLDatabase,InProceedingofVLDB,埃及開羅,2000年9月10-14日;3.S.Agrawal,S.Chaudhuri,LKollar,A.Marathe,V.Narasayya禾口M.Syamala所著的DatabaseTimingAdvisorforMicrosoftSQLServer2005,InProceedingsofVLDB,加拿大多倫多,2004年8月31日至9月3日;4.S.Chaudhuri,V.Narasayya禾口B.Yang所著的IntegratingVerticalandHorizontalPartitioningintoAutomatedPhysicalDatabaseDesign,InProceedingofSIGM0D,法國巴黎,2004年6月13-18日。Oracle公司提供的SQL性能優化是作為優化器的擴展。Oracle10g提供了自動選擇索引和物化視圖的工具,詳情可參考以下文獻1.B.Dageville,D.Das,K.Dias,K.Yagoub,M.Zait禾口M.Ziauddin所著的AutomaticSQLTuninginOracle10g,InProceedingsofVLDB,加拿大多倫多,2004年8月31日至9月3日;2.K.Dias,M.Ramacher,U.Shaft,V.Venkataramamani禾口G.Wood所著的AutomaticPerformanceDiagnosisandTuninginOracle,InProceedingsofCIDR,美國力口州Asilomar,2005年1月4-7日;3.B.Dageville禾口K.Dias所著的Oracle'sSelf-TuningArchitectureandSolutions,IEEEDataEngineeringBulletin,29(3):24-31,2006。在上述的顧問程序中都提供有許多配置參數,通常也提供這些配置參數的預設值/初始值。然而,如前所述,這些預設值/初始值通常被設置成適用於大範圍的資料庫應用程式,因而缺乏靈活性。而且,預設值/初始值通常是在開發資料庫軟體產品的過程中基於內置模型和試探法或者基於經驗設置的,沒有統計上的證明表示這些預設值/初始值是適當的。當用戶使用資料庫顧問程序建立資料庫時,會面臨顧問程序的配置參數太多的困境。資料庫管理員會花費很多時間和精力來調整這些參數,並且通常資料庫管理員根據自身的經驗來選擇配置參數的值或者直接遵照預設值/初始值,這樣的話,如果選擇不當或者預設值/初始值設置不當,則不能獲得好的資料庫性能。目前尚未發現現有技術中存在基於統計方法的評估和優化資料庫顧問程序的配置參數的技術方案。
發明內容本發明正是基於上述的技術問題而提出的,其目的在於提供一種優化資料庫顧問程序的配置參數的方法及裝置,其能夠以統計的方法確定配置參數對於資料庫性能的影響,並提供配置參數的優化建議。根據本發明的一個方面,提供一種優化資料庫顧問程序的配置參數的方法,其包括使用DOE實驗設計方法設計所述資料庫顧問程序的多個測試實驗,其中,每一個所述測試實驗對應所述配置參數的一組取值;執行所述多個測試實驗的每一個,以生成相應的推薦資料庫;測量每一個所述推薦資料庫的性能,以獲得該推薦資料庫的測量結果;以及分析所有所述推薦資料庫的測量結果,以確定對所述資料庫的影響大的配置參數。根據本發明的另一個方面,提供一種優化資料庫顧問程序的配置參數的裝置,其包括測試實驗設計模塊,用於使用DOE實驗設計方法設計所述資料庫顧問程序的多個測試實驗,其中,每一個所述測試實驗對應所述配置參數的一組取值;測試實驗執行模塊,用於執行所述多個測試實驗的每一個,以生成相應的推薦資料庫;性能測量模塊,用於測量每一個所述推薦資料庫的性能,以獲得該推薦資料庫的測量結果;以及分析模塊,用於分析所有所述推薦資料庫的測量結果,以確定對所述資料庫的影響大的配置參數。圖1是根據本發明的一個實施例的優化資料庫顧問程序的配置參數的方法的流程圖;圖2是資料庫顧問程序的一個例子的示意圖;圖3是圖1所示的實施例中設計多個測試實驗的步驟的流程圖;圖4是圖1所示的實施例中執行多個測試實驗的步驟的流程圖;圖5是圖1所示的實施例中分析測量結果的步驟的流程圖;圖6是根據本發明的一個實施例的優化資料庫顧問程序的配置參數的裝置的方框圖。具體實施例方式相信通過以下結合附圖對本發明的具體實施例的詳細描述,本發明的上述和其它目的、特徵和優點將更加明顯。在詳細描述本發明的具體實施例之前,先簡要介紹幾個概念。實驗設計(DesignofExperiments,簡稱DOE)是研究如何制定適當的實驗方案以便對實驗數據進行有效的統計分析的數學理論與方法,其採用多個實驗的方式來以最小的努力搜集測試系統的最多的信息。關於DOE的詳情,可參考D.C.Montgonery所著的DesignandAnalysisofExperiments(6thEdition),Wiley,2005年。對於軟體測試,傳統的基於DOE的統計方法是正交設計(0rthogonalDesign)方法,其能夠節約大量的測試時間和成本。在正交設計方法中,使用正交數組來選擇測試組合和配置。然而,正交數組非常嚴格,在很多情況下,對於某些因子、水平等不能使用正交數組,因此,引入了覆蓋數組(CoveringArray)的概念。關於覆蓋數組的詳情,可參考以下文獻l)M.B.Cohen,C.J.Colbo證,P.B.Gibbons禾口W.B.Mugridge所著的Constructingtestsuitesforinteractiontesting,InProceedingofthelnternationalConferenceonSoftwareEngineering(ICSE2003),俄勒岡州波特蘭,2003年5月;2)M.B.Cohen,C.J.Colbo證禾口A.C.H丄ing所著的Augmentingsimulatedannealingtobuildinteractiontestsuites,InProceedingsofthel4thIEEEInternationalSymposiumonSoftwareReliabilityEngineering(ISSRE2003),DenverC0,2003年11月;3)M.B.Cohen所著的DesigningTestSuitesforSoftwareInteractionTesting,Ph.D.Dissertation,奧克蘭大學,2004年。下面僅介紹混合水平覆蓋數組(MixedLevelCoveringArray)的定義。混合水平覆蓋數組可表示為MCA(N;t,k,(Vl,...,Vk)),其是關於v個符號的NXk數組,其中v-I^,Vi,該數組具有以下特性1)每一列i(1《i《k)只包含來自Vi的集合Si的元素;2)每個NXt子數組的行覆蓋來自t個列的值的所有t個組元(t-tuple)至少一次。混合水平覆蓋數組也可以表示為MCA(N;t,O;',...,w"),其中k二2^i;,v二Z^fiWi°例如,MCA(12;2,4,(4,3,3,2))也可寫作MCA(12;2,413221)。下面參考附圖,詳細說明本發明的具體實施例。圖1是根據本發明的一個實施例的優化資料庫顧問程序的配置參數的方法的流程圖。下面根據附圖,對本實施例進行說明。在本實施例中,假設資料庫顧問程序I具有k個配置參數...,Ck}。如圖1所示,在步驟S101,測量資料庫的初始性能,並將所測量的性能數據作為資料庫的基線數據(baselinedata)。在本步驟中,資料庫顧問程序I的各個配置參數{Q,...,Ck}被無約束地設置,然後對資料庫應用一個查詢工作負載(queryworkload),資料庫執行該查詢工作負載,從而生成相應的性能數據,作為基線數據。此時,資料庫顧問程序和資料庫被認為處於基線狀態。在本實施例中,資料庫的性能數據可以是下述的任意一個或多個整個查詢工作負載的總消耗時間、整個查詢工作負載的總CPU時間、每個查詢的消耗時間和每個查詢的CPU時間。查詢工作負載是一組相關的查詢,S卩,SQLSELECT或UPDATE語句。查詢工作負載可從諸如TPC-H的測試包中選擇,或者根據要求生成,或者從實際的客戶環境中收集。圖2示出了一個資料庫顧問程序的例子的示意圖。從圖2可以看出,該顧問程序具有很多配置參數,例如"Numberofindexesallowedpertable,,、"Lowbenefitthreshold"等。所謂"無約束地設置",就是將配置參數的值選擇為"無限制"。在步驟SllO,使用DOE實驗設計方法設計資料庫顧問程序I的多個測試實驗,其中,每一個測試實驗對應配置參數{&,...,Ck}的一組取值。圖3示出了步驟S110的處理流程圖。如圖3所示,在步驟S301,設置資料庫顧問程序I的每一個配置參數&(1《i《k)的所有水平以及每一個水平的值。這可由使用者根據經驗或者前面所得到的基線數據進行設置。下面以資料庫顧問程序I是IBM優化專家工作負載索引顧問程序(IBMOptimizationExpertWorkloadIndexAdvisorWIA)為例進行說明。在該顧問程序中,有ll個配置參數,如表l所示表1tableseeoriginaldocumentpage8tableseeoriginaldocumentpage9其中,參數C01表示為新推薦的索引分配的磁碟空間量;參數C02表示對於每個表所創建索引的最大允許數量(包括WIA推薦的索引和已有的索引);參數C03表示產生索引候選的策略,該策略控制WIA推薦索引的情況;典型的索引生成策略包括l)Comprehensive(全面的),其產生有助匹配和顯示索引掃描以及索引只讀的索引;2)Conditional(有條件的),其產生有助匹配和顯示索引掃描的索引,並且有條件地產生有助索引只讀的索引;3)Intermediate(中等的),其產生有助匹配和顯示索引掃描的索引;4)Minimal(最小的),其產生只有助匹配索引掃描的索引;5)Customized(自定義的),其根據特定的重要閾值產生索引以考慮更加優化重要的查詢;小於低的重要閾值的查詢將使用基本策略,在兩個閾值之間的查詢將使用中等策略,大於高的重要閾值的查詢將使用全面的策略;參數C04表示用於產生索引推薦的策略,推薦策略包括1)僅是效益Benefitonly(積極的),其基於對工作負載所生成的候選索引的整體估計效益進行推薦,而不管索引使用的磁碟空間;2)效益成本比(保守的),其基於對工作負載所生成的候選索引的整體估計效益與索引所使用的磁碟空間的比較進行推薦;參數C05表示候選索引中關鍵字的最大允許數量;參數C06表示查詢重要閾值,其用於將工作負載中的SQL語句分成分別具有低、中、高重要性的不同的組;參數C07表示查詢效益閾值,其用於將推薦索引候選識別成相應的重要性組;參數C08表示查詢權重策略,WIA根據不同的查詢權重策略將優先權值應用於工作負載中的每個SQL查詢,查詢權重基於運行時信息(如果運行時信息可得),諸如消耗時間和CPU時間,或者基於執行數(如果運行時信息不可得);參數C09表示所有推薦候選索引的集群比;參數C10表示基於引用完整性產生外鍵索引;參數Cll用於規定收集統計信息的策略,由於WIA依賴統計信息,因此在運行WIA之前,需要收集相關的統計信息。表2示出了表1中的每一個配置參數Ci的水平以及每個水平的值Vi。表2tableseeoriginaldocumentpage10tableseeoriginaldocumentpage11在設置了每個配置參數的水平及每個水平的值後,在步驟S305,根據所設置的配置參數的水平,選擇合適的覆蓋數組。如前所述,覆蓋數組表示為MCA(N;t,k,(Vl,...,Vk)),其中N表示實驗次數,t通常選擇2,表示結對測試。通常,合適的覆蓋數組可從已有的已知數量結果中獲得。對於上述的WIA的例子,配置參數和水平的信息可表示為(11,(3,3,5,2,3,3,3,3,3,2,3))或者(5^2",那麼選擇覆蓋數組MCA(15;2,513822)用於測試實驗設計。然後,在步驟S310,基於在步驟S301中設置的每一個配置參數的每一個水平的值和在步驟S305中獲得的覆蓋數組,生成資料庫顧問程序I的多個測試實驗。表3示出了用於上述WIA的測試實驗。表3tableseeoriginaldocumentpage12tableseeoriginaldocumentpage13其中,每一行代表一個測試實驗,其對應一組配置參數的值。現在返回圖1,在步驟S120,執行通過步驟S110設計的多個測試實驗的每一個,以生成相應的推薦資料庫。也就是說,在資料庫顧問程序I上依次執行每一個測試實驗,從而獲得與測試實驗的次數相同的推薦資料庫。圖4示出了執行多個測試實驗的步驟S120的流程圖。如圖4所示,對於第一個測試實驗,在步驟S401,根據該測試實驗所對應的配置參數的一組值,運行資料庫顧問程序I,從而獲得資料庫顧問程序推薦。也就是說,將資料庫顧問程序I的配置參數&設置為第一組實驗值,然後運行資料庫顧問程序I。該步驟可以使用應用數據接口(API)來實現。資料庫顧問程序推薦可以是用於收集統計信息的RUNSTATS命令,或者用於創建索引的CREATEINDEXDDLs,或者用於創建視圖的CREATEVIEWDDLs,或者用於創建MQTs的MQT候選DDLs。然後,在步驟S405,將在步驟S401中得到的資料庫顧問程序推薦應用於資料庫,從而獲得推薦資料庫。然後,對於第二個測試實驗直到最後一個測試實驗,重複執行步驟S401和S405,以獲得相應的推薦資料庫。在步驟S120中,在每次執行一個測試實驗之前,資料庫顧問程序和資料庫應處於基線狀態,以確保每次測試實驗都是基於相同的資料庫狀態。返回圖l,在步驟S130,測量每一個推薦資料庫的性能,以獲得該推薦資料庫的測量結果。在該步驟中,使用與步驟S101相同的查詢工作負載,並將其應用於每一個推薦資料庫,從而得到每一個推薦資料庫的與性能相關的測量結果。在本實施例中,測量結果可以採用測量推薦資料庫的性能而得到的性能數據,也可以採用測量推薦資料庫的性能而得到的性能數據與在步驟101中測量的基線數據的差。然後,在步驟S140,分析在步驟S130中得到的所有推薦資料庫的測量結果,以確定對資料庫的影響大的配置參數,那麼這些配置參數是資料庫顧問程序I的重要的配置參數。圖5示出了分析測量結果的步驟S140的流程圖,其中,圖5(a)是使用極差分析的處理的流程圖,圖5(b)是使用方差分析的處理的流程圖。如圖5(a)所示,當獲得了所有推薦資料庫的測量結果後,在步驟S501,對於每一個配置參數,計算該配置參數的每一個水平所對應的測量結果的平均值,該平均值可以表明該水平對於該配置參數的貢獻。然後,在步驟S505,計算對於該配置參數所計算的平均值中最大的平均值與最小的平均值之間的差,作為該配置參數的極差。然後,在步驟S510,根據所計算的各個配置參數的極差,對這些配置參數進行排序,其中,極差最大的配置參數被確定為對資料庫的影響最大。對於上述的WIA例子,表4示出了測量結果的分析結果。表4tableseeoriginaldocumentpage14tableseeoriginaldocumentpage15其中,羅馬字母I至V表示配置參數的水平,R表示極差。那麼,在表4中,例如第16行第2列的元素"1363.98"表示配置參數C03的第一個水平"5"所對應的測量結果的平均值。從表4中可以看出,配置參數C03的極差最大,那麼,配置參數C03對於資料庫的影響也最大,被排在第1位,排在第2和第3位的分別是配置參數Cll和C05。在另一個實施例中,如圖5(b)所示,在步驟S501',對於每一個配置參數,計算該配置參數的每一個水平所對應的測量結果的總和,接著在步驟S505',根據公式(l),計算該配置參數的偏差平方和。formulaseeoriginaldocumentpage15(1)其中,&表示第i個配置參數,Vi表示配置參數&的水平的個數,Yfi表示配置參數&的水平j所對應的測量結果的和,lf表示包含配置參數&的水平j的測試實驗的個數,N表示測試實驗的總個數,Sci表示配置參數&的偏差平方和。然後,在步驟S510',根據公式(2),計算該配置參數的方差formulaseeoriginaldocumentpage15(2)然後,在步驟S515',根據在步驟S510'所計算的各個配置參數的方差,對配置參數進行排序,其中,方差最大的配置參數被確定為對資料庫的影響最大。—般地,方差分析基於Fisher原理。使用F測試方法,方差反映測試數據的偏離程度,從而能夠用於分析每個配置參數對於測量結果的影響。根據上述分析的結果,可以推薦配置參數的優化值。在上述的WIA的例子中,排在前3位的配置參數分別是C03INDEX_GENERATI0N_P0LICY,C11STATS_C0LLECTI0N_P0LICY和C05MAX_KEY_PER_TABLE。配置參數C03控制WIA如何產生中等的索引候選,即僅僅有助於索引匹配,或者有助於索引顯示,或者有助於索引只讀。因此,該配置參數是非常重要的參數,其對WIA的輸出有貢獻,並在本質上確定推薦的優劣。對於配置參數Cll,基本的統計基本上確定WIA中成本模型和What-If功能的輸入參數。最終的索引候選選擇主要基於通過成本模型和What-If計算的結果,因此,該配置參數也是重要的參數。配置參數C05限定推薦索引中關鍵字的最大數量,顯然,索引中的關鍵字越多,該索引被選擇以有助於索引只讀的可能性越大,這避免了掃描磁碟,並顯著減少1/0開銷。因此,該配置參數也是重要的參數。通過以上描述可以看出,本實施例的優化資料庫顧問程序的配置參數的方法使用基於統計的D0E實驗設計方法以設計和選擇高效的測試實驗,並使用覆蓋數組以獲得相對少的測試實驗,通過分析測試實驗的結果對配置參數進行排序,以確定重要的配置參數,從而能夠自動地評估資料庫顧問程序的配置參數,同時提供配置參數的優化建議,極大方便了配置參數的預設值/初始值的適當設置。另外,本實施例的方法還能夠節約資料庫管理員設置配置參數的時間和精力。在同一個發明構思下,圖6是根據本發明的一個實施例的優化資料庫顧問程序的配置參數的裝置的方框圖。下面結合附圖,詳細說明本實施例,其中與前面實施例相同的部分,適當省略其說明。如圖6所示,本實施例的優化資料庫顧問程序的配置參數的裝置600包括測試實驗設計模塊601,其使用D0E實驗設計方法設計資料庫顧問程序的多個測試實驗,其中,每一個測試實驗對應配置參數的一組取值;測試實驗執行模塊602,其執行測試實驗設計模塊601所設計的多個測試實驗的每一個,以生成相應的推薦資料庫;性能測量模塊603,其測量每一個推薦資料庫的性能,以獲得該推薦資料庫的測量結果;以及分析模塊604,其分析所有推薦資料庫的測量結果,以確定對資料庫的影響大的配置參數。在本實施例中,對於待測試的資料庫顧問程序,首先,測試實驗設計模塊601使用DOE實驗設計方法來設計測試實驗。具體地,在測試實驗設計模塊601中,由設置單元6011設置資料庫顧問程序的每一個配置參數的所有水平以及每一個水平的值,接著覆蓋數組選擇單元6012根據設置單元6011所設置的配置參數的水平,選擇合適的覆蓋數組。設置單元6011所設置的水平及其值以及覆蓋數組選擇單元6012所選擇的覆蓋數組被提供給測試實驗生成單元6013,由測試實驗生成單元6013生成資料庫顧問程序的多個測試實驗。然後,測試實驗設計模塊601所設計的測試實驗被提供給測試實驗執行模塊602執行,生成推薦資料庫。對於每一個測試實驗,在測試實驗執行模塊602中,資料庫顧問程序運行單元6021基於該測試實驗中的配置參數的取值,運行資料庫顧問程序以獲得資料庫顧問程序推薦,並提供給推薦資料庫生成單元6022。推薦資料庫生成單元6022將資料庫顧問程序推薦應用於資料庫,從而生成推薦資料庫。然後,性能測量模塊603使用查詢工作負載測量每一個推薦資料庫的性能,以獲得該推薦資料庫的測量結果。在本實施例中,測量結果採用測量推薦資料庫的性能而獲得的性能數據。如前所述,性能數據可以是整個查詢工作負載的總消耗時間、整個查詢工作負載的總CPU時間、每個查詢的消耗時間和每個查詢的CPU時間中的任意一個或多個。通過性能測量模塊603獲得的測量結果被送到分析模塊604,由分析模塊604分析所有推薦資料庫的測量結果,以確定對資料庫的影響大的配置參數。在一個實施例中,在分析模塊604中,平均值計算單元6041對於每一個配置參數,計算該配置參數的每一個水平所對應的測量結果的平均值,然後極差計算單元6042計算平均值計算單元6041所計算的平均值中最大的平均值與最小的平均值之間的差,作為該配置參數的極差,並由第一排序單元6043根據所計算的各個配置參數的極差,對配置參數進行排序,其中,極差最大的配置參數被確定為對資料庫的影響最大。在另一個實施例中,在分析模塊604中,首先總和計算單元對於每一個配置參數,計算該配置參數的每一個水平所對應的測量結果的總和,然後偏差平方和計算單元根據公式(1)計算該配置參數的偏差平方和Sq=|]((")2/lf)_(I]")2/N,(1)j=lj=l其中,Ci表示第i個配置參數,Vi表示配置參數Ci的水平的個數,Yfi表示配置參數&的水平j所對應的所述測量結果的和,^表示包含配置參數Ci的水平j的測試實驗的個數,N表示測試實驗的總個數,Sc,表示配置參數Ci的偏差平方和。所計算的偏差平方和被提供給方差計算單元,用於根據公式(2)計算該配置參數的方差工=sCi/(Vi_l),(2)然後,第二排序單元根據所計算的各個配置參數的方差,對配置參數進行排序,其中,方差最大的配置參數被確定為對資料庫的影響最大。進一步地,性能測量裝置603還預先測量資料庫的初始性能數據,作為資料庫的基線數據。在這種情況下,測量結果可以採用測量推薦資料庫的性能而得到的性能數據與基線數據的差。應當指出,本實施例的優化資料庫顧問程序的配置參數的裝置600在操作上可以實現圖1、圖3、圖4和圖5所示的優化資料庫顧問程序的配置參數的方法。應當指出,上述實施例中的優化資料庫顧問程序的配置參數的裝置及其各個組成部分可以由諸如超大規模集成電路或門陣列、諸如邏輯晶片、電晶體等的半導體、或者諸如現場可編程門陣列、可編程邏輯設備等的可編程硬體設備的硬體電路實現,也可以用由各種類型的處理器執行的軟體實現,也可以由上述硬體電路和軟體的結合實現。以上雖然通過一些示例性的實施例詳細描述了本發明的優化資料庫顧問程序的配置參數的方法和裝置,但是以上這些實施例並不是窮舉的,本領域技術人員可以在本發明的精神和範圍內實現各種變化和修改。因此,本發明並不限於這些實施例,本發明的範圍僅由所附的權利要求限定'權利要求一種優化資料庫顧問程序的配置參數的方法,包括使用DOE實驗設計方法設計所述資料庫顧問程序的多個測試實驗,其中,每一個所述測試實驗對應所述配置參數的一組取值;執行所述多個測試實驗的每一個,以生成相應的推薦資料庫;測量每一個所述推薦資料庫的性能,以獲得該推薦資料庫的測量結果;以及分析所有所述推薦資料庫的測量結果,以確定對所述資料庫的影響大的配置參數。2.根據權利要求1所述的方法,其中,所述設計多個測試實驗的步驟包括設置所述資料庫顧問程序的每一個配置參數的所有水平以及所述所有水平的每一個的值;根據所設置的配置參數的水平,選擇合適的覆蓋數組;以及基於所述每一個配置參數的所述水平的每一個的值和所述覆蓋數組,生成所述資料庫顧問程序的多個測試實驗。3.根據權利要求1或2所述的方法,其中,所述執行所述多個測試實驗的每一個的步驟包括對於所述多個測試實驗的每一個,基於所對應的所述配置參數的一組取值,運行所述資料庫顧問程序以獲得資料庫顧問程序推薦;以及將所述資料庫顧問程序推薦應用於所述資料庫,以生成推薦資料庫。4.根據權利要求2或3所述的方法,其中,所述分析所述測量結果的步驟包括對於所述每一個配置參數,計算該配置參數的每一個水平所對應的所述測量結果的平均值;計算所述平均值中最大的平均值與最小的平均值之間的差,作為該配置參數的極差;以及根據所計算的各個配置參數的極差,對所述配置參數進行排序,其中,所述極差最大的配置參數被確定為對所述資料庫的影響最大。5.根據權利要求2或3所述的方法,其中,所述分析所述測量結果的步驟包括對於所述每一個配置參數,計算該配置參數的每一個水平所對應的所述測量結果的總和;根據下述公式,計算該配置參數的偏差平方和SC4((")2《')-(IX')"N,formulaseeoriginaldocumentpage2其中,&表示第i個配置參數,Vi表示配置參數&的水平的個數,Yfi表示配置參數&的水平j所對應的所述測量結果的和,l」e'表示包含配置參數&的水平j的測試實驗的個數,N表示測試實驗的總個數,Sci表示配置參數&的偏差平方和;根據下述公式,計算該配置參數的方差formulaseeoriginaldocumentpage2以及根據所計算的各個配置參數的方差,對所述配置參數進行排序,其中,所述方差最大的配置參數被確定為對所述資料庫的影響最大。6.根據權利要求1至5任意一項所述的方法,其中,所述測量結果是通過測量所述推薦資料庫的性能而獲得的性能數據。7.根據權利要求1至5任意一項所述的方法,還包括在所述設計多個測試實驗的步驟之前,測量所述資料庫的初始性能,並將所測得的性能數據作為所述資料庫的基線數據。8.根據權利要求7所述的方法,其中,所述測量結果是通過測量所述推薦資料庫的性能而獲得的性能數據與所述基線數據的差。9.根據權利要求6至8任意一項所述的方法,其中,所述資料庫的性能數據是整個查詢工作負載的總消耗時間、整個查詢工作負載的總CPU時間、每個查詢的消耗時間和每個查詢的CPU時間中的任意一個或多個。10.—種優化資料庫顧問程序的配置參數的裝置,包括測試實驗設計模塊,用於使用DOE實驗設計方法設計所述資料庫顧問程序的多個測試實驗,其中,每一個所述測試實驗對應所述配置參數的一組取值;測試實驗執行模塊,用於執行所述多個測試實驗的每一個,以生成相應的推薦資料庫;性能測量模塊,用於測量每一個所述推薦資料庫的性能,以獲得該推薦資料庫的測量結果;以及分析模塊,用於分析所有所述推薦資料庫的測量結果,以確定對所述資料庫的影響大的配置參數。11.根據權利要求IO所述的裝置,其中,所述測試實驗設計模塊包括設置單元,用於設置所述資料庫顧問程序的每一個配置參數的所有水平以及所述所有水平的每一個的值;覆蓋數組選擇單元,用於根據所設置的配置參數的水平,選擇合適的覆蓋數組;以及測試實驗生成單元,用於基於所述每一個配置參數的所述水平的每一個的值和所述覆蓋數組,生成所述資料庫顧問程序的多個測試實驗。12.根據權利要求10或11所述的裝置,其中,所述測試實驗執行模塊包括資料庫顧問程序運行單元,用於對於所述多個測試實驗的每一個,基於所對應的所述配置參數的一組取值,運行所述資料庫顧問程序以獲得資料庫顧問程序推薦;以及推薦資料庫生成單元,用於將所述資料庫顧問程序推薦應用於所述資料庫,以生成推薦資料庫。13.根據權利要求11或12所述的裝置,其中,所述分析模塊包括平均值計算單元,用於對於所述每一個配置參數,計算該配置參數的每一個水平所對應的所述測量結果的平均值;極差計算單元,用於計算所述平均值中最大的平均值與最小的平均值之間的差,作為該配置參數的極差;以及第一排序單元,用於根據所計算的各個配置參數的極差,對所述配置參數進行排序,其中,所述極差最大的配置參數被確定為對所述資料庫的影響最大。14.根據權利要求11或12所述的裝置,其中,所述分析模塊包括總和計算單元,用於對於所述每一個配置參數,計算該配置參數的每一個水平所對應的所述測量結果的總和;偏差平方和計算單元,用於根據下述公式,計算該配置參數的偏差平方和formulaseeoriginaldocumentpage4其中,&表示第i個配置參數,Vi表示配置參數&的水平的個數,Yf'表示配置參數&的水平j所對應的所述測量結果的和,lf表示包含配置參數Ci的水平j的測試實驗的個數,N表示測試實驗的總個數,Sc,表示配置參數&的偏差平方和;方差計算單元,用於根據下述公式,計算該配置參數的方差formulaseeoriginaldocumentpage4以及第二排序單元,用於根據所計算的各個配置參數的方差,對所述配置參數進行排序,其中,所述方差最大的配置參數被確定為對所述資料庫的影響最大。15.根據權利要求10至14任意一項所述的裝置,其中,所述測量結果是通過測量所述推薦資料庫的性能而得到的性能數據。16.根據權利要求10至14任意一項所述的裝置,其中,所述性能測量裝置還測量所述資料庫的初始性能,並將所測的性能數據作為所述資料庫的基線數據。17.根據權利要求16所述的裝置,其中,所述測量結果是通過測量所述推薦資料庫的性能而得到的性能數據與所述基線數據的差。18.根據權利要求15至17任意一項所述的裝置,其中,所述資料庫的性能數據是整個查詢工作負載的總消耗時間、整個查詢工作負載的總CPU時間、每個查詢的消耗時間和每個查詢的CPU時間中的任意一個或多個。全文摘要本發明提供一種優化資料庫顧問程序的配置參數的方法,其包括使用DOE實驗設計方法設計所述資料庫顧問程序的多個測試實驗,其中,每一個所述測試實驗對應所述配置參數的一組取值;執行所述多個測試實驗的每一個,以生成相應的推薦資料庫;測量每一個所述推薦資料庫的性能,以獲得該推薦資料庫的測量結果;以及分析所有所述推薦資料庫的測量結果,以確定對所述資料庫的影響大的配置參數。本發明的方法能夠自動地評估資料庫顧問程序的配置參數,同時提供配置參數的優化建議,極大方便了配置參數的預設值/初始值的適當設置。本發明還提供了一種優化資料庫顧問程序的配置參數的裝置。文檔編號G06F17/30GK101727455SQ200810174919公開日2010年6月9日申請日期2008年10月24日優先權日2008年10月24日發明者劉長浩,徐康,武碩申請人:國際商業機器公司