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