淺析分布式數據庫查詢優化
【摘要】本文針對分布式數據庫查詢優化進行了分析與探討,講述了其特點與原理,供相關計算機方面人員參考。
【關鍵字】分布式、數據、查詢、優化
一、分布式數據庫及其特點:
分布式數據庫系統是物理學上分散而邏輯上集中的數據庫系統。分布式數據庫系統使用計算機網絡將地理位置分散而管理和控制又需要不同程度集中的多個邏輯單位連接起來,共同組成一個統一大業的數據庫系統。因此,分布式數據庫系統可以看成是計算機網絡與數據庫系統的有機結合。
一個分布式數據庫系統應該具有如下特點:數據的物理分布性、數據的邏輯整體性、站點自治性
二、分布式數據庫查詢基本概念
1.分布式數據庫查詢優化的研究意義:
分布式查詢技術主要把用戶提交的全局查詢請求翻譯為幾個相關節點都可以識別的本地查詢請求,以及把各個節點的查詢結果匯總返回的問題,它包括分布式查詢處理和分布式查詢優化。分布式查詢處理研究整個分布式查詢處理的過程和策略;分布式查詢優化研究查詢策略的優化問題,即如何從多種方案中選擇查詢代價最少方案。
分布式查詢處理作為分布式數據庫研究主要問題之一,它是用戶與分布式數據庫之間的接口,在分布式數據庫中由于數據的分布與冗余,使得數據在各站點間的傳輸代價成為查詢處理的主要矛盾;另一方面,數據的分布與冗余也增加了查詢的并發處理的可能性,從而可以縮短查詢處理的響應時間,提高處理速度。因此,與集中式數據庫相比,分布式查詢處理增加了不少新內容與復雜性。
2.分布式查詢處理的層次結構:
分布式查詢處理按不同的層次執行,符合分布式數據庫系統的層次結構。分布式查詢處理可分為如下所示四個層次結構。
(1)查詢分解
查詢分解是將查詢問題(如SQL語句)轉換成一個定義在全局關系上的關系代數表達式。這一層的做法與集中式DBMS相同,因為并未涉及分布問題。本層轉換所需要信息在全局概念模式中得到。
(2)數據本地化
數據本地化是把一個在全局關系上的查詢進行具體化到合適片段上的查詢。這一變換所需要信息在分片模式和片段的分配模式中獲得。
(3)全局優化
全局優化輸入是分片查詢,全局優化是找出分片查詢的最佳操作次序,包括使得代價函數最小。全局優化一個重要方面是關于連接操作的優化,全局優化處理層輸出是一個優化的、片段上的關系代數查詢。這層轉換所需要信息來自數據庫的統計信息,包括各站點片段統計信息、資源信息和通信信息等。
(4)局部優化
局部優化由與查詢有關片段的各個站點執行。它由該站點上的DBMS進行優化,采用集中式數據庫系統中查詢優化的算法,所需要信息來自于局部模式。
分布式查詢優化通常在分布式查詢層次結構中的數據本地化層和全局優化層。數據本地化階段一般采用的是基于關系代數等價變換的優化算法。而全局優化階段采用的算法,可具