◆孔祥宗 杜叢強
DB2并行數據庫核心技術分析
◆孔祥宗 杜叢強
(山東省農村信用社聯合社 山東 250000)
目前,DB2并行數據庫系統已被廣泛應用于銀行業的諸多核心業務系統中。本文分別從并行數據庫系統的目標、本質、原則、方法及邏輯結構模型等方面,對DB2并行數據庫系統的核心技術做一全面、系統化分析,望能為DB2實踐應用提供些許借鑒與指導。
并行數據庫系統;DB2;表分區

伴隨科學技術的不斷發展,信息化程度日漸提升,各個行業所需處理的信息量持續增大,特別是在通信、海洋開發、航天等領域,數據規模已達TB級,針對如此大的數據量,傳統數據庫系統已經難以滿足實際需要。所以,大力開展并行數據庫系統設計研究,將其更好地用于數據的管理與儲存,意義重大。本文根據當前信息技術發展需要,探討了一種新型的DB2并行數據庫核心技術,望能為數據領域發展有所幫助。
現階段,在整個銀行業當中,諸如征信系統、支付清算系統及記賬系統等核心業務系統,伴隨業務范圍的擴充,業內內容的增加,以及業務流程的轉變、業務方式的調整,業務系統當中所充斥的生產性子系統,每日均需接受與應對數量龐大的高并發實時訪問,在此過程中,需要吐出可以用海量一詞來形容的交易數據;針對銀行企業來講,這些交易信息、數據可謂無價資源,業務系統當中配套的管理性子系統,需要根據實際情況及需要,對每日所生成的海量交易數據進行不間斷的、實時性的歸檔,開展統計學分析,并對金融服務、貨幣政策等業務價值進行深入、全面的挖掘與處理。通常情況下,其數據容量可以達到驚人的TB級,甚至達到了更為驚人的PB級。銀行企業發展至今,數據信息量仍然處于持續攀升狀態,因此,對于傳統數據庫系統而言,其已經無法滿足現階段的空間需求。
1945年,世界首臺電子管計算機應運而生,時至今日,已有七十余年的歷史,在此進程中,計算機硬件得到全面、深層化發展,尤其是在微處理器方面,更是發展勢頭迅猛,處理器在具體的運算性能方面,往往用摩爾定律來提速,每1.5年速度便能提升1倍;而在主存儲器方面,其容量可以每3~4年便增加1倍。而針對硬盤容量來講,則可每年提升60%,另外,還需要指出的是,這些硬件的價格始終呈現下跌狀態,整個性價比始終呈提升趨勢,有力推動著新型計算機體系機構的不斷發展與完善。現階段,在業界范圍內,始終在提倡將并行處理機當作用于滿足實時性能計算需求以及海量數據處理需求的解空間,為此領域問題的有效解決奠定堅實、高質量的物質基礎。
在大規模并行處理機的解空間與海量數據實時處理的問題空間之間,因二者有著不同的處理邏輯,在概念上也不同,要想將此距離較好地彌補掉,需從當前的問題空間映射至解空間,構建映射函數:f:y=f(x),其定義域是:{x/x=海量數據實時處理的問題空間的處理邏輯與概念},定義域:{y/y=大規模并行處理機解空間的處理邏輯與概念}。由此得知,針對并行數據庫系統來講,其核心課概括為:自海量數據實時處理的問題空間至大規模并行處理機的解空間的映射f。此外,另需強調的是,自問題空間直接映射至解空間,在此過程中會存在一定復發性,為了施加有效控制,需專門構建一個復合映射函數f,也就是f(x)=P(L(x)),其中,L就是自問題空間至并行數據庫系統之間的邏輯映射,而對于P來講,就是自并行數據庫系統至解空間的物理映射。建立模型是實現映射的主要方式與手段,專門為邏輯映射構建圍繞并行數據庫系統的邏輯結構模型,而針對物理映射,則專門為其構建并行數據庫系統的物理結構模型。
由映射f的相關定義得知,高性能、高可用性為并行數據庫系統的目標所在。冗余機制保證高可用性的實現,而并行機制保證高性能。
針對高性能來講,其主要由2個指標來度量,其一為線性擴展,其二是線性加速。假設無并行性,將1個單位計算資源投入,那么在1個單位時間中,可以將1個單位計算規模的1個計算任務完成。所謂線性加速,從根本上來講,就是將n個單位計算資源投入,在1/n個單位計算時間中,將1個單位計算規模的1各計算任務完成。針對線性擴展而言,即把n個單位計算資源投入,在指定的1個單位時間中,將1個單位計算規模的n個計算任務完成。
在實際操作中,為了能使并行數據庫系統達成上述目標,需要秉持如下原則:從之前的有限構建無限。也就是沒有一臺無限快的處理器來提供無限能力的計算資源,而是借助于一定的結構關系,由無限多個有限能力的計算資源,來構建一個有無限能力的計算資源。此種結構關系便為本文所指出的并行計算體系結構。針對并行機構的實現方法來講,可劃分為兩種,一種是分區并行性,另外一種是流水線并行性。針對流水線并行性而言,就是串聯一個關系運算的輸出結果,并將其接入到另外一個關系運算所對應的輸入端,使各個關系運算之間形成和諧、高效的流水線,借助于流水線深度,來得到并行性。需要指出的是,在關系運算過程中,流水線大小、深度等因素,在某種程度上會對其并行性發揮造成限制。對于分區并行性而言,從基本層面來分析,即轉化大任務,使之成為若干個彼此獨立的小任務,包含兩個方面,即并行運算與數據分區,也就是對大規模數據集進行分割,使之成為若干小規模數據集,使原本一個整體的關系運算,被劃分為若干相同的子關系運算;針對此些子運算來講,其均作用于各小規模數據集上。
DB2并行數據庫系統的邏輯結構模型為:針對DN2數據庫分區來講,在對其進行設計時,多選用分區并行性中的散列分區策略來實現。各數據庫分區被稱之為數據庫節點,或者是直接被稱為節點。各數據庫分區均有專屬自身的計算資源,比如磁盤、主存儲器、CPU等。而對于各數據庫分區來講,其均為其一獨立的數據庫,而且均有自己的索引、數據、配置穩健等。查詢間、節點間、查詢內部及節點內為支持的并行性粒度。無橫向擴展及限制的規模。以分區鍵為基礎,利用散列函數,實現數據到各數據庫分區的均勻映射,如果用于對外發出SQL操作時,那么此時處于被連接狀態的分區,便可成為協調節點,主要職責就是對用戶的各種請求進行處理,且依據分區鍵與分布圖,分解用戶的請求,使之成為多個子任務,然后交給各個分區進行并行處理,最后,匯總各分區的執行結果,返回給用戶。
針對DB2表空間來講,其在設計中選用的是分區并行性中的輪轉法策略,DB2中又被稱作條帶化。容器構成表空間,且還是數據的物理存儲,若在1個表空間中同時有多個容器,則在寫容器時,數據是依據循環方式按塊來寫的。當將第一個容器寫完之后,便可以寫第二個容器,以此類推。
在DB2并行數據庫系統的邏輯結構模型向大規模并行處理機的解空間進行映射時,為了能夠給予最大支持,需將DB2并行數據庫系統相應物理結構模型引入。
針對大規模并行處理機MPP來講,其主要有無共享、共享磁盤及共享內存等物理結構。
全部的處理器與磁盤共享一個主存儲器,總線連接。其優點為:在各個處理器間,有著非常高的通信效率。不足之處就是其規模不得大于64個處理器,不然會出現瓶頸。
全部處理器共享一個磁盤。互聯網進行連接,各處理器均能對全部磁盤進行訪問,各處理器均有專屬自己的主存儲器。容錯性為其優點,速度較慢為其不足。
從根本上來講,就是各個處理器對公共主存儲器并不共享,不共享磁盤。其優點為無共享體系結構,擴展性更好,能支持諸多處理器工作,不足是在進行數據傳輸時,會涉及到兩端的軟件交互,速度相對較慢。通過對上述物理結構進行比較,得知無共享SN的結構與架構高性能數據庫系統更為適宜,因此,DB2可優先選擇。
綜上,本文探討了一種能滿足高可靠性需求及提高吞吐量的問題空間,指出了解空間的映射及模型,另外,還對DB2并行數據庫的查詢性能的構成進行了深入剖析。從中得知,DB2并行數據庫有著強大的功能類型,其在銀行業中有著重要的應用價值。
[1]張愛文,王宇穎.基于查詢優化的并行數據庫自動數據劃分設計[J].哈爾濱師范大學自然科學學報,2004.
[2]杜叢強,孫丙騰. DB2數據庫讀寫分離技術在銀行核心系統中的應用[J].信息技術與信息化,2017.
[3]張勤.主機DB2數據庫重組技術的應用與實踐[J].中國金融電腦,2011.