靈活的分布式大規(guī)模并行處理(mpp)系統(tǒng)和方法
【專利說(shuō)明】靈活的分布式大規(guī)模并行處理(MPP)系統(tǒng)和方法
[0001]相關(guān)申請(qǐng)案交叉申請(qǐng)
[0002]本發(fā)明要求由Yuan Dai等人于2012年10月16日遞交的發(fā)明名稱為“靈活的分布式大規(guī)模并行處理(MPP)系統(tǒng)和方法”的第13/653,308號(hào)美國(guó)專利申請(qǐng)案的在先申請(qǐng)優(yōu)先權(quán),該在先申請(qǐng)的內(nèi)容以引入的方式并入本文。
技術(shù)領(lǐng)域
[0003]本發(fā)明涉及一種大規(guī)模并行處理(MPP)數(shù)據(jù)庫(kù)管理系統(tǒng),以及在特定實(shí)施例中,涉及一種能將數(shù)據(jù)庫(kù)分區(qū)數(shù)與固定處理器數(shù)分離的管理系統(tǒng)。
【背景技術(shù)】
[0004]大規(guī)模并行處理(MPP)的概念是指多個(gè)處理器對(duì)一個(gè)程序的協(xié)調(diào)處理,其中每個(gè)處理器處理所述程序的不同部分。每個(gè)處理器使用自身的操作系統(tǒng)與內(nèi)存資源,各處理器之間互相通信以完成任務(wù)。
[0005]MPP數(shù)據(jù)庫(kù)系統(tǒng)基于無(wú)共享架構(gòu),數(shù)據(jù)庫(kù)表劃分成多個(gè)部分,并分配至不同的處理節(jié)點(diǎn)。處理節(jié)點(diǎn)間無(wú)數(shù)據(jù)共享。當(dāng)數(shù)據(jù)庫(kù)查詢到達(dá)時(shí),每條查詢的任務(wù)會(huì)進(jìn)行劃分,并根據(jù)數(shù)據(jù)分配計(jì)劃與優(yōu)化的執(zhí)行計(jì)劃將其分配給其中的一個(gè)處理節(jié)點(diǎn)。每個(gè)處理節(jié)點(diǎn)中的處理實(shí)體只管理各自的一部分?jǐn)?shù)據(jù)。但是,這些處理實(shí)體在執(zhí)行工作時(shí)可互相通信以交換必要的信息。每條查詢可拆分成多個(gè)子查詢,這些子查詢可以在部分或所有處理節(jié)點(diǎn)上并行執(zhí)行或以最佳順序執(zhí)行。子查詢結(jié)果可以匯聚以進(jìn)行進(jìn)一步的處理,其后可根據(jù)該結(jié)果執(zhí)行更多的子查詢。
[0006]建立分布式系統(tǒng)一直是MPP數(shù)據(jù)庫(kù)系統(tǒng)面臨的一個(gè)挑戰(zhàn),它包括:配置機(jī)器、創(chuàng)建數(shù)據(jù)庫(kù)、劃分?jǐn)?shù)據(jù)表以及分發(fā)數(shù)據(jù)段。數(shù)據(jù)如何分發(fā)以及分發(fā)在多大程度上與業(yè)務(wù)邏輯保持一致在很大程度上決定了系統(tǒng)的整體性能。
[0007]傳統(tǒng)的MPP數(shù)據(jù)庫(kù)系統(tǒng)允許數(shù)據(jù)庫(kù)管理員創(chuàng)建數(shù)據(jù)庫(kù)并分發(fā)自身的數(shù)據(jù)(即創(chuàng)建數(shù)據(jù)庫(kù)分區(qū))給固定數(shù)量的已提前建立的處理器。不巧的是,數(shù)據(jù)庫(kù)管理員可以創(chuàng)建的分區(qū)數(shù)是固定的,并且直接對(duì)應(yīng)于所述傳統(tǒng)MMP數(shù)據(jù)庫(kù)系統(tǒng)中可用的處理器的數(shù)量。也就是說(shuō),分區(qū)數(shù)和處理器數(shù)總是相同的。如果需要額外的分區(qū),必須重復(fù)建立實(shí)例和分區(qū)的完整過(guò)程。
【發(fā)明內(nèi)容】
[0008]一種大規(guī)模并行處理的實(shí)施例方法,包括:在初始機(jī)上發(fā)起管理實(shí)例,所述管理實(shí)例生成與所述初始機(jī)對(duì)應(yīng)的初始分區(qū);確定處理數(shù)據(jù)庫(kù)所需的分區(qū)總數(shù),所述分區(qū)總數(shù)包括所述初始分區(qū);確定可用的處理所述數(shù)據(jù)庫(kù)的額外機(jī)器的數(shù)量;將所述初始機(jī)與所述額外機(jī)器一起分組到一個(gè)網(wǎng)莢;在所述網(wǎng)莢的所述額外機(jī)器上啟動(dòng)管理實(shí)例以生成所述數(shù)據(jù)庫(kù)所需的分區(qū)總數(shù)。
[0009]一種大規(guī)模并行處理的實(shí)施例方法,包括:在初始機(jī)上發(fā)起管理實(shí)例,所述管理實(shí)例生成與所述初始機(jī)對(duì)應(yīng)的初始分區(qū);確定處理數(shù)據(jù)庫(kù)所需的分區(qū)總數(shù),所述分區(qū)總數(shù)包括所述初始分區(qū);確定處理所述數(shù)據(jù)庫(kù)的可用的額外機(jī)器的數(shù)量,所述額外機(jī)器和所述初始機(jī)的總和小于所需的分區(qū)總數(shù);將所述初始機(jī)與所述額外機(jī)器一起分組到一個(gè)網(wǎng)莢;在所述網(wǎng)莢的額外機(jī)器上啟動(dòng)管理實(shí)例以生成所述數(shù)據(jù)庫(kù)所需的分區(qū)總數(shù)。
[0010]一種大規(guī)模并行處理實(shí)施例系統(tǒng),包括:網(wǎng)莢中的初始機(jī),所述初始機(jī)運(yùn)行與用于處理數(shù)據(jù)庫(kù)的初始分區(qū)對(duì)應(yīng)的管理實(shí)例;所述網(wǎng)莢中的額外機(jī)器,所述額外機(jī)器運(yùn)行用于處理所述數(shù)據(jù)庫(kù)的兩個(gè)管理實(shí)例,每個(gè)所述管理實(shí)例對(duì)應(yīng)一個(gè)額外分區(qū)。
【附圖說(shuō)明】
[0011]為了更全面地理解本發(fā)明及其優(yōu)點(diǎn),請(qǐng)參考下文結(jié)合附圖進(jìn)行的描述,其中:
[0012]圖1示出了用于聯(lián)機(jī)分析處理(OLAP)的大規(guī)模并行處理(MPP)數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu);
[0013]圖2示出了用于聯(lián)機(jī)事務(wù)處理(OLTP)的MPP數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu);
[0014]圖3示出了傳統(tǒng)MPP數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)庫(kù)創(chuàng)建場(chǎng)景;
[0015]圖4a所示的網(wǎng)莢初始建立和構(gòu)建時(shí)的實(shí)施例MPP數(shù)據(jù)庫(kù)系統(tǒng);
[0016]圖4b示出了數(shù)據(jù)庫(kù)創(chuàng)建以及為網(wǎng)莢中的機(jī)器定義分區(qū)策略時(shí)圖4a所示的實(shí)施例MMP數(shù)據(jù)庫(kù)系統(tǒng);
[0017]圖5a示出了當(dāng)數(shù)據(jù)庫(kù)分區(qū)數(shù)大于網(wǎng)莢中可用機(jī)器數(shù)時(shí)的實(shí)施例MPP數(shù)據(jù)庫(kù)系統(tǒng);
[0018]圖5b示出了將新機(jī)器添加至網(wǎng)莢時(shí)圖5a所示的實(shí)施例MPP數(shù)據(jù)庫(kù)系統(tǒng);
[0019]圖6為信息技術(shù)(IT)管理員和數(shù)據(jù)庫(kù)管理員(DBA)準(zhǔn)備與創(chuàng)建數(shù)據(jù)庫(kù)的概要流程圖;
[0020]圖7為網(wǎng)莢管理器創(chuàng)建網(wǎng)莢的流程圖;
[0021]圖8為處理數(shù)據(jù)庫(kù)及其分區(qū)創(chuàng)建的數(shù)據(jù)庫(kù)(DB)管理實(shí)例的流程圖;
[0022]圖9為網(wǎng)莢管理器構(gòu)建靈活網(wǎng)莢和創(chuàng)建數(shù)據(jù)庫(kù)分區(qū)的流程圖;
[0023]圖10為添加新機(jī)器或從網(wǎng)莢中刪除現(xiàn)有機(jī)器時(shí)數(shù)據(jù)庫(kù)分區(qū)的迀移流程圖;
[0024]圖11為示出網(wǎng)莢結(jié)構(gòu)范例的數(shù)據(jù)表;
[0025]圖12為示出數(shù)據(jù)庫(kù)編目范例的數(shù)據(jù)表。
[0026]除非另有說(shuō)明,在不同的圖中,相應(yīng)的編號(hào)和符號(hào)通常指對(duì)應(yīng)的部件。圖形的繪制旨在清楚地說(shuō)明實(shí)施例的相關(guān)方面,但未必按比例繪制。
【具體實(shí)施方式】
[0027]下文將詳細(xì)論述當(dāng)前優(yōu)選實(shí)施例的制作和使用。然而,應(yīng)了解,本發(fā)明提供許多可在各種具體環(huán)境中具體實(shí)現(xiàn)的適用的發(fā)明性概念。所論述的具體實(shí)施例僅為說(shuō)明性的,并不限制本發(fā)明的范圍。
[0028]本發(fā)明將結(jié)合具體環(huán)境下的優(yōu)選實(shí)施例,即大規(guī)模并行處理(MPP)數(shù)據(jù)庫(kù)及其管理,進(jìn)行說(shuō)明,但本發(fā)明中的概念也可以適用于其他種類的數(shù)據(jù)庫(kù)與數(shù)據(jù)管理系統(tǒng)。
[0029]現(xiàn)在參照?qǐng)D1,出于參考的目的,圖1示出了用于聯(lián)機(jī)分析處理(OLAP)的常規(guī)或典型的大規(guī)模并行處理(MPP)數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)10。如圖所示,客戶端應(yīng)用程序100呈現(xiàn)查詢101給具有主動(dòng)協(xié)調(diào)器120a的機(jī)器110a。機(jī)器IlOa可協(xié)同或獨(dú)立于具有被動(dòng)協(xié)調(diào)器120b的另一機(jī)器IlOb進(jìn)行工作。
[0030]仍參照?qǐng)D1,機(jī)器IlOa和IlOb被可操作地耦合到所述互連160。顧名思義,該互連160允許機(jī)器IlOa和IlOb與額外機(jī)器通信,即,機(jī)器IlOc至110H。值得注意的是,機(jī)器110c、IlOe和110分別包括主動(dòng)數(shù)據(jù)庫(kù)管理實(shí)例130a、132a和134a ;相對(duì)的,機(jī)器110d、IlOf和IlOh分別包括被動(dòng)數(shù)據(jù)庫(kù)管理實(shí)例130b、132b和134b。機(jī)器IlOc至IlOh中的每一個(gè)與其中一個(gè)數(shù)據(jù)庫(kù)分區(qū)關(guān)聯(lián),即如圖1中所示的分區(qū)140a至144b。在圖1所示的系統(tǒng)結(jié)構(gòu)10中,與客戶端應(yīng)用程序100通信的機(jī)器IlOa和相鄰的機(jī)器IlOb不具有相關(guān)聯(lián)的分區(qū)。
[0031]現(xiàn)在參照?qǐng)D2,出于參考的目的,圖2示出了用于聯(lián)機(jī)事務(wù)處理(OLTP)的常規(guī)或典型的MPP數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)20。如圖所示,客戶端應(yīng)用程序200將查詢201提交給具有主動(dòng)協(xié)調(diào)器120a和主動(dòng)數(shù)據(jù)庫(kù)(DB)管理實(shí)例132a的機(jī)器210a。
[0032]仍參照?qǐng)D2,機(jī)器210a被可操作地耦合到所述互連260。顧名思義,該互連260允許機(jī)器210b與額外機(jī)器通信,即,機(jī)器210b至210f。值得注意的是,機(jī)器210c和210e分別包括主動(dòng)協(xié)調(diào)器122a和124a與主動(dòng)數(shù)據(jù)庫(kù)管理實(shí)例132a和134a ;相對(duì)的,機(jī)器210b、210d和210f分別包括被動(dòng)協(xié)調(diào)器120b、122b和124b與被動(dòng)數(shù)據(jù)庫(kù)管理實(shí)例130b、132b和134b。機(jī)器210a至210f中的每一個(gè)與其中一個(gè)數(shù)據(jù)庫(kù)分區(qū)關(guān)聯(lián),即如圖1中所示的分區(qū)140a至144b。在圖2所示的系統(tǒng)結(jié)構(gòu)20中,與客戶端應(yīng)用程序200通信的機(jī)器210a存在關(guān)聯(lián)的分區(qū)140a。
[0033]現(xiàn)在參照?qǐng)D3,圖3示出了傳統(tǒng)大規(guī)模并行處理數(shù)據(jù)庫(kù)系統(tǒng)30的數(shù)據(jù)庫(kù)創(chuàng)建場(chǎng)景。如圖3所示,客戶端300可操作地耦合到所述互連320。該互連320可依次可操作地耦合到機(jī)器310a、310b和310c。每一個(gè)所述的機(jī)器310a、310b和310c分別包括與空分區(qū)340、342和344關(guān)聯(lián)的主動(dòng)數(shù)據(jù)庫(kù)管理實(shí)例330、332和334。
[0034]圖3中的各個(gè)數(shù)據(jù)庫(kù)管理實(shí)例330、332和334與空分區(qū)340、342和344是同時(shí)創(chuàng)建的。此外,如圖3所示,每臺(tái)可用機(jī)器只允許一個(gè)分區(qū)。如果需要在圖3所示的傳統(tǒng)大規(guī)模并行處理數(shù)據(jù)庫(kù)系統(tǒng)30中添加新分區(qū)或刪除現(xiàn)有分區(qū),必須再一次執(zhí)行整個(gè)數(shù)據(jù)庫(kù)創(chuàng)建場(chǎng)景。照這樣的話,需要對(duì)數(shù)據(jù)庫(kù)重新分區(qū),這對(duì)信息技術(shù)(IT)管理員和/或數(shù)據(jù)庫(kù)管理員(DBA)來(lái)說(shuō)非常繁瑣、耗時(shí)。
[0035]現(xiàn)在參照?qǐng)D4a,圖