前言:想要寫出一篇引人入勝的文章?我們特意為您整理了分布式數(shù)據(jù)庫查詢處理優(yōu)化算法分析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:隨著時代的發(fā)展,分布式數(shù)據(jù)庫在各行業(yè)中的應(yīng)用也越來越廣泛,分布式數(shù)據(jù)庫系統(tǒng)是數(shù)據(jù)系統(tǒng)和計算機網(wǎng)絡(luò)進(jìn)行結(jié)合的產(chǎn)物,其目的是為了可以使計算機網(wǎng)絡(luò)中實現(xiàn)數(shù)據(jù)的分布于處理。如果在查詢數(shù)據(jù)的過程中,數(shù)據(jù)處于分布式環(huán)境,由于查詢涉及到的關(guān)系通常會被分片或是復(fù)制到多站點,因此計算代價的過程中不僅需要對于I/O和CPU的速度進(jìn)行考慮,同時還需要考慮數(shù)據(jù)在站點之間進(jìn)行通信過程中的網(wǎng)絡(luò)傳輸代價。本文主要對于分布式數(shù)據(jù)庫查詢處理基本原理出發(fā),闡述了優(yōu)化算法。
關(guān)鍵詞:分布式;數(shù)據(jù)庫;查詢優(yōu)化
通過利用集中式數(shù)據(jù)庫技術(shù)為基礎(chǔ),然后結(jié)合計算機網(wǎng)絡(luò)就可以得到分布式數(shù)據(jù)庫系統(tǒng)。分布式數(shù)據(jù)庫內(nèi)的數(shù)據(jù)相較于集中式數(shù)據(jù)庫的區(qū)別為:其是網(wǎng)絡(luò)不同的場所中采用分散性儲存方式,同時所有場地的數(shù)據(jù)庫都具有獨立處理的能力。而每一個場地都需參與到執(zhí)行全局應(yīng)用程序中,而全局應(yīng)用程序則是利用已有的網(wǎng)絡(luò)拓?fù)浣Y(jié)果來實現(xiàn)通信的目的,并訪問在各場地分散的數(shù)據(jù)。但是由于實際應(yīng)用和操作環(huán)節(jié),并不會感受到分布式網(wǎng)絡(luò),但是操作確實屬于整個數(shù)據(jù)庫系統(tǒng)的,所以導(dǎo)致雖然分布式數(shù)據(jù)庫物理上會在各場地分散,但是在邏輯方面卻還是屬于同一個數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)集,而這也導(dǎo)致查詢處理方面存在一定的復(fù)雜性。
1分布式數(shù)據(jù)查詢的處理模式
各個站點內(nèi)的局部數(shù)據(jù)庫系統(tǒng)模式的結(jié)構(gòu)就是局部數(shù)據(jù)模式。全局?jǐn)?shù)據(jù)模式的目的主要是協(xié)調(diào)局部數(shù)據(jù)模式,使其成為整體模式結(jié)構(gòu)。如圖1所示為分布式數(shù)據(jù)庫的結(jié)構(gòu)圖。在對于數(shù)據(jù)進(jìn)行分片之后得到的片段就是分布式數(shù)據(jù)庫數(shù)據(jù)中的分布模式,該部分是一種全部關(guān)系邏輯,每一個分片都可以進(jìn)行一個或多個站點來開展分配和定為工作。分布模式能夠以選擇的數(shù)據(jù)來分配策略,同時還可以定義判斷物理存放站點[1]。在分布模式中,對于映像的類型進(jìn)行定義之后,可以確定分布式數(shù)據(jù)分配冗余。如果映像屬于一對多,那么就將片段存放到多站點之后進(jìn)行分配,因此,這一數(shù)據(jù)分配工作屬于冗余,但是情況如果相反的話,則表示不屬于冗余。分布式環(huán)境查詢中主要包括本地產(chǎn)訊、全局查詢以及遠(yuǎn)程查詢。其中,本地查詢也就是局部查詢,并且本地查詢與集中式數(shù)據(jù)庫優(yōu)化技術(shù)之間非常相仿。遠(yuǎn)程查詢則是指單點數(shù)據(jù)遠(yuǎn)程通信,數(shù)據(jù)如果是冗余分配的話,那么就需要將查詢通信處理付出的代價減少,同時選擇與查詢節(jié)點距離最為接近的數(shù)據(jù)。全局查詢則指的是多點數(shù)據(jù)查詢,首先在確定查詢對象之后,開始進(jìn)行路徑的訪問,而通過訪問路徑、算法,可以確定二元操作的連接有效性,在執(zhí)行節(jié)點的過程中,要考慮查詢速度以及執(zhí)行效率、通信代價等。也就是說,要想實現(xiàn)查詢處理的有效性,就必須要在確定必要的物理片段后,實現(xiàn)查詢的目的,最終確定各操作在查詢過程中的執(zhí)行站點。另外,分布式數(shù)據(jù)庫查詢在優(yōu)化方面,與算法操作具有十分密切的關(guān)系[2]。
2分布式數(shù)據(jù)庫查詢優(yōu)化算法
查詢優(yōu)化在分布式數(shù)據(jù)庫中,主要是圍繞局部處理的優(yōu)化以及查詢策略的優(yōu)化來開展的。不同的應(yīng)用和機構(gòu)所執(zhí)行的策略也是完全不同的,因此,在傳輸?shù)捻憫?yīng)時間以及系統(tǒng)資源的消耗等眾多方面也存在較大的差異。另外,查詢優(yōu)化方法主要分為查詢轉(zhuǎn)化以及查詢映射。(1)半連接查詢優(yōu)化基本方法。(2)該這一方法是利用臨界、投影操作所產(chǎn)生的一種關(guān)系代數(shù),其適合應(yīng)用在帶寬較低的遠(yuǎn)程廣義網(wǎng)絡(luò)。半連接查詢優(yōu)化的原理是網(wǎng)絡(luò)中只會傳輸參與連接的數(shù)據(jù),并不會傳遞無用的數(shù)據(jù)和未參與連接的數(shù)據(jù)。數(shù)據(jù)傳輸為整個關(guān)系或是片段,屬于冗余方法。(3)二次半連接算法。請求結(jié)果存放的站點如果不是請求站點的話,那么在結(jié)果集的出現(xiàn)較大數(shù)據(jù)量的時候,將會導(dǎo)致數(shù)據(jù)傳輸網(wǎng)絡(luò)出現(xiàn)擁堵,從而發(fā)生網(wǎng)絡(luò)負(fù)載不均衡的問題,最終導(dǎo)致響應(yīng)的時間延長,通信次數(shù)增加。以半連接為基礎(chǔ),對其進(jìn)行改進(jìn)之后可以得到二次半連接算法是,改進(jìn)的目的是為了降低通信數(shù)據(jù)量,并提高各個站點的通信并行性。其算法如圖2所示。二次半連接算法相較于半連接算法而言,在請求站點方面增加了一次連接過程,可以為不同屬性進(jìn)行排序,在所屬的站點也同樣可以進(jìn)行排序,這樣能夠避免請求站點傳輸數(shù)據(jù)時,減少連接時間。在大型的分布式數(shù)據(jù)庫系統(tǒng)中,二次半連接算法相較于半連接連接算法來說,在傳輸量和響應(yīng)時間的性能優(yōu)化方面具有更加明顯的效果。
3結(jié)束語
綜上所述,本文主要對于分布式數(shù)據(jù)庫查詢優(yōu)化處理進(jìn)行分離,同時也分析了其中的主要代價,以查詢優(yōu)化的主要因素為基礎(chǔ),對于具體問題適合的優(yōu)化算法進(jìn)行選擇。另外,分布數(shù)據(jù)庫系統(tǒng)的環(huán)境雖然非常復(fù)雜,但是隨著web的發(fā)展,分布式數(shù)據(jù)庫系統(tǒng)的查詢優(yōu)化技術(shù)在未來也會更加的完善。
參考文獻(xiàn)
[1]張鵬宇.分布式數(shù)據(jù)庫查詢處理和優(yōu)化算法[J].計算機光盤軟件與應(yīng)用,2014(19):106-108.
[2]張博.分布式集群環(huán)境下基于并行計算的圖聚類信息高效處理方案[J].自動化技術(shù)與應(yīng)用,2016(35):29-35.
作者:諶林 鄭泓楠 單位:電子科技大學(xué)成都學(xué)院