摘要:中級通信工程師考試培訓并行數據庫:隨著數據庫應用領域的日益廣泛,應用規模的急劇膨脹,工作量的日益加重,對數據庫 提出了越來越高的要求。有些應用如決策支持系統(DSS)和聯機事務處理(OLTP)等需要 對大量事務進行處理,這就要求提高數據庫的性能以提供事務處理的高吞吐量和低響應時間。
1.并行數據庫
隨著數據庫應用領域的日益廣泛,應用規模的急劇膨脹,工作量的日益加重,對數據庫 提出了越來越高的要求。有些應用如決策支持系統(DSS)和聯機事務處理(OLTP)等需要 對大量事務進行處理,這就要求提高數據庫的性能以提供事務處理的高吞吐量和低響應時間。
并行數據庫系統(Parallel Database System)是以并行計算機為基礎,將數據庫管理與并 行技術相結合,以高性能和可擴展性為目標的數據庫系統。它利用多處理器結構的優勢,提 供比相應的大型機系統高得多的性能價格比和可用性,己成為數據庫研究領域的一個熱點。
并行數據庫的研究主要包括以下幾個方面。
①并行數據庫操作的并行算法的設計與實現。
②并行數據庫物理存儲結構的研究。研究如何劃分多處理機、劃分或共享磁盤和內存等, 以實現對數據庫的并行操作。
③并行查詢優化的研究。
(1)并行數據庫系統的體系結構
并行數據庫系統的體系結構與并行計算系統的結構有關。目前并行計算機的體系結構主 要有以下幾類:
①緊耦合全對稱多處理器(SMP)系統,所有的CPU共享內存與磁盤。
②松耦合群集機系統,所有的CPU共享磁盤。
③大規模并行處理(MPP)系統,所有的CPU均有自己的內存與磁盤。
④混合結構,如SMP群集機系統,即MPP系統的每個結點是一個SMP系統。
(2)并行處理技術
并行數據庫系統提供多種并行性以提高系統的并行處理能力,分為查詢間的并行、查詢 內的并行、操作內的并行和操作間的并行。
①查詢間并行
查詢間并行指不同的查詢或事務可互相并行地執行,此種形式的并行可以提高事務吞吐 量,擴展事務處理系統,使它在每秒鐘里能支持更大數量的事務。
查詢間并行在共享內存的并行系統中最易實現。即使在串行的數據庫系統中也支持并行 處理,所以為單處理器系統設計的數據庫系統可以不做改動,或者稍作改動,就可用到共享
內存的并行結構中。
在磁盤共享或無共享的體系結構中,支持查詢間并行要復雜些。因為相應各處理器以一 種協同的方式執行某些任務(如封鎖或日志),所以需要它們之間能傳遞消息。
并且,數據庫系統還必須保證兩個處理器不會相互獨立地同時更新相同的數據,并做到 緩存相關,即一個處理器訪問或更新數據時,數據庫系統必須保證該處理器在它的緩沖池中 也擁有該數據庫的新版本。
②查詢內并行
查詢內并行指多個查詢在多個處理器上并行地執行。在并行體系結構中,對于長時間運 行的查詢采用查詢間并行非常重要。
一個查詢可以包含一個或多個操作。例如對某個關系的排序輸出。假設該關系分布在多 個磁盤上,那么在并行體系結構中可以這樣進行:對每個分片并行地進行排序,然后將排序 好的各個分片再串接在一起,得到最終的輸出。
一般地,單個查詢的執行可以有兩種并行方式,即操作內并行和操作間并行,這兩種方 式是互相補充,可同時應用在一個查詢中。
③操作內并行
關系中都包含了大量的元組,所以對關系的操作可以通過在關系的不同子集上并行地執 行來實現操作的并行性。關系中的元組數目越多,可達到的并行度也就越大。
?、懿僮鏖g并行
不同操作間的并行有兩種方式?.流水線并行和獨立并行。
流水線并行。指一個操作A的輸出作為另一個操作B的輸入,在操作A未產生完全 的輸出之前,操作B已利用操作A的部分輸出進行工作,并且操作B輸出又作為第三個操 作C的輸入,以此類推。多個操作間的這種輸入輸出操作是并行的,并且操作的中間結果不 必保存在磁盤上。但這種方式的效果是有限制的,比如當多個并行操作中有一個操作的代價 遠遠高于其他操作,或者對于那些必須訪問了整個輸入才能開始產生輸出的操作(例如集合 的差運算),就不能采用流水線。
獨立并行。將一個查詢分解成多個獨立的子任務,由多個處理器并行執行。獨立并 行與流水線并行一樣,不能提供較高的并行度,它們都適合于低度并行的系統中,在高度并 行的系統中沒有太大的用處。對并行數據庫系統的研究,雖然已經有了一些研究或實驗用的 原型系統,但尚無真正的系統投入使用。
返回目錄:通信工程師考試科目綜合能力計算機應用
編輯推薦通信工程師考前試題練習:
通信工程師備考資料免費領取
去領取
專注在線職業教育25年