王天林
摘要:隨著大數(shù)據(jù)時代的到來,人們對數(shù)據(jù)的存儲及查詢提出更高要求,在海量的數(shù)據(jù)中迅速查詢到所需內(nèi)容,僅僅依靠SQL查詢很難滿足要求,應(yīng)從數(shù)據(jù)庫物理結(jié)構(gòu)入手進(jìn)行優(yōu)化。本文對數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化要素進(jìn)行分析,提出工作負(fù)荷壓縮技術(shù)、成本估計與數(shù)據(jù)抽樣技術(shù)、組合優(yōu)化搜索算法等優(yōu)化技術(shù),以供參考。
關(guān)鍵詞:數(shù)據(jù)庫 物理結(jié)構(gòu) 優(yōu)化技術(shù) 探討
中圖分類號:TP301 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2016)12-0231-02
數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化旨在邏輯結(jié)構(gòu)設(shè)計的基礎(chǔ)上,提高數(shù)據(jù)庫存儲及訪問的高效性,尤其在大數(shù)據(jù)時代背景下,為滿足人們生產(chǎn)生活對數(shù)據(jù)查詢質(zhì)量及與效率的要求,加強(qiáng)對數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化的探討具有重要的現(xiàn)實意義。
1 數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化要素
數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化要素包括索引、物化視圖、無共享分區(qū)、多維群集等,其中索引是一種提高檢索速度的數(shù)據(jù)組織,一定程度上可提高數(shù)據(jù)庫檢索性能。當(dāng)前索引的優(yōu)化由半自動優(yōu)化、聯(lián)機(jī)優(yōu)化以及脫機(jī)優(yōu)化之分,不同的優(yōu)化手段對應(yīng)不同種應(yīng)用;物化視圖是一種保存在基表上的數(shù)據(jù)庫對象,服務(wù)于連接或聚集等操作耗時嚴(yán)重的行為,用于提高獲得結(jié)果的效率;無共享分區(qū)是解決數(shù)據(jù)集復(fù)雜程度較高問題的一種策略,其借助獨(dú)立的服務(wù)器集合協(xié)同工作在問題域上,要求每個服務(wù)器負(fù)責(zé)處理問題域的一個子集,而服務(wù)器之間的數(shù)據(jù)共享,主要通過高速網(wǎng)絡(luò)互連實現(xiàn);多維群集指使用多維立方體形式對數(shù)據(jù)表加以組織,依據(jù)多個維實現(xiàn)對數(shù)據(jù)的靈活群集。多維群集在大型數(shù)據(jù)庫環(huán)境中應(yīng)用廣泛,其支持依據(jù)多個維或鍵實現(xiàn)對表的物理群集,并借助維的索引提供已群集數(shù)據(jù)的存取,使得CPU與I/O成本大大降低,促進(jìn)檢索性能的提升。
2 數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化技術(shù)
2.1 工作負(fù)荷壓縮技術(shù)
數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化數(shù)學(xué)模型中,工作負(fù)荷是針對模型輸入的技術(shù),其質(zhì)量優(yōu)劣直接關(guān)系著推薦優(yōu)化結(jié)果及性能質(zhì)量。眾所周知,人們使用數(shù)據(jù)庫產(chǎn)生的SQL執(zhí)行語句非常之多,使得工作負(fù)荷與優(yōu)化推薦性能數(shù)量龐大,因此,需重點(diǎn)解決工作負(fù)荷規(guī)模和執(zhí)行效率間的問題。一方面,工作負(fù)荷集壓縮后應(yīng)能完成未壓縮工作負(fù)荷集的全部功能,而且還應(yīng)保證前者的工作效率得以明顯提升。
目前,基于距離工作負(fù)荷壓縮方法和內(nèi)嵌在優(yōu)化顧問中的工作負(fù)荷壓縮方法是較為流型的負(fù)荷壓縮技術(shù)。其中前一種方法的實現(xiàn)建立對原工作負(fù)荷認(rèn)真分析的基礎(chǔ)上,使用基于距離的函數(shù),尋找與判斷和當(dāng)前SQL語句相近的語句類別,保留原工作負(fù)荷中具有代表性的SQL語句,將其他相似冗余的語句刪除,即,將那些語法相近而參數(shù)不同的語句加以合并。后一種方法只有具有較大工作負(fù)荷時,工作負(fù)荷壓縮模塊才會被優(yōu)化顧問調(diào)用。在該種方法中,原始工作負(fù)荷被壓縮后,使得負(fù)載代價高的語句加以保留,而其他語句被忽略。此種方法較為簡單,使得工作負(fù)荷數(shù)量明顯減少,但當(dāng)遇到語句成本傾斜時往往引發(fā)嚴(yán)重不良后果。盡管后來人們對其進(jìn)行優(yōu)化,當(dāng)仍存在一定局限性。
工作負(fù)荷壓縮技術(shù)使得優(yōu)化推薦復(fù)雜度得以較好的解決,不過考慮到一些壓縮算法存在的弊端,如壓縮效率低、壓縮質(zhì)量差,因此,實際應(yīng)用中應(yīng)具體問題具體分析,結(jié)合相關(guān)需求選擇合適的算法。
2.2 成本估計與數(shù)據(jù)抽樣技術(shù)
成本估計是數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化工具的核心所在,一定程度上決定著優(yōu)化質(zhì)量。人們使用查詢優(yōu)化器實現(xiàn)索引的自動選擇,并借助統(tǒng)計數(shù)據(jù)構(gòu)建評估模型,使得推薦優(yōu)化質(zhì)量得以明顯提高。其中統(tǒng)計數(shù)據(jù)在優(yōu)化實現(xiàn)中發(fā)揮重要作用,而伴隨著數(shù)據(jù)量的不斷增加,為更好的解決統(tǒng)計數(shù)據(jù)效率與質(zhì)量問題,人們開始使用數(shù)據(jù)抽樣技術(shù)。成本估計與數(shù)據(jù)抽樣技術(shù)優(yōu)化數(shù)據(jù)庫物理結(jié)構(gòu)的實現(xiàn)基于工作負(fù)荷執(zhí)行狀況的評估。
面對龐大的數(shù)據(jù)量,為促使推薦優(yōu)化成本的降低,人們利用原始數(shù)據(jù)庫統(tǒng)計信息提取、數(shù)據(jù)抽樣技術(shù)兩種方法獲取統(tǒng)計數(shù)據(jù)。當(dāng)對數(shù)據(jù)集的統(tǒng)計精度要求不是很高時,使用數(shù)據(jù)抽樣方法效率非常高。其中應(yīng)用于數(shù)據(jù)庫領(lǐng)域的抽樣技術(shù)有隨機(jī)抽樣、伯努利抽樣、系統(tǒng)抽樣與分層抽樣。其中隨機(jī)抽樣中因其隨機(jī)性使得總體中任何個體具有相等的抽中概率,彼此之間沒有任何關(guān)系、完全獨(dú)立,但其要求總體個數(shù)可知且有限,而且針對水平分區(qū)的數(shù)據(jù)表并行處理抽樣操作的難度較大;伯努利抽樣中因具有較小的抽樣粒度,會獲得對數(shù)據(jù)特性不依賴且有效的隨機(jī)抽樣,不過其針對行級別的抽樣操作,降低了抽樣性能,通常為獲得抽樣性能,可將其和索引配合使用;系統(tǒng)抽樣在數(shù)據(jù)庫領(lǐng)域的應(yīng)用,抽樣操作針對存儲頁面級別,盡管使得抽樣性能得以顯著提高,不過針對明顯群集的數(shù)據(jù)效果會大大降低;分層抽樣實現(xiàn)對事先掌握信息的利用,對總體結(jié)構(gòu)與樣本結(jié)構(gòu)的一致性加以充分考慮,提高了樣本的代表性。
實際上無論采用何種抽樣技術(shù)得到的結(jié)果均是原始數(shù)據(jù)的近似統(tǒng)計,考慮到磁盤上數(shù)據(jù)的分布并不是均勻的,得到的統(tǒng)計數(shù)據(jù)與數(shù)據(jù)的實際情況存在偏斜,進(jìn)而影響統(tǒng)計結(jié)果和真實結(jié)果間的偏差大小,因此,實際應(yīng)用中選擇合適的抽樣技術(shù)尤為關(guān)鍵。
3 組合優(yōu)化搜索算法
推薦優(yōu)化過程中需考慮組合優(yōu)化問題,這就需要應(yīng)用專門的搜索算法,以提高物理配置的合理性,實現(xiàn)對物理結(jié)構(gòu)的優(yōu)化。其中遺傳算法、模擬退火算法、禁忌搜索算法是解決組合優(yōu)化問題的常用算法。
3.1 遺傳算法
遺傳算法是對達(dá)爾文生物進(jìn)化論中生物進(jìn)化的模擬,盡管該算法運(yùn)算是隨機(jī)的,但并非是一個簡單的隨機(jī)過程,其以遺傳信息作參考,實現(xiàn)對新領(lǐng)域的探測和搜索,從而獲得更好的解決方案。遺傳算法基本運(yùn)算過程這里不再贅述,不過在優(yōu)化數(shù)據(jù)庫物理結(jié)構(gòu)方面的應(yīng)用具有以下優(yōu)點(diǎn):可進(jìn)行擴(kuò)展,方便結(jié)合其他算法;覆蓋范圍大,利于全局選優(yōu);搜索開始于群體,依托概率機(jī)制,具有隨機(jī)性。但其編程難度較大,需經(jīng)歷先編碼、尋找最優(yōu)解、解碼過程,期間涉及較多參數(shù),給解的品質(zhì)造成不良影響,當(dāng)前來看,參數(shù)的選取主要依靠經(jīng)驗獲得,并且如選擇的適應(yīng)度函數(shù)不合理,會導(dǎo)致其在局部最優(yōu)處收斂,無法得到全局最優(yōu)。
3.2 模擬退火算法
退火算法的提出基于組合優(yōu)化問題和物理固體物質(zhì)退火過程較為相近。其中組合優(yōu)化問題解空間中各點(diǎn)表示不同的解,對應(yīng)不同的成本函數(shù)值,優(yōu)化即是尋找成本函數(shù)值最小或最大的解。退火算法的實現(xiàn)分為四個重要環(huán)節(jié):從一個產(chǎn)生函數(shù)的當(dāng)前解中產(chǎn)生處于解空間中的新解;計算和新解性對應(yīng)的目標(biāo)函數(shù)差;對新解能否被接受加以判斷;如接受新解,則替換掉當(dāng)前解;當(dāng)新解未被接受時則依據(jù)當(dāng)前解繼續(xù)進(jìn)行實驗。
模擬退火算法的優(yōu)點(diǎn)不僅體現(xiàn)在具有并行性,而且體現(xiàn)在具有漸進(jìn)收斂性上,同時,模擬退火算法得到的解不受初始解狀態(tài)影響。模擬退火算法不僅在組合優(yōu)化問題上應(yīng)用廣泛,而且在多目標(biāo)優(yōu)化環(huán)境中也較為適用,不過該算法的實現(xiàn)對計算需求要求較高,因此,可使用并行化提高計算速度。
3.3 禁忌搜索算法
禁忌搜索算法出發(fā)于一個初始可行解,并依據(jù)特定搜索方向進(jìn)行試探,選擇實現(xiàn)使特定的目標(biāo)函數(shù)變化最多的移動,為防止最優(yōu)解產(chǎn)生于局部,禁忌搜索算法借助記憶技術(shù),選擇與記錄已經(jīng)完成的優(yōu)化過程,并給接下的搜索方向提供指導(dǎo)。另外,該算法引入相關(guān)的禁忌準(zhǔn)則與存儲結(jié)構(gòu),防止搜索迂回,并依據(jù)藐視準(zhǔn)則對被禁忌的優(yōu)良狀態(tài)進(jìn)行赦免,確保有效搜索的多樣化,達(dá)到優(yōu)化全局的目標(biāo)。
禁忌搜索算法的實現(xiàn)主要依照以下三個過程,過程一:從隨機(jī)配置狀態(tài)下啟動,要求計算出準(zhǔn)則函數(shù)的值;過程二:依據(jù)當(dāng)前候選集中的活動進(jìn)行操作,當(dāng)發(fā)現(xiàn)禁忌表中沒有最優(yōu)的,就將該活動作為下一個當(dāng)前配置,并將其加入到禁忌表中,反之,確定具有最優(yōu)效果且未在禁忌列表中的活動當(dāng)做下個當(dāng)前配置,確保該過程進(jìn)行一定次數(shù)的重復(fù);過程三:大當(dāng)過程二結(jié)束便可獲得最優(yōu)的解決方案。
通過分析不難發(fā)現(xiàn),禁忌搜索具有以下特點(diǎn):該算法可接受搜索過程中劣解,適應(yīng)能力較強(qiáng);新解是非禁忌的最優(yōu)解或是較當(dāng)前最優(yōu)解的解,具有相對較高的獲得最優(yōu)解概率。為提高該算法的搜索效率,應(yīng)防止搜索迂回情況的出現(xiàn),并且可以接受滿足藐視準(zhǔn)則或領(lǐng)域中非禁忌的劣解。
4 結(jié)語
大數(shù)據(jù)時代的到來引發(fā)了人們對數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化技術(shù)的關(guān)注。眾所周知,優(yōu)化技術(shù)的研究是一個復(fù)雜的過程涉及多學(xué)科內(nèi)容,因此,需要結(jié)合把握數(shù)據(jù)庫未來發(fā)展趨勢的基礎(chǔ)上,綜合運(yùn)用多種理論知識,尋找最佳的優(yōu)化技術(shù)。本文通過對數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化技術(shù)的探討得出以下結(jié)論:
(1)數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化包括索引、物化視圖、無共享分區(qū)以及多維群集,通過對其優(yōu)化可提高對數(shù)據(jù)庫數(shù)據(jù)的查詢效率,使得數(shù)據(jù)庫物理結(jié)構(gòu)得到一定程度的優(yōu)化。
(2)當(dāng)前數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化技術(shù)主要包括工作負(fù)荷壓縮技術(shù)、成本估計與數(shù)據(jù)抽樣技術(shù),同時,還需要借助一定的組合優(yōu)化搜索算法支撐,其中遺傳算法、模擬退火算法、禁忌算法常被應(yīng)用在物理結(jié)構(gòu)優(yōu)化技術(shù)中。另外,這些組合優(yōu)化算法有著各自的優(yōu)點(diǎn)與缺點(diǎn),實際應(yīng)用中應(yīng)結(jié)合具體的業(yè)務(wù)特點(diǎn)以及對各種因素綜合評估的基礎(chǔ)上選擇合適的算法,以獲得預(yù)期的優(yōu)化結(jié)果。
參考文獻(xiàn)
[1]張學(xué)棟,胡偉強(qiáng).數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化技術(shù)分析[J].通訊世界,2015,15:244-245.
[2]楊晨.數(shù)據(jù)庫物理設(shè)計及其優(yōu)化技術(shù)研究[J].電子世界,2013,19:178-179.
[3]劉文靜.數(shù)據(jù)庫結(jié)構(gòu)優(yōu)化技術(shù)分析[J].電腦編程技巧與維護(hù),2015,10:77+100.
[4]崔躍生,張勇,曾春,馮建華,邢春曉.數(shù)據(jù)庫物理結(jié)構(gòu)優(yōu)化技術(shù)[J].軟件學(xué)報,2013,04:761-780.