摘要:隨著網(wǎng)絡技術的不斷發(fā)展,數(shù)據(jù)庫技術在各領域的應用越來越多,分布式數(shù)據(jù)庫作為數(shù)據(jù)庫中應用最廣泛的一種,它具有其他數(shù)據(jù)庫所不能比擬的優(yōu)勢。應用的擴大使得數(shù)據(jù)庫中的數(shù)據(jù)不斷增多,復雜而龐大的數(shù)據(jù)量為數(shù)據(jù)查詢工作帶來了許多不便,同時也嚴重影響了數(shù)據(jù)查詢效率。本文以分布式數(shù)據(jù)庫為研究對象,對該數(shù)據(jù)庫的概念進行了簡單的介紹,并分別從目標、內(nèi)容、方案和算法四個方面對分布式數(shù)據(jù)庫的查詢功能進行優(yōu)化,完善分布式數(shù)據(jù)庫各方面的功能,以促進分布式數(shù)據(jù)庫更廣泛的應用。
關鍵詞:分布式數(shù)據(jù)庫;查詢優(yōu)化
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9599 (2012) 22-0000-02
分布式數(shù)據(jù)庫系統(tǒng)是由若干臺在外型上分散但在邏輯上卻完整的計算機組成,每個網(wǎng)絡節(jié)點上都分布不同的組件,為了提高數(shù)據(jù)庫系統(tǒng)性能就必須對特定的數(shù)據(jù)庫分布機制進行檢索和更新。分布式數(shù)據(jù)庫系統(tǒng)通常由多個數(shù)據(jù)庫單元組成,它們在地理位置上相對分散,但在管理和控制上又通過計算機網(wǎng)絡獲得不同程度的集中,由此可見,一個完整的分布式數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù)庫系統(tǒng)和計算機網(wǎng)絡兩部分構成。
1 分布式數(shù)據(jù)庫
分布式數(shù)據(jù)庫系統(tǒng)只是在物理角度較分散,而在邏輯上則相對集中一個數(shù)據(jù)庫系統(tǒng)。物理分布是指數(shù)據(jù)庫組件分散在位置不同的網(wǎng)絡節(jié)點上,但各站點和節(jié)點之間由于網(wǎng)絡的連接而形成一個有機的整體,這些數(shù)據(jù)庫站點統(tǒng)一受到數(shù)據(jù)庫系統(tǒng)的管理,除此之外數(shù)據(jù)庫站點還具有管理本地數(shù)據(jù)的功能。分布式數(shù)據(jù)庫系統(tǒng)主要由數(shù)據(jù)庫和數(shù)據(jù)管理系統(tǒng)兩部分組成,數(shù)據(jù)庫又相當于一個邏輯集合,它集中了計算機網(wǎng)絡上的各個站點,而數(shù)據(jù)管理系統(tǒng)又隸屬于數(shù)據(jù)庫,作為數(shù)據(jù)庫中的一組軟件,它負責對集成數(shù)據(jù)完整性和一致性的存取和管理。
2 分布式數(shù)據(jù)庫查詢優(yōu)化
2.1 分布式數(shù)據(jù)庫的查詢優(yōu)化目標
根據(jù)優(yōu)化對象不同分布式數(shù)據(jù)庫查詢系統(tǒng)的優(yōu)化目標又可分為兩類,第一類目標是降低網(wǎng)絡數(shù)據(jù)傳輸量,第二類是縮短響應時間。分布式數(shù)據(jù)庫系統(tǒng)與集中式數(shù)據(jù)庫系統(tǒng)在數(shù)據(jù)傳輸速度方面相比只存在幾個數(shù)量級的差距,因而我們可以忽略數(shù)據(jù)的查詢、處理和傳輸時間。由于網(wǎng)絡傳輸是造成網(wǎng)絡負擔的主要原因,在分布式查詢處理的優(yōu)化問題上,我們應盡量減少網(wǎng)絡數(shù)據(jù)傳輸量,所以降低網(wǎng)絡數(shù)據(jù)傳輸量是分布式數(shù)據(jù)庫查詢優(yōu)化的第一個目標。不同的節(jié)點、網(wǎng)絡傳輸速率以及局部查詢處理時間都有可能導致響應時間的不同,此時響應時間已成為衡量分布式數(shù)據(jù)庫查詢功能的一個指標,因而縮短響應時間就成為分布式數(shù)據(jù)庫查詢優(yōu)化的另一個目標。
2.2 分布式數(shù)據(jù)庫的查詢優(yōu)化內(nèi)容
一套完整的優(yōu)化方案除了包括優(yōu)化目標外,優(yōu)化內(nèi)容才是具體實施整個方案的關鍵,而分布式數(shù)據(jù)庫查詢優(yōu)化內(nèi)容則是該系統(tǒng)的體系結構,體系結構的優(yōu)化包括各種位置,如查詢算法、局部查詢速度、響應時間等,由于系統(tǒng)本身的LQP已優(yōu)化得相當好,所以關于這方面的優(yōu)化問題,本文將不再闡述,另外在LQP、GQP和用戶客戶端等位置增加緩存,也可以對查詢速度進行大幅度的提升。系統(tǒng)的軟硬件設施以及結構組成就決定了分布式數(shù)據(jù)庫系統(tǒng)的查詢效果,傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)通常采用的是服務器與客戶雙層結構的模式,盡管該結構在局域網(wǎng)中訪問數(shù)據(jù)庫數(shù)據(jù)相對簡便,但若要通過廣域網(wǎng)訪問數(shù)據(jù)庫中的數(shù)據(jù),則必須在服務器與客戶端之間建立一個對話,對話模式的建立使得用戶訪問數(shù)據(jù)的效率大幅度下降。
2.3 分布式數(shù)據(jù)庫的查詢優(yōu)化方案
優(yōu)化數(shù)據(jù)庫系統(tǒng)是為了提高數(shù)據(jù)庫系統(tǒng)在其它領域的應用范圍,而優(yōu)化分布式數(shù)據(jù)庫則是為了提高系統(tǒng)的有效性和操作性。關系數(shù)據(jù)庫語言是一種對關系演算進行描述的語言,在數(shù)據(jù)查詢過程中使用該語言,不需要對數(shù)據(jù)來源進行說明,SQL就是關系數(shù)據(jù)庫語言中較具代表性的一種,但該語言也存在一定的缺陷,如在搜索、存取和傳輸數(shù)據(jù)的過程中,需對數(shù)據(jù)來源進行描述,因而對數(shù)據(jù)語言描述的優(yōu)化也在不斷的研究當中??傊樵儍?yōu)化的最終目的是用最少的資源在最短的時間內(nèi)達到最好的查詢效果,而查詢優(yōu)化器則是對數(shù)據(jù)的查詢、傳輸和執(zhí)行過程進行加速。
查詢優(yōu)化器相當于一種數(shù)據(jù)存取策略,在使用查詢優(yōu)化器對數(shù)據(jù)進行優(yōu)化前,首先應使用某種方式將數(shù)據(jù)輸入查詢,然后通過轉化規(guī)則生成查詢控件,再通過查詢控件生成等價的QEP,在代價模型的計算下得出查詢策略,根據(jù)查詢策略進行查詢重寫,然后獲得優(yōu)化后的邏輯查詢計劃。如圖1所示為查詢優(yōu)化器:
根據(jù)優(yōu)化目標不同查詢優(yōu)化可分為兩種,即針對查詢執(zhí)行代價和查詢響應時間,其中針對查詢執(zhí)行代價優(yōu)化的主要目的是為了降低系統(tǒng)開銷減少系統(tǒng)資源的使用,而針對查詢響應時間優(yōu)化則純粹是為了縮短響應時間提高查詢效率。查詢優(yōu)化器通常處理的問題包括操作執(zhí)行順序、操作執(zhí)行算法、關系存取方法和不同站點間的數(shù)據(jù)流動順序。
2.4 分布式數(shù)據(jù)庫的查詢優(yōu)化算法
在查詢過程中采用半連接操作可有效的減少網(wǎng)絡數(shù)據(jù)傳輸量,起到節(jié)約網(wǎng)絡資源的效果,但也存在一定的缺陷,多次的連接操作會導致通信次數(shù)的增加,網(wǎng)絡節(jié)點處理本地數(shù)據(jù)的時間也會相應的增加。為了對局部查詢時間進行優(yōu)化,在查詢過程中通常會采用直接連接算法,這種算法可相應的提高本地數(shù)據(jù)處理時間,站點依賴算法是建立在數(shù)據(jù)正常傳送的基礎上,一旦出現(xiàn)無數(shù)據(jù)傳送的情況,查詢優(yōu)化就只能通過其他算法來實現(xiàn)。另外分片復制算法和建立在Hash劃分基礎上的優(yōu)化算法都是解決查詢優(yōu)化幾種常用的方案,其中分片復制算法是以切分查詢關系,并將切分片段放置在網(wǎng)絡站點上獲得連續(xù)操作的一種做法,而以Hash劃分為基礎的優(yōu)化算法則更依賴于站點依賴算法,Hash劃分只是一種劃分方式,它是通過選取具有相同Hash函數(shù)值的元組來實現(xiàn)站點的集中,該算法在分布式數(shù)據(jù)庫查詢優(yōu)化算法中相對比較流行。
3 結束語
隨著信息化時代的到來,各種數(shù)據(jù)庫應用不斷的拓展,復雜的數(shù)據(jù)和相對分散的網(wǎng)絡站點使得分布式數(shù)據(jù)庫系統(tǒng)在數(shù)據(jù)查詢和處理上存在許多的問題。網(wǎng)絡數(shù)據(jù)傳輸量和響應時間不同,自然并行處理程度和需要花費的查詢費用也不相同,本文從目標、內(nèi)容、方案和算法四個方面對分布式數(shù)據(jù)庫查詢系統(tǒng)的數(shù)據(jù)查詢響應時間進行縮短,以達到優(yōu)化分布式數(shù)據(jù)庫查詢功能的目的,由此可見,分布式數(shù)據(jù)庫系統(tǒng)在查詢優(yōu)化后的性能和效果比集中式數(shù)據(jù)庫系統(tǒng)更具優(yōu)勢。
參考文獻:
[1]謝銳兵.分布式數(shù)據(jù)庫系統(tǒng)中的查詢優(yōu)化處理[J].數(shù)字社區(qū)智能家居,2009(11).
[2]楊旭超.基于半連接的分布式數(shù)據(jù)庫查詢優(yōu)化算法探討[J].計算機時代,2012(2):16-19.
[3]李華,趙建平.分布式數(shù)據(jù)庫數(shù)據(jù)查詢的優(yōu)化處理方法[J].長春理工大學學報,2005,28(4):85-87,70.