[0026]如上文所論述,計(jì)算群集可以從多個(gè)用戶接收訪問請(qǐng)求和其它請(qǐng)求。計(jì)算群集可以對(duì)這些請(qǐng)求作出響應(yīng),或?qū)⑾⒒驍?shù)據(jù)外推到多個(gè)用戶。圖2示出根據(jù)一些實(shí)施方案的示例性計(jì)算群集操作環(huán)境。在此示出中,一個(gè)或多個(gè)用戶(諸如用戶212、222和232)可以使用各種不同通信方法(諸如通過廣域網(wǎng)(WAN) 200 (例如,互聯(lián)網(wǎng)))與一個(gè)或多個(gè)群集(諸如由基于網(wǎng)絡(luò)的群集托管服務(wù)300托管的群集214、224和234)通信。私人網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和其它形式的通信網(wǎng)絡(luò)還可以促進(jìn)在用戶與計(jì)算群集之間通信。
[0027]用戶(諸如用戶212、222和232)可以經(jīng)由以下裝置與群集通信:桌上型計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板型計(jì)算機(jī)、個(gè)人數(shù)字助理、移動(dòng)裝置、服務(wù)器、或任何其它計(jì)算系統(tǒng)或其它裝置,諸如下文參考圖7所描述的計(jì)算機(jī)系統(tǒng)1000,其被配置來將請(qǐng)求發(fā)送到一個(gè)或多個(gè)計(jì)算群集(諸如群集214、224和234)和/或從一個(gè)或多個(gè)計(jì)算群集(諸如群集214、224和234)接收響應(yīng)。請(qǐng)求例如可以格式化為包括與由計(jì)算群集提供的特定功能或服務(wù)相關(guān)聯(lián)的參數(shù)和/或數(shù)據(jù)的消息。這個(gè)消息可以根據(jù)特定標(biāo)記語言(諸如可擴(kuò)展標(biāo)記語言(XML))格式化和/或可以使用某個(gè)協(xié)議(諸如簡單對(duì)象訪問協(xié)議(SOAP))來封裝。應(yīng)用程序員接口(API)可以被實(shí)施來諸如在用戶與基于網(wǎng)絡(luò)的群集托管服務(wù)300通信時(shí)對(duì)用戶提供標(biāo)準(zhǔn)化消息格式。
[0028]用戶可以匯編包括請(qǐng)求的消息并將消息遞送到網(wǎng)絡(luò)端點(diǎn)(例如,對(duì)應(yīng)于群集的統(tǒng)一資源定位器(URL))。例如,用戶212可以經(jīng)由在局部軟件應(yīng)用上運(yùn)行的桌上型計(jì)算機(jī)(諸如網(wǎng)絡(luò)客戶端,其被配置來通過WAN 200將超文字傳送協(xié)議(HTTP)請(qǐng)求發(fā)送到群集214)通信。發(fā)送到用戶的響應(yīng)或其它數(shù)據(jù)可以以相似方式格式化。用戶222例如可以經(jīng)由通過WAN從群集234接收使用XML格式化的推送數(shù)據(jù)消息的移動(dòng)裝置通信。用戶還可以經(jīng)由另一更大系統(tǒng)的組件或模塊通信。例如,基于網(wǎng)絡(luò)的軟件即服務(wù)(SaaS)系統(tǒng)可以具有支持通過WAN 200與一個(gè)或多個(gè)群集通信的基于網(wǎng)絡(luò)的服務(wù)的組件。
[0029]在至少一些實(shí)施方案中,基于網(wǎng)絡(luò)的群集托管服務(wù)(如在300處所指示)可以托管群集,諸如群集214、224和234。基于網(wǎng)絡(luò)的群集托管服務(wù)可以將網(wǎng)絡(luò)端點(diǎn)提供到群集用戶,以允許所述群集將請(qǐng)求和其它消息直接發(fā)送到特定群集。如上文所述,網(wǎng)絡(luò)端點(diǎn)例如可以是特定網(wǎng)絡(luò)地址,諸如指向特定群集的URL。例如,用戶232可以被賦予各種請(qǐng)求消息被發(fā)送到的網(wǎng)絡(luò)端點(diǎn)“http://mycluster.com”。多個(gè)用戶可以被賦予特定群集的網(wǎng)絡(luò)端點(diǎn)。各種安全特征可以被實(shí)施來防止未授權(quán)用戶訪問群集。相反地,單個(gè)用戶可以被賦予多個(gè)群集的網(wǎng)絡(luò)端點(diǎn)。
[0030]如上文所論述,群集可以由一個(gè)或多個(gè)節(jié)點(diǎn)組成。如圖2中所示,這些群集可以包括不同數(shù)量的群集,諸如群集214中所示的三個(gè)節(jié)點(diǎn)、群集224中所示的五個(gè)節(jié)點(diǎn)、和群集234中所示的兩個(gè)節(jié)點(diǎn)。在一些實(shí)施方案中,節(jié)點(diǎn)可以實(shí)施一個(gè)或多個(gè)數(shù)據(jù)片以存儲(chǔ)群集數(shù)據(jù)。這些數(shù)據(jù)片可以是存儲(chǔ)裝置的部分,諸如下文參考圖4所論述的磁盤存儲(chǔ)裝置。群集可以被配置來通過WAN 200從用戶接收請(qǐng)求和其它通信。群集可以被配置來經(jīng)由群集的網(wǎng)絡(luò)端點(diǎn)從多個(gè)用戶接收請(qǐng)求。盡管這個(gè)圖中未示出(對(duì)于更多實(shí)例,參見下文圖6A到6C),但群集中節(jié)點(diǎn)可以被配置來諸如在響應(yīng)于檢測群集縮放事件(如群集縮放請(qǐng)求消息)執(zhí)行復(fù)制操作時(shí)與其它群集節(jié)點(diǎn)通信。
[0031]如前文所述,可以由基于網(wǎng)絡(luò)的群集托管服務(wù)實(shí)施在分布式計(jì)算系統(tǒng)中縮放計(jì)算群集的各個(gè)實(shí)施方案。圖3是示出根據(jù)一些實(shí)施方案的示例性基于網(wǎng)絡(luò)的群集托管服務(wù)的方框圖?;诰W(wǎng)絡(luò)的群集托管服務(wù)300可以包括與由基于網(wǎng)絡(luò)的群集托管服務(wù)300托管的各種群集(諸如群集310、320、330和340)通信的基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302。用戶(諸如用戶312、322和332)可以與基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302通信且與群集直接通信。
[0032]基于網(wǎng)絡(luò)的群集托管服務(wù)300可以對(duì)用戶(例如,訂戶)提供可以響應(yīng)于來自用戶的請(qǐng)求創(chuàng)建、配置、管理、縮放和終止的群集計(jì)算資源。例如,在一些實(shí)施方案中,基于網(wǎng)絡(luò)的群集托管服務(wù)300可以對(duì)服務(wù)用戶提供由虛擬計(jì)算節(jié)點(diǎn)組成的群集。這些虛擬計(jì)算節(jié)點(diǎn)可以是由虛擬機(jī)器(諸如硬件虛擬機(jī)器、或被實(shí)施來模擬硬件配置的其它形式的軟件)實(shí)施的節(jié)點(diǎn)。虛擬節(jié)點(diǎn)可以被配置來執(zhí)行相同于在物理硬件上實(shí)施的節(jié)點(diǎn)的任務(wù)、功能和/或服務(wù)。
[0033]在一些實(shí)施方案中,基于網(wǎng)絡(luò)的群集托管服務(wù)300可以根據(jù)使用費(fèi)或根據(jù)訂費(fèi)提供群集托管服務(wù)。由用戶使用的各種群集的歷史可以被存儲(chǔ),且用于計(jì)算使用費(fèi)。在至少一些實(shí)施方案中,這個(gè)使用歷史還可以用于恢復(fù)或再生用戶先前使用的群集。
[0034]可以由大計(jì)算裝置集合(諸如定制或現(xiàn)成計(jì)算系統(tǒng)、服務(wù)器)或計(jì)算系統(tǒng)或裝置的任何其它組合(諸如下文參考圖7所描述的各種類型的裝置)實(shí)施基于網(wǎng)絡(luò)的群集托管服務(wù)300。可以由不同基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302控制這些計(jì)算裝置的不同子集?;诰W(wǎng)絡(luò)的群集托管服務(wù)管理器302例如可以對(duì)用戶(諸如用戶312、322和332)或任何其它用戶提供群集控制接口,其希望與由基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302管理的群集交互,在這個(gè)示例性示出中所述群集是群集310、320、330和340。例如,基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302可以對(duì)于用戶生成一個(gè)或多個(gè)圖形用戶接口(GUI),所述用戶接著可以利用其以對(duì)于在基于群集的托管服務(wù)300上托管的群集選擇由所述控制接口提供的各種控制功能。
[0035]在一些實(shí)施方案中,基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302可以被配置來實(shí)施下文參考圖5所論述的縮放計(jì)算群集的方法。因此,在一些實(shí)施方案中,基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302可以檢測群集縮放事件?;诰W(wǎng)絡(luò)的群集托管服務(wù)管理器302可以被配置來輪詢或查詢不同群集以檢測這個(gè)事件。在一些實(shí)施方案中,標(biāo)頭節(jié)點(diǎn)(諸如圖3中所示的標(biāo)頭節(jié)點(diǎn))可以對(duì)包括性能數(shù)據(jù)和/或其它度量的狀態(tài)更新或消息作出響應(yīng)或?qū)⑵涮峁┑交诰W(wǎng)絡(luò)的群集托管服務(wù)300。相似地,如果基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302已開始將群集數(shù)據(jù)復(fù)制為縮放當(dāng)前群集的部分,那么基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302可以輪詢當(dāng)前群集或新群集或兩者,以確定復(fù)制操作的狀態(tài)。在一些實(shí)施方案中,在基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302檢測到復(fù)制操作已完成之后,基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302可以將網(wǎng)絡(luò)端點(diǎn)從當(dāng)前群集移動(dòng)到新群集。
[0036]在一些實(shí)施方案中,基于網(wǎng)絡(luò)的群集托管服務(wù)300可以被配置來托管提供具體計(jì)算服務(wù)的群集。例如,基于網(wǎng)絡(luò)的群集托管服務(wù)300可以實(shí)施為允許用戶在云端計(jì)算環(huán)境中設(shè)置、操作和縮放數(shù)據(jù)倉庫的網(wǎng)絡(luò)服務(wù)的部分。由網(wǎng)絡(luò)服務(wù)托管的計(jì)算群集可以提供企業(yè)級(jí)數(shù)據(jù)庫查詢和管理系統(tǒng),其允許用戶諸如通過將群集縮放請(qǐng)求發(fā)送到由網(wǎng)絡(luò)服務(wù)實(shí)施的群集控制接口縮放群集??s放群集可以允許網(wǎng)絡(luò)服務(wù)的用戶更有效地執(zhí)行其數(shù)據(jù)倉庫功能,諸如快速查詢結(jié)構(gòu)化數(shù)據(jù)的能力;集成各種數(shù)據(jù)加載和ETL(提取、變換和加載)工具;客戶端與一流商業(yè)智能(BI)報(bào)告、數(shù)據(jù)挖掘和分析工具的連接;和最優(yōu)化極快的復(fù)雜分析查詢執(zhí)行,諸如包括多表聯(lián)接、子查詢和聚合。圖4是示出根據(jù)一些實(shí)施方案的數(shù)據(jù)倉儲(chǔ)群集的實(shí)例的方框圖。
[0037]數(shù)據(jù)倉儲(chǔ)群集400實(shí)施為基于網(wǎng)絡(luò)的數(shù)據(jù)倉儲(chǔ)服務(wù)的部分且包括標(biāo)頭節(jié)點(diǎn)420和多個(gè)數(shù)據(jù)計(jì)算節(jié)點(diǎn),諸如數(shù)據(jù)計(jì)算節(jié)點(diǎn)430、440和450。標(biāo)頭節(jié)點(diǎn)420可以管理與用戶(諸如用戶312、322和332)的通信以及與被指示來對(duì)存儲(chǔ)在數(shù)據(jù)倉儲(chǔ)群集400中的數(shù)據(jù)實(shí)行數(shù)據(jù)庫操作的計(jì)算節(jié)點(diǎn)的通信,諸如解析和發(fā)展執(zhí)行計(jì)劃以實(shí)行數(shù)據(jù)庫操作(例如,獲得復(fù)雜查詢和聯(lián)接的結(jié)果必需的一系列步驟)且接著諸如以代碼或其它指令格式將所述步驟傳達(dá)到數(shù)據(jù)計(jì)算節(jié)點(diǎn)430、440和450以實(shí)行執(zhí)行數(shù)據(jù)庫中間操作所需的步驟。標(biāo)頭節(jié)點(diǎn)420可以從數(shù)據(jù)計(jì)算節(jié)點(diǎn)430、440和450接收結(jié)果??梢杂蓸?biāo)頭節(jié)點(diǎn)420管理和存儲(chǔ)群集數(shù)據(jù)(諸如存儲(chǔ)在群集中的數(shù)據(jù)表)的數(shù)據(jù)庫模式和/或其它元數(shù)據(jù)信息。
[0038]數(shù)據(jù)倉儲(chǔ)群集400還可以包括數(shù)據(jù)計(jì)算節(jié)點(diǎn),諸如數(shù)據(jù)計(jì)算節(jié)點(diǎn)430、440和450。數(shù)據(jù)計(jì)算節(jié)點(diǎn)可以基于從標(biāo)頭節(jié)點(diǎn)420發(fā)送到數(shù)據(jù)庫計(jì)算節(jié)點(diǎn)430、440和450的指令執(zhí)行數(shù)據(jù)庫操作處理,諸如查詢。所述指令可以例如是從可由其被發(fā)送到的特定數(shù)據(jù)計(jì)算節(jié)點(diǎn)執(zhí)行的執(zhí)行計(jì)劃段和步驟編譯的代碼。數(shù)據(jù)計(jì)算節(jié)點(diǎn)可以將中間查詢結(jié)果發(fā)送回到標(biāo)頭節(jié)點(diǎn)以用于最終聚合。每個(gè)數(shù)據(jù)計(jì)算節(jié)點(diǎn)可以被配置來訪問某個(gè)存儲(chǔ)器,諸如圖4中所示的存儲(chǔ)器。數(shù)據(jù)計(jì)算節(jié)點(diǎn)430例如可以訪問磁盤431、432直到磁盤438為止。
[0039]數(shù)據(jù)(諸如圖4中所示的磁盤)可以實(shí)施為適于存儲(chǔ)可供數(shù)據(jù)計(jì)算節(jié)點(diǎn)訪問的群集數(shù)據(jù)的任何類型的存儲(chǔ)裝置和/或存儲(chǔ)系統(tǒng)中的一個(gè)或多個(gè),包括但不限于:廉價(jià)磁盤冗馀陣列(RAID)裝置、磁盤驅(qū)動(dòng)器或磁盤驅(qū)動(dòng)器陣列(諸如集束磁盤)(JBOD)(用于指代未根據(jù)RAID配置的磁盤)、光學(xué)存儲(chǔ)裝置、磁帶驅(qū)動(dòng)器、RAM磁盤、存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN)、網(wǎng)絡(luò)訪問存儲(chǔ)裝置(NAS)、或其組合??梢詫?duì)存儲(chǔ)裝置上的數(shù)據(jù)倉儲(chǔ)服務(wù)實(shí)施不同數(shù)據(jù)存儲(chǔ)模式,諸如面向列方案、面向行方案或相關(guān)方案。
[0040]標(biāo)頭節(jié)點(diǎn)420和各種數(shù)據(jù)計(jì)算節(jié)點(diǎn)430、440和450可以經(jīng)由互連件460通信?;ミB件460可以提供相似于上文所論述的通信機(jī)構(gòu),諸如使用各種不同消息傳遞或數(shù)據(jù)格式和協(xié)議(例如,定制UDP協(xié)議)的不同類型的網(wǎng)絡(luò)(例如,私人網(wǎng)絡(luò))。
[0041]盡管圖4已在數(shù)據(jù)倉儲(chǔ)群集的背景下進(jìn)行描述和示出,但圖4中所示和所描述的各種組件可以容易應(yīng)用于其它計(jì)算群集,無論是專用于執(zhí)行具體功能還是專用于提供更一般和/或多樣化的計(jì)算服務(wù)。因而,圖4并非意在限于數(shù)據(jù)倉儲(chǔ)群集,或限制數(shù)據(jù)倉庫群集的描述。相似地,出于示出目的,圖2和3被提供為操作環(huán)境計(jì)算群集和在分布式系統(tǒng)中實(shí)施縮放計(jì)算群集的基于網(wǎng)絡(luò)的群集托管服務(wù)的實(shí)例。還預(yù)想這些系統(tǒng)的諸多不同替代配置,且因此,圖2和3并非意在限于在分布式系統(tǒng)中縮放計(jì)算群集的其它可行配置或?qū)嵤┓绞健?br>_2] 縮放計(jì)算群集的工作流程
[0043]如上文所論述,計(jì)算群集可以包括可以被配置來執(zhí)行各種計(jì)算任務(wù)和服務(wù)(諸如數(shù)據(jù)倉儲(chǔ))的一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)。為更有效地執(zhí)行這些任務(wù)和服務(wù),計(jì)算群集可以被縮放來有效地分配計(jì)算資源。圖5是示出根據(jù)一些實(shí)施方案的用于縮放計(jì)算群集的方法的高級(jí)流程圖。各種不同系統(tǒng)和裝置可以實(shí)施下文