並行數據庫

計算機系統性能價格比的不斷提高迫切要求硬件、軟件結構的改進。硬件方面,單純依靠提高微處理器速度和縮小體積來提高性能價格比的方法正趨於物理極限;磁盤技術的發展滯後於微處理器的發展速度,使得磁盤 I/O 頸瓶問題日益突出。軟件方面,數據庫服務器對大型數據庫各種複雜查詢和聯機事務處理 (OLTP) 的支持使得對響應時
 
並行數據庫新記錄
間和吞吐量的要求顧此失彼。同時,應用的發展超過了主機處理能力的增長速度,數據庫應用 (DSSS , OLAP 等 ) 的發展對數據庫的性能和可用性提出了更高要求,能否爲越來越多的用戶維持高事務吞吐量和低響應時間已成爲衡量 DBMS 性能的重要指標。

  計算機多處理器結構以及並行數據庫服務器的實現爲解決以上問題提供了極大可能。隨着計算機多處理器結構和磁盤陣列技術的進步,並行計算機系統的發展十分迅速,出現了 Seqnent 等商品化的並行計算機系統。爲了充分可法多處理器硬件,並行數據庫的設計者必須努力開發面向軟件的解決方案。爲了保持應用的可移植性,這一領域的多數工作都圍繞着支持 SQL 查詢語言進行。目前已經有一些關係數據庫產品在並行計算機上不同程度地實現了並行性。

  將數據庫管理與並行技術結合,可以發揮多處理器結構的優勢,從而提供比相應的大型機系統要高的多的性能價格比和可用性。通過將數據庫在多個磁盤上分佈存儲,可以利用多個處理器對磁盤數據驚醒並行處理,從而解決了磁盤 I/O 瓶頸問題。同樣,潛在的主存訪問瓶頸也可以通過開發查詢間並行性 ( 即不同查詢並行執行 ) ,查詢內並行性 ( 即同提查詢內的操作並行執行 ) 以及操作內並行性 ( 即子操作並行執行 ) ,從而大大提高查詢效率。

  並行數據庫系統的功能有:

  一個並行數據庫系統可以作爲服務器面向多個客戶機進行服務。典型的情況是,客戶機嵌入特定應用軟件,如圖形界面, DBMS 前端工具 4GL 以及客戶機 / 服務器接口軟件等。因此,並行數據庫系統應該支持數據庫功能,客戶機 / 服務器結構功能以及某些通用功能 ( 如運行 C 語言程序等 ) 。此外,如果系統中有多個服務器,那麼每個服務器還應包含額外的軟件層來提供分佈透明性。

  對於客戶機 / 服務器體系結構的並行數據庫系統,它所支持的功能一般包括:

  會話管理子系統。提供對客戶與服務器之間交互能力的支持。

  請求管理子系統。負責接收有關查詢編譯和執行的客戶請求,觸發相應操作並監管事務的執行與提交。

  數據管理子系統。提供並行編譯後查詢所需的所有底層功能,例如並行事務支持,高速緩衝區管理等。

  上述功能構成類似於一個典型的 RDBMS ,不同的是並行數據庫必須具有處理並行性,數據劃分,數據複製以及分佈事務等的能力。依賴於不同的並行系統體系結構,一個處理器可以支持上述全部功能或其子集。

  並行數據庫的結構:

  並行數據庫系統的實現方案多種多樣。根據處理器與磁盤及內存的相互關係可以將並行計算機結構劃分爲三種基本的類型,下面分別介紹這三種基本的並行系統結構,並從性能,可用性和可擴充性等三個方面來比較這些方案。

  Shared-Memory( 共享內存 ) 結構,又稱 Shared-Everything 結構,簡稱 SE 結構。

  Shared-Memory 方案中,任意處理器可通過快速互連 ( 高速總線或縱橫開關 ) 訪問任意內存模塊或磁盤單元,即所有內存與磁盤爲所有處理器共享, IBM3090 , Bull 的 DPS8 等大型機以及 Sequent , Encore 等對稱多處理器都採用了這一設計方案。

  並行數據庫系統中, XPRS , DBS3 以及 Volcano 都在 Shared-Memory 體系結構上獲得實現。但是迄今爲止,所有的共享內存商用產品都只開發了查詢間並行性,而尚未實現查詢內並行性。
 
 

發佈了13 篇原創文章 · 獲贊 2 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章