并行數(shù)據(jù)庫(kù)系統(tǒng)(數(shù)據(jù)庫(kù))
時(shí)間:2022-12-13 00:30:01 | 來源:信息時(shí)代
時(shí)間:2022-12-13 00:30:01 來源:信息時(shí)代
并行數(shù)據(jù)庫(kù)系統(tǒng) : 并行數(shù)據(jù)庫(kù)系統(tǒng)是在大規(guī)模并行計(jì)算機(jī)或機(jī)群并行計(jì)算環(huán)境的基礎(chǔ)上建立的數(shù)據(jù)庫(kù)系統(tǒng)。并行數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)容主要包括:
1.關(guān)系查詢的并行性
實(shí)際上,關(guān)系查詢特別適合于并行處理。由于關(guān)系代數(shù)的封閉性和數(shù)據(jù)操作的相對(duì)獨(dú)立性,關(guān)系查詢具有三種固有并行性: 數(shù)據(jù)操作間的流水線并行性(pipelining parallelism)、數(shù)據(jù)操作間的獨(dú)立并行性(inter-operator parallelism)及單數(shù)據(jù)操作內(nèi)的并行性(intra-operator parallelism)。
2.并行計(jì)算結(jié)構(gòu)(硬件)
并行數(shù)據(jù)庫(kù)系統(tǒng)一直以如下三種并行計(jì)算結(jié)構(gòu)為基礎(chǔ)來進(jìn)行研究:
(1)共享主存儲(chǔ)器(shared memory,SM)結(jié)構(gòu):簡(jiǎn)稱SM并行結(jié)構(gòu),由多個(gè)處理機(jī)、一個(gè)共享主存儲(chǔ)器和多個(gè)磁盤存儲(chǔ)器構(gòu)成。多處理機(jī)和共享主存儲(chǔ)器由高速通信網(wǎng)絡(luò)連接,每個(gè)處理機(jī)可直接存取一個(gè)或多個(gè)磁盤存儲(chǔ)器。SM并行計(jì)算機(jī)結(jié)構(gòu)如圖1所示。IBM/370多處理機(jī)系統(tǒng)、VAX多處理機(jī)系統(tǒng)和SEQUENT系統(tǒng)是具有SM結(jié)構(gòu)的典型并行計(jì)算機(jī)系統(tǒng)。
圖1 SM結(jié)構(gòu)并行計(jì)算機(jī)
(2)共享磁盤(shared disk,SD)結(jié)構(gòu): 簡(jiǎn)稱SD結(jié)構(gòu),由多個(gè)具有獨(dú)立主存儲(chǔ)器的處理機(jī)和多個(gè)磁盤存儲(chǔ)器構(gòu)成。每個(gè)處理機(jī)都可以讀寫任何磁盤存儲(chǔ)器。多個(gè)處理機(jī)和磁盤存儲(chǔ)器由高速通信網(wǎng)絡(luò)連接。SD結(jié)構(gòu)并行計(jì)算機(jī)如圖2所示。IBM的SYSPLEX系統(tǒng)就是一個(gè)基于SD結(jié)構(gòu)的并行計(jì)算機(jī)系統(tǒng)。
圖2 SD結(jié)構(gòu)并行計(jì)算機(jī)
(3)無共享資源(shared nothing)結(jié)構(gòu):簡(jiǎn)稱并行SN結(jié)構(gòu),由多個(gè)處理結(jié)點(diǎn)構(gòu)成。每個(gè)處理結(jié)點(diǎn)具有自己獨(dú)立的處理機(jī)、主存儲(chǔ)器和磁盤存儲(chǔ)器。多個(gè)處理機(jī)結(jié)點(diǎn)由高速通信網(wǎng)絡(luò)連接。SN結(jié)構(gòu)并行計(jì)算機(jī)如圖3所示。具有SN結(jié)構(gòu)的并行計(jì)算機(jī)系統(tǒng)包括NCUB系統(tǒng)、TERADATA系統(tǒng)、TANDEM系統(tǒng)和較新的VAXcluster系統(tǒng)等。
圖3 SN結(jié)構(gòu)并行計(jì)算機(jī)
上述三種并行結(jié)構(gòu)是邏輯并行計(jì)算機(jī)結(jié)構(gòu),與通常物理并行計(jì)算機(jī)的分類有所不同。機(jī)群并行計(jì)算環(huán)境就是一個(gè)典型的SN結(jié)構(gòu)并行計(jì)算環(huán)境。SM結(jié)構(gòu)的可擴(kuò)展性不好,而且能夠支持的并行處理機(jī)個(gè)數(shù)不能太多。所以,SM結(jié)構(gòu)不是一個(gè)很好的并行結(jié)構(gòu)。1986年,Stonebraker提出SN結(jié)構(gòu)是支持并行數(shù)據(jù)庫(kù)系統(tǒng)的最好并行結(jié)構(gòu)。這個(gè)觀點(diǎn)已經(jīng)得到了普遍的接受。
3.并行數(shù)據(jù)庫(kù)系統(tǒng)軟件
并行數(shù)據(jù)庫(kù)系統(tǒng)軟件由以下四層軟件組成:
(1)用戶界面層: 主要用來接受用戶查詢要求,進(jìn)行語法檢查等預(yù)處理,把滿足查詢語言語法要求的查詢傳送給并行查詢處理層,最后把并行查詢處理層返回的查詢結(jié)果顯示、打印輸出或傳輸給應(yīng)用程序。
(2)并行查詢處理層: 由查詢編譯程序、并行查詢優(yōu)化程序和查詢調(diào)度執(zhí)行程序組成。
(3)并行關(guān)系代數(shù)層:由實(shí)現(xiàn)所有關(guān)系代數(shù)操作的并行算法組成。為便于產(chǎn)生優(yōu)化的并行查詢執(zhí)行計(jì)劃,通常把關(guān)系代數(shù)操作劃分為更基本的操作。這樣,在并行關(guān)系代數(shù)層可能包括實(shí)現(xiàn)這些細(xì)致操作的并行算法。并行關(guān)系代數(shù)層是供并行查詢處理層調(diào)用的并行算法集合。
(4)并行記錄管理層: 包括并發(fā)控制程序、系統(tǒng)恢復(fù)程序、內(nèi)存緩沖管理程序、記錄存儲(chǔ)管理程序、存取方法處理程序和數(shù)據(jù)存取程序等。在這一層中,除了記錄存儲(chǔ)管理程序以外,其他程序的功能都與傳統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)的相應(yīng)程序相同。記錄管理程序?qū)崿F(xiàn)數(shù)據(jù)庫(kù)中數(shù)據(jù)在多處理機(jī)或多磁盤間的分布。數(shù)據(jù)在多磁盤或多處理機(jī)之間分布的目的是提高系統(tǒng)的I/O并行性。其他程序的功能雖然與傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)相應(yīng)程序的功能相同,但實(shí)現(xiàn)的方法是很不相同的,都需要考慮并行環(huán)境下的新問題。例如,存取方法處理程序所支持的已經(jīng)不再是簡(jiǎn)單的單處理機(jī)存取方法了,而是新的并行存取方法,如并行B-樹、并行索引結(jié)構(gòu)等。數(shù)據(jù)存取程序也需要根據(jù)數(shù)據(jù)在多磁盤或多處理機(jī)之間的分布方法重新設(shè)計(jì)。