摘要:在分布式數據庫系統中采用當前比較流行的P2P(Peer-to-Peer)技術后,可以解決C/S模式中的瓶頸等問題,提高數據庫中的各種資源利用率和查詢的效率。文中介紹了P2P技術、現有P2P系統的特點、數據庫中的信息查詢以及P2P技術在數據庫系統中的應用等問題。
關鍵詞:P2P 分布式數據庫 查詢
0 引言
在當今,分布式數據庫已廣泛應用于各行各業,如各大企業,集團。公司。銀行等。分布式數據庫系統就是把這些組織中的數據信息聯系在一起,提供橋梁的作用。下面主要介紹了分布式數據庫系統中如何使用P2P技術以及怎樣高效的實現數據的查詢。
1 P2P技術
P2P是(Peer-to-Peer)縮寫,意為點對點,對等網絡計算,或稱為對等聯網。簡單說,P2P就是點對點通信。可以定義為網絡中的各計算機之間通過直接交換信息共享計算機資源和服務,對等計算機兼有客戶機和服務器的功能。在這種網絡中每個節點的計算機地位相同,可直接互連實現各種資源的共享,不需要依賴集中式服務器支持。近來P2P技術正日益受到重視,在大型分布式數據庫中采用此技術比采用C/S技術具有很多的優點,如節省投資,更高的文件共享率等。
如今,對等網絡技術正逐漸成為計算機網絡的一個熱門。隨著互聯網的普及和寬帶技術的飛速發展,P2P技術在加強網絡上人們的交流、信息交換、分布計算等方面大有前途。網絡上現有的許多服務都采用了P2P的技術,它越來越受到網絡用戶的關注和喜愛。比如即時通信系統ICQ、MSN以及國內廣泛使用的QQ是最流行的P2P應用。每年都有新的P2P軟件出現,吸引網絡用戶的使用。在人們的使用中,其實最多的還是對數據信息的查詢,采用P2P技術,是網絡的計算模式從集中式向分布式偏移,處理的數據從中央服務器轉向各個終端客戶機。即使某個或某些節點的數據庫出現問題,也不會影響其它節點問的通信。
2 基于P2P技術的數據庫系統
最初的分布式數據庫管理都是基于客戶服務器架構的,通過一個功能強大的服務器為組織內成員提供協作。而現在的大型數據庫系統采用P2P技術,讓人們通過互聯網直接交互,人們在網絡上進行信息的溝通更直接、更實時。網絡中如果各節點間的數據服務是對等的,就構成了P2P數據系統。
傳統的C/S、B,s模式,采用的是一種集中的手段,所有數據資料都存放在大型服務器上,每臺客戶機都要被動地從服務器上讀取信息,并且客戶機之間不具有直接交互能力。在這樣的集中式數據庫中,對服務器配置的要求很高;一旦服務器或者某個終端出現問題,將有可能影響整個網絡的運行。其實,C/S模式下的數據查詢完全依賴于中心節點服務器,沒有服務器,網絡就沒有任何意義。而在對等網絡中,每個節點的地位都是相同的,具備客戶端和服務器雙重特性,可以同時作為服務使用者和服務提供者。這使人們在Intemet上的共享行為被提到了一個更高的層次,使人們以更主動深刻的方式參與到網絡中去,每個人都能為網絡的資源和功能擴展做出自己的貢獻。總之,P2P的技術在數據傳輸與文件共享,分布式運算等方面應用很廣泛。
當今企業。尤其是那些地理位置分散而管理又需集中的大集團,使用分布式數據庫系統符合它們的管理思想和經營方式。在這些全國或全球性的公司,數據通常就已經是分布了。這種情況下,對于處理復雜大型的問題可以分別由各終端的部門完成,最后再匯總。然而整個信息是分離的,需要解決信息的共享問題。P2P技術的出現使企業中各部門信息的通信變得更容易了。
3 數據庫中的查詢問題
隨著網絡技術的飛速發展,對數據通信也提出了更高的要求。在人們使用網絡的過程中,應用最多的其實就是信息查詢。歸根結底,就是對數據庫中的數據進行查詢。數據庫中使用P2P技術可以使數據更有效地分布到網絡邊緣,提高資源利用率。由于傳統數據庫系統的資源利用率低,各節點是靜態定義的,它們的數據雖然可以共享,但沒有預先的規則,而且擴展性、靈活性較差,這給查詢帶來了一定的困難。
’
在數據庫系統中引入P2P技術不需要功能強大的中心服務器的支持,而是對等點之間通過直接互連實現信息資源、處理器資源、存儲資源的全面共享。
P2P網絡結構基本可分為純P2P系統、中心文件目錄,分布式文件系統、有中間服務器三種不同的結構。P2P技術是一種基于網絡環境的技術,所以針對這一特性,主要考慮以下幾個方面的問題。首先,P2P應用是對于互聯網上眾多計算機的,所以要考慮那些低端的不具備服務器那樣強的聯網能力的普通個人電腦。其次,在P2P技術中需要有關于數據描述和交換的協議。第三,構造一個合適的網絡拓撲結構能快速準確地發現對等點。如何從網絡中的海量數據庫信息中快速地查找到需要的信息是一個看似簡單其實很困難的事情。P2P網絡模式中節點之間的動態對等關系是高效搜索信息的有力保證。它可以保證搜索的實時性,達到令人驚嘆的搜索深度。除了以上三點,還有數據庫的管理機制、數據的安全等問題。
不妨將整個的查詢過程簡潔地用兩個步驟四個字來概括,即“搜索”,“定位”。搜索中盡量減少經過的節點數可以提高速度;同時引導數據流向“有用的區域”。這里所說的”有用”是相對的,不同的信息搜索“有用的區域”也不一樣。根據不同的情況,可不同程度的采用寬度優先或深度優先的策略。高效的搜索方法可以減少請求服務和信息處理的時間。查詢也有很多方式,最常見的是關鍵宇查詢。對普通的計算機用戶而言,上網的過程中經常使用這個方法。合適的關鍵宇對查詢結果起到決定性的作用。其實,合適的關鍵宇可以引導查詢走向“有用的區域”。對于專業的編程技術人員,在程序中對數據庫進行信息查詢使用最多的就是查詢語言了,比如結構化查詢語言SQL(Structured Query Language)。SQL是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。SQL同時也是數據庫腳本文件的擴展名。由于它的嵌入性,在程序中使用的非常多。
4 總結
把P2P技術引進傳統的分布式系統,很好地克服了傳統分布式系統的部分缺點,在數據查詢中可以向相鄰節點發送查詢請求,減少中心節點開銷,避免服務器帶來的瓶頸問題,但也存在一些缺陷,如怎樣避免數據庫中大量數據的冗余,網絡出現問題時的數據一致性等方面還有待進一步的研究。