999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

云海大數(shù)據(jù)一體機體系結(jié)構(gòu)和關(guān)鍵技術(shù)

2016-07-31 23:32:06亓開元辛國茂劉正偉顏秉珩
計算機研究與發(fā)展 2016年2期

張 東 亓開元 吳 楠 辛國茂 劉正偉 顏秉珩 郭 鋒

(高效能服務(wù)器和存儲技術(shù)國家重點實驗室 濟南 250101)(浪潮電子信息產(chǎn)業(yè)股份有限公司 濟南 250101)(qiky@inspur.com)

云海大數(shù)據(jù)一體機體系結(jié)構(gòu)和關(guān)鍵技術(shù)

張 東 亓開元 吳 楠 辛國茂 劉正偉 顏秉珩 郭 鋒

(高效能服務(wù)器和存儲技術(shù)國家重點實驗室 濟南 250101)
(浪潮電子信息產(chǎn)業(yè)股份有限公司 濟南 250101)(qiky@inspur.com)

為了彌補從大數(shù)據(jù)技術(shù)到行業(yè)應(yīng)用之間的鴻溝,針對當(dāng)前行業(yè)用戶對大數(shù)據(jù)處理平臺的持續(xù)擴展、一體化和多樣性需求,提出了大數(shù)據(jù)一體機的可擴展性、可定制性和多類型處理模型,并基于此設(shè)計了云海大數(shù)據(jù)一體機.該一體機采用兼顧橫向和縱向可擴展的體系結(jié)構(gòu),并采用硬件可定制化設(shè)計和混合型軟件架構(gòu)支持多種大數(shù)據(jù)應(yīng)用類型.在此基礎(chǔ)上,針對HDFS元數(shù)據(jù)服務(wù)瓶頸問題、MapReduce負(fù)載傾斜問題、HBase的跨域問題,介紹了在云海大數(shù)據(jù)一體機中采用的多元數(shù)據(jù)服務(wù)、負(fù)載均衡和跨數(shù)據(jù)中心大表技術(shù).在電信、金融和環(huán)保行業(yè)實際案例中的應(yīng)用和測試表明,上述體系結(jié)構(gòu)和關(guān)鍵技術(shù)是可行和有效的.

隨著信息時代云計算、物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)等技術(shù)的快速發(fā)展,數(shù)據(jù)已經(jīng)滲透到每一個行業(yè)領(lǐng)域,成為重要的生產(chǎn)因素,而數(shù)據(jù)的海量累積逐漸被公認(rèn)為是與水、石油、天然氣同等重要的國家戰(zhàn)略資源,將推動生產(chǎn)力發(fā)展和創(chuàng)新[1].IDC(International Data Corporation)預(yù)測[2],2020年以前全球數(shù)據(jù)量將保持每年40%以上的速度增長,2015年將達到7.9ZB,2020年將突破35ZB.迅速積累的大數(shù)據(jù)對行業(yè)用戶來說蘊含著巨大的商業(yè)價值和社會價值,通過挖掘大數(shù)據(jù),公司的決策會建立在更加科學(xué)的依據(jù)基礎(chǔ)上,而對于政府,大數(shù)據(jù)技術(shù)可以提高運行效率、危機應(yīng)對能力和公共服務(wù)水平.

大數(shù)據(jù)雖然極具價值,但由于類型復(fù)雜、規(guī)模巨大,不論傳統(tǒng)的數(shù)據(jù)倉庫還是新興的分布式處理方法都有特定的短板,不可能滿足所有的需求,因此,要真正釋放大數(shù)據(jù)的能量,推動大數(shù)據(jù)應(yīng)用并非易事,主要面臨著以下問題和挑戰(zhàn):

1)基礎(chǔ)設(shè)施的持續(xù)擴展問題.IDC的數(shù)據(jù)顯示,數(shù)據(jù)總量每2年至少增長1倍,但是硬件基礎(chǔ)設(shè)施由于摩爾定律失效很難進行無限制擴展.即使是新興分布式技術(shù)的擴展性有了重大的提高,也仍存在擴展上限,如Oracle RAC最大支持100個節(jié)點,Hadoop集群支持4 000個節(jié)點,并且其設(shè)計初衷是建立在大量廉價、低端服務(wù)器上的,在充分橫向擴展架構(gòu)的同時還需要縱向擴展才能進一步提升整體性能[3].與此同時,基礎(chǔ)設(shè)施規(guī)模不斷增大也會帶來其他的問題,首先是系統(tǒng)的可用性,大規(guī)模分布系統(tǒng)中節(jié)點故障成為常態(tài),不能因此影響業(yè)務(wù)應(yīng)用的持續(xù)性.另外,隨著系統(tǒng)規(guī)模的擴展,數(shù)據(jù)傳輸量快速增長,網(wǎng)絡(luò)瓶頸也會制約系統(tǒng)性能的提升,限制系統(tǒng)的可擴展性.

2)數(shù)據(jù)處理的個性化、多樣性和一體化需求問題.大數(shù)據(jù)催生了多種數(shù)據(jù)類型,無論是結(jié)構(gòu)化、半結(jié)構(gòu)化還是非結(jié)構(gòu)化的數(shù)據(jù),從采集到挖掘都需要精細(xì)劃分,形成準(zhǔn)結(jié)構(gòu)化數(shù)據(jù),并在此基礎(chǔ)上進行關(guān)聯(lián)性分析,最后呈現(xiàn)處理后的結(jié)果.在上述過程中,每一個環(huán)節(jié)對于數(shù)據(jù)、軟件和硬件的要求是不一樣的,用單一的軟硬件無法滿足所有類型應(yīng)用.更為重要的是,作為大數(shù)據(jù)應(yīng)用主體的行業(yè)用戶并非都是IT專家,不可能獨立實現(xiàn)上述過程以及大數(shù)據(jù)相關(guān)技術(shù)方案的整合部署、應(yīng)用移植和二次開發(fā),因此就需要一個涵蓋數(shù)據(jù)采集、歸類、挖掘、呈現(xiàn)、部署和移植的一體化解決方案.總之,多類型、多維度數(shù)據(jù)處理環(huán)節(jié)的復(fù)雜性決定了無法依靠單一類型的設(shè)備完美處理,為不同的應(yīng)用類型和處理階段提供針對性的軟硬件一體化方案也是大數(shù)據(jù)應(yīng)用面臨的挑戰(zhàn).

針對上述挑戰(zhàn),國內(nèi)外紛紛推出了針對大數(shù)據(jù)處理的解決方案或者產(chǎn)品來滿足需求,其中備受關(guān)注的當(dāng)屬軟硬件一體化設(shè)備——大數(shù)據(jù)一體機(big data appliance).大數(shù)據(jù)一體機是一種專為大量數(shù)據(jù)分析處理而設(shè)計的軟、硬件結(jié)合產(chǎn)品,由服務(wù)器、網(wǎng)絡(luò)、存儲、操作系統(tǒng)、數(shù)據(jù)管理系統(tǒng)以及一些為數(shù)據(jù)查詢、處理、分析用途而特別預(yù)先安裝及優(yōu)化的軟件組成,為TB至PB級別的數(shù)據(jù)倉庫提供解決方案.大數(shù)據(jù)一體機通過標(biāo)準(zhǔn)化的集成架構(gòu)減化數(shù)據(jù)中心基礎(chǔ)設(shè)施部署和運維管理的復(fù)雜性,通過預(yù)配置和調(diào)優(yōu)解決多重工作負(fù)載性能問題,其中比較有代表性的是IBM PureData,Oracle Exadata,SAP HANA,EMC Greenplum等.IDC在其對亞太區(qū)ICT市場的十大預(yù)測中指出,到2015年,65%的私有云或行業(yè)云環(huán)境將部署一體機[4].

為打破國外廠商的技術(shù)壟斷,我們設(shè)計并研發(fā)了云海大數(shù)據(jù)一體機(in-cloud smart data appliance,iSDA).本文首先介紹了iSDA體系結(jié)構(gòu)的理論基礎(chǔ),提出了可擴展性、可定制性和多樣性處理模型,依照上述原理設(shè)計的iSDA兼顧橫向和縱向擴展能力,并可通過定制化和混合型軟件架構(gòu)支持多種大數(shù)據(jù)處理應(yīng)用類型.在此基礎(chǔ)上,針對HDFS元數(shù)據(jù)服務(wù)瓶頸、MapReduce負(fù)載傾斜、HBase跨域擴展等問題,介紹了iSDA采用的多元數(shù)據(jù)服務(wù)、負(fù)載均衡和跨數(shù)據(jù)中心大表技術(shù).最后,通過在多個行業(yè)中的實際案例進一步驗證iSDA體系結(jié)構(gòu)和關(guān)鍵技術(shù)的有效性.

1 體系結(jié)構(gòu)

總體來說,國外廠商在大數(shù)據(jù)一體機領(lǐng)域還處于領(lǐng)先地位,對部分產(chǎn)品和技術(shù)形成了壟斷.然而,國外廠商的大數(shù)據(jù)一體機大都屬于基于已有關(guān)系數(shù)據(jù)庫(如Oracle,SQLServer,Greenplum等)進行擴展的并行數(shù)據(jù)庫,雖然理論上支持上千節(jié)點的部署規(guī)模,但國內(nèi)外僅有少量上百節(jié)點的部署案例,并且還無法實現(xiàn)真正的在線擴展;此外,國外一體機大都捆綁眾多軟硬件產(chǎn)品,價格高昂,并且從國家信息安全角度,若過分依賴國外產(chǎn)品,存在風(fēng)險和隱患.

在國外競爭對手通過一體機發(fā)力大數(shù)據(jù)領(lǐng)域的同時,國內(nèi)廠商也在加大對大數(shù)據(jù)一體機的研發(fā)步伐.與國外廠商相比,國內(nèi)大數(shù)據(jù)一體機大都基于開源Hadoop軟件以及通用操作系統(tǒng)、計算和存儲服務(wù)器搭建而成,缺乏真正意義上自頂而下、由內(nèi)而外、軟硬結(jié)合的一體化設(shè)計,特別是保留著開源軟件易有的弊端.例如,缺乏圖形化管理工具,為部署與管理帶來不便;缺乏負(fù)載均衡、任務(wù)調(diào)度等算法優(yōu)化,容易在低性能或熱點服務(wù)器上產(chǎn)生性能瓶頸;元數(shù)據(jù)節(jié)點易形成單點故障和系統(tǒng)瓶頸,一旦失效系統(tǒng)將無法讀寫;無法進行跨數(shù)據(jù)中心部署等.

相比較之下,iSDA采用兼顧scale-up和scaleout的體系架構(gòu),既可通過橫向增加節(jié)點進行線性擴展,也可通過縱向擴展硬件得到提升,在達到4 000個重載節(jié)點情況下,也還能夠?qū)崿F(xiàn)相對較好的擴展性;采用一體化、定制化設(shè)計,行業(yè)用戶可以根據(jù)各自應(yīng)用特點選擇不同的系列化配置,實現(xiàn)按需定制.此外,iSDA基于硬件平臺構(gòu)建面向行業(yè)多樣性應(yīng)用的混合型大數(shù)據(jù)軟件系統(tǒng),滿足實時處理、交互處理、高效檢索、數(shù)據(jù)挖掘和商業(yè)智能等多樣性需求,在實現(xiàn)資源調(diào)度和作業(yè)管理分離的基礎(chǔ)上,提供對計算、存儲和網(wǎng)絡(luò)等集群資源的統(tǒng)一監(jiān)控和分配,提供對各類大數(shù)據(jù)處理技術(shù)的可擴展支持,并解決當(dāng)前單一數(shù)據(jù)處理系統(tǒng)普遍存在的單點失效和安裝部署困難等問題,增強系統(tǒng)可靠性和自動化部署能力,在提高資源利用率的同時促進對大數(shù)據(jù)技術(shù)的有效利用.

下面主要介紹iSDA在可擴展性、可定制性和應(yīng)用多樣性方面的設(shè)計原理和關(guān)鍵技術(shù).

1.1 可擴展性設(shè)計

面向大數(shù)據(jù)的處理需要突破存儲和計算能力限制,為了支撐大規(guī)模數(shù)據(jù)的存儲和計算,當(dāng)前往往采用多核服務(wù)器集群并行計算架構(gòu),以及Cache、內(nèi)存、輔存和分布式存儲的多層存儲結(jié)構(gòu).隨著內(nèi)存價格的不斷下降、服務(wù)器可配置內(nèi)存容量的不斷提高以及固態(tài)硬盤(solid state disk,SSD)技術(shù)的發(fā)展,基于內(nèi)存計算架構(gòu)完成高速的大數(shù)據(jù)處理成為重要發(fā)展趨勢[5].

Gustafson定律[6]給出了固定時間內(nèi)的集群加速比,但其性能模型過于理想,沒有考慮網(wǎng)絡(luò)I?O開銷和單個節(jié)點的性能影響.Gustafson定律將任務(wù)劃分為串行和并行部分,在考慮網(wǎng)絡(luò)的情況下,可以將任務(wù)的網(wǎng)絡(luò)傳輸部分視為影響可擴展性提高的因素.即若任務(wù)串行部分為α,網(wǎng)絡(luò)傳輸部分為β,隨著節(jié)點增加,為保持連通性,集群拓?fù)浣Y(jié)構(gòu)復(fù)雜性為

網(wǎng)絡(luò)傳輸部分對集群的影響為τβ.

根據(jù)上述分析,基于Gustafson定律,iSDA集群的可擴展性模型可定義如下.

定義1.iSDA可擴展性模型.若任務(wù)串行部分為α,網(wǎng)絡(luò)傳輸部分為β,單個節(jié)點的性能提升因子為s,則n節(jié)點集群的加速比為

對式(1)求導(dǎo)取極值點n′,可得

上述模型表明,單個節(jié)點處理能力的提升是促使整個集群處理能力提升、保障集群可伸縮性的基礎(chǔ).因此,在iSDA中采用了如下技術(shù)進行節(jié)點加速:

1)適用于大數(shù)據(jù)處理的重載計算單元.針對訪問請求密集、數(shù)據(jù)量大且耦合度高、具有特定算法的計算密集類應(yīng)用,在通用處理器同構(gòu)多核架構(gòu)基礎(chǔ)上設(shè)計了基于異構(gòu)協(xié)同計算架構(gòu)的重載計算單元,通過CPU與眾核處理器(many integrated core,MIC)融合、圖形處理器(graphic processing unit,GPU)局部強化和現(xiàn)場可編程門陣列(field programmable gate array,F(xiàn)PGA)硬件加速,實現(xiàn)10~100倍的加速比.

2)適用于大數(shù)據(jù)處理的存儲單元.充分發(fā)揮新型存儲介質(zhì)的作用,構(gòu)建基于非易失性存儲(nonvolatile memory,NVM)和傳統(tǒng)動態(tài)隨機存取存儲(dynamic random access memory,DRAM)的高可靠、大容量、低功耗異構(gòu)混合內(nèi)存,在整個存儲層次里面增加SSD作為高速緩存,并針對每個存儲單元的多塊磁盤實現(xiàn)負(fù)載均衡、冗余編碼多副本和分布共享緩存,提高了I?O吞吐量.

3)大數(shù)據(jù)互聯(lián)交換芯片和全局交換網(wǎng)絡(luò).在互連核心交換芯片中,實現(xiàn)了對系統(tǒng)級消息通信、數(shù)據(jù)交換以及I?O操作的統(tǒng)一支持,降低內(nèi)部延遲;設(shè)計全局高速交換網(wǎng)絡(luò),融合數(shù)據(jù)通信與存儲網(wǎng)絡(luò),提高了系統(tǒng)通信性能和擴展能力.

此外,iSDA可擴展性模型還表明,若集群規(guī)模在網(wǎng)絡(luò)帶寬范圍之內(nèi),加速比由串行部分和可擴展的并行部分確定;若集群規(guī)模持續(xù)增大,網(wǎng)絡(luò)帶寬將會成為制約集群可擴展性的瓶頸,增加節(jié)點不會促進加速比提升.由于iSDA采用了完全分布式的處理架構(gòu),任務(wù)串行部分可近似為0,例如,采用NoSQL數(shù)據(jù)模型的HBase數(shù)據(jù)庫避免了由于維護ACID和事務(wù)特性而引入的同步處理.由式(2)可知,若無任務(wù)串行部分,即α=0,則集群可伸縮性由網(wǎng)絡(luò)傳輸部分決定,有

根據(jù)上述原理,iSDA中采用了以下優(yōu)化設(shè)計:

1)高速通信網(wǎng)絡(luò).基于TCP?IP協(xié)議,iSDA可配置高帶寬的萬兆以太網(wǎng)乃至40Gbps的InfiniBand網(wǎng)絡(luò),實現(xiàn)一體機內(nèi)部的高速互聯(lián).然而,由于TCP?IP屬于傳輸層協(xié)議,其內(nèi)部的慢啟動、擁塞避免等機制造成帶寬利用率不高,即便是采用萬兆網(wǎng)也無法有效應(yīng)對TB以上級數(shù)據(jù)傳輸,I?O瓶頸嚴(yán)重影響了系統(tǒng)整體性能.iSDA進一步基于PCIe通道構(gòu)建互聯(lián)網(wǎng)絡(luò),使得節(jié)點可以通過擴展卡連接到PCIe網(wǎng)絡(luò)上,雙向16通道帶寬能夠達到256Gbps.

2)減少數(shù)據(jù)傳輸量.由于采用了分布式并行處理架構(gòu),網(wǎng)絡(luò)傳輸開銷隨集群規(guī)模增加而增大.若某任務(wù)節(jié)點間的網(wǎng)絡(luò)傳輸為10Mbps,由式(3)可知,配置千兆網(wǎng)絡(luò)集群規(guī)模無法超過100節(jié)點.為減少數(shù)據(jù)傳輸,iSDA在軟件棧中全面支持GZIP,LZO,Snappy等壓縮方式,并通過對數(shù)據(jù)分區(qū)、分桶以及Map-only Combine、Map Join等方法盡量減少數(shù)據(jù)傳輸.此外,iSDA內(nèi)部的網(wǎng)絡(luò)通信主要來自主節(jié)點和從節(jié)點間的狀態(tài)同步,為了減少大量的狀態(tài)數(shù)據(jù)傳輸量,采用狀態(tài)緩存算法[7]減少不必要的網(wǎng)絡(luò)開銷,即DataNode使用SHA-256或SHA-512Hash函數(shù)記錄當(dāng)前節(jié)點狀態(tài),之后在只有在狀態(tài)Hash值不同的情況下才發(fā)送完整節(jié)點狀態(tài),否則只發(fā)送心跳信息.通過上述優(yōu)化,在達到10%的壓縮率以及配置萬兆網(wǎng)絡(luò)的情況下,由式(3)可知,集群規(guī)模能夠提高100倍.

1.2 可定制性設(shè)計

針對當(dāng)前涌現(xiàn)出的多種多樣的大數(shù)據(jù)處理需求,傳統(tǒng)的方法是采用通用服務(wù)器來構(gòu)建應(yīng)用平臺,由于與應(yīng)用之間的匹配度不好,導(dǎo)致實際應(yīng)用效能比較低.iSDA根據(jù)不同業(yè)務(wù)類型,結(jié)合各種應(yīng)用負(fù)載特點,設(shè)計可定制的系列化配置來分別滿足應(yīng)用需求.下面給出iSDA可定制性的理論模型及其系列化設(shè)計.

定義2.iSDA可定制性模型.若節(jié)點j內(nèi)存容量為mj,外存空間為pj,命中率提升因子σ,則中間結(jié)果內(nèi)存命中率為

非命中率為η-=1-η,若節(jié)點在中間結(jié)果內(nèi)存命中的情況下處理速度為μ,非命中情況下處理速度阻尼因子為λ,則處理速度的數(shù)學(xué)期望為

上述模型表明,可以根據(jù)CPU速度、內(nèi)存容量和I?O帶寬刻畫節(jié)點的處理能力,通過定制進一步優(yōu)化單個節(jié)點的處理能力,在式(4)中可以通過μ,λ和σ等參數(shù)體現(xiàn)出來.根據(jù)上述原理,iSDA的系列化配置[8]及其性能對比如表1和表2所示:

Table 1 iSDA Series Configuration表1 iSDA系列化配置

Table 2 iSDA Performance Comparison表2 iSDA性能對比

針對在線交易、視頻處理、圖像渲染、圖像編解碼、在線加解密、高性能計算等重載應(yīng)用,采用CPU與GPU,MIC混合的異構(gòu)協(xié)同計算架構(gòu),使用FPGA將算法固化在硬件中,并在存儲層次里加大SSD緩存進行數(shù)據(jù)讀寫加速.

針對模式計算、商業(yè)智能和數(shù)據(jù)挖掘等通用類型處理應(yīng)用,基于通用處理器設(shè)計計算、I?O、存儲能力均衡的機架式和刀片式服務(wù)器來滿足常規(guī)處理類應(yīng)用的需求,如分布式文件系統(tǒng)HDFS和分布式數(shù)據(jù)處理MapReduce等.

針對企業(yè)搜索、流式處理等海量并發(fā)的輕量級應(yīng)用,雖然并發(fā)訪問量可達每秒數(shù)十萬次,但每個請求所需的計算資源較小,因此,基于多核多線程低功耗處理器,采用最小化和并發(fā)線程優(yōu)化方法設(shè)計輕量級計算模塊,再配以大容量內(nèi)存滿足NoSQL數(shù)據(jù)庫、流處理引擎需求.例如,在2U的空間里集成128個CPU核心,具有512個并發(fā)線程的處理能力,而總體功耗小于2kW.

綜合可擴展性和可定制性設(shè)計,iSDA硬件架構(gòu)如圖1所示:

Fig.1 iSDA hardware architecture.圖1 iSDA硬件架構(gòu)

1.3 混合多樣性設(shè)計

針對行業(yè)大數(shù)據(jù)業(yè)務(wù)需求,面向數(shù)據(jù)密集型應(yīng)用的計算框架和系統(tǒng)不斷出現(xiàn),如MapReduce編程模型[9]、NoSQL高并發(fā)實時數(shù)據(jù)庫[10]、內(nèi)存計算引擎[11]和流式處理框架[12]等.這些系統(tǒng)僅針對各自的問題域提供解決方案,為了應(yīng)對行業(yè)日益復(fù)雜的業(yè)務(wù)需求,需要在大規(guī)模集群或數(shù)據(jù)中心中綜合運用多種處理架構(gòu)來存儲和處理海量數(shù)據(jù).然而,當(dāng)前的各種大數(shù)據(jù)系統(tǒng)是邏輯獨立的,缺乏統(tǒng)一的集中管理,若各自采用單獨集群部署,則存在不可忽略的數(shù)據(jù)冗余和資源利用率低下問題;若考慮到資源利用率和數(shù)據(jù)共享等因素,將所有框架和系統(tǒng)集中部署到單一集群中,則又面臨著相互之間資源競爭和性能干擾等問題.

為滿足行業(yè)應(yīng)用對大數(shù)據(jù)的多源異構(gòu)存儲和多樣性處理需求,iSDA采用了一種混合型大數(shù)據(jù)軟件架構(gòu).該架構(gòu)在融合各種分布式存儲和處理技術(shù)的基礎(chǔ)上,通過構(gòu)建對于大規(guī)模、多層次異構(gòu)存儲的一致性數(shù)據(jù)組織和透明管理機制,進一步借助內(nèi)存數(shù)據(jù)庫和內(nèi)存計算引擎優(yōu)化大數(shù)據(jù)處理性能,并通過一體化的管理平臺保障系統(tǒng)的可擴展性和可靠性.

iSDA混合型軟件棧包括分布式數(shù)據(jù)采集層、基于內(nèi)存計算的混合型分布式存儲層和處理層、一體化的資源和系統(tǒng)管理層,如圖2所示:

Fig.2 iSDA hybrid software stack.圖2 iSDA混合型軟件棧

1)分布式數(shù)據(jù)采集層以流水化、并行方式抽取、轉(zhuǎn)換和載入數(shù)據(jù),實現(xiàn)對多源異構(gòu)行業(yè)數(shù)據(jù)的高速導(dǎo)入.支持文本、XML、傳輸協(xié)議、數(shù)據(jù)庫、文件系統(tǒng)等多種數(shù)據(jù)源,以及異步Push和輪詢Polling等靈活的工作模式,可按需定義清洗、編碼、分發(fā)和轉(zhuǎn)換等預(yù)處理操作,同時可動態(tài)擴展以提高吞吐量,并且可根據(jù)性能需求配置可靠性級別.

2)大數(shù)據(jù)存儲層采用分布式外部存儲、結(jié)構(gòu)化?半結(jié)構(gòu)化數(shù)據(jù)庫、分布式內(nèi)存3層存儲架構(gòu),包括分布式文件系統(tǒng)以及基于分布式文件系統(tǒng)的關(guān)系數(shù)據(jù)庫、NoSQL數(shù)據(jù)庫和內(nèi)存數(shù)據(jù)庫.分布式文件系統(tǒng)可以直接存儲客戶服務(wù)系統(tǒng)或社會經(jīng)濟數(shù)據(jù)中的文本、視頻和音頻文件,并能夠為上層數(shù)據(jù)庫提供高可靠、可擴展的文件存儲;關(guān)系數(shù)據(jù)庫用來存儲生產(chǎn)管理、客戶關(guān)系、營銷這類結(jié)構(gòu)化特征強、模型驅(qū)動的、需要強一致性事務(wù)保證的數(shù)據(jù);NoSQL數(shù)據(jù)庫用來存儲歷史日志數(shù)據(jù)、氣象信息、社會經(jīng)濟數(shù)據(jù)這類半結(jié)構(gòu)化或者結(jié)構(gòu)化特征較弱、主要考慮存取性能和可擴展性的數(shù)據(jù);內(nèi)存數(shù)據(jù)庫則存儲各種經(jīng)常使用或需要加速處理的數(shù)據(jù),如索引、中間結(jié)果、維表數(shù)據(jù)等.

3)大數(shù)據(jù)處理層采用基于分布式內(nèi)存計算的混合型處理架構(gòu),包括內(nèi)存計算引擎以及基于內(nèi)存計算的批處理、圖計算、交互處理和流處理引擎.內(nèi)存計算引擎提供對異構(gòu)存儲介質(zhì)的分布式內(nèi)存抽象,實現(xiàn)緩存數(shù)據(jù)、提高I?O性能的效果,并采用并行流水化方式和線程級輕量運行環(huán)境加速數(shù)據(jù)處理性能;批處理引擎面向以離線方式進行的數(shù)據(jù)密集型并行計算,如聚類、關(guān)聯(lián)分析、協(xié)同過濾等數(shù)據(jù)挖掘算法;圖計算面向一類以圖模型作為數(shù)據(jù)表示的特殊離線處理,如網(wǎng)頁排序、用戶行為分析、社會關(guān)系網(wǎng)絡(luò)等;交互處理引擎用來快速響應(yīng)應(yīng)用層的標(biāo)準(zhǔn)SQL請求,如查詢、聚合和關(guān)聯(lián)等;流處理引擎面向連續(xù)、實時到達數(shù)據(jù)的流式處理,如時間窗口查詢統(tǒng)計、清洗轉(zhuǎn)換和異常報警等.此外,高性能計算引擎基于重載類型iSDA配置,使用MPI?OpenMP,CUDA?OpenCL,Verilog?VHDL等特定的編程模型[13],滿足緊耦合的、多次迭代的計算密集型應(yīng)用需求.

4)一體化管理平臺包括集中式Web控制臺和分布式集群資源管理系統(tǒng).控制臺通過提供采集、存儲和處理子系統(tǒng)的安裝、部署和配置功能,計算、存儲和網(wǎng)絡(luò)資源及各子系統(tǒng)運行情況的監(jiān)控功能,以及認(rèn)證、授權(quán)、加密等安全管理功能,增強系統(tǒng)的可管理性和易用性.集群資源管理系統(tǒng)一方面基于資源調(diào)度和任務(wù)控制分離方式,采用統(tǒng)一的資源調(diào)度框架在各子系統(tǒng)間進行資源分配,使子系統(tǒng)只需關(guān)注內(nèi)部任務(wù)的控制和調(diào)度,從而減輕了子系統(tǒng)壓力,提高了整個系統(tǒng)的可擴展性;另一方面通過提供監(jiān)聽、分布式鎖、一致性存儲等分布式服務(wù)監(jiān)控集群節(jié)點增加、失效、退出等動態(tài)變化,記錄關(guān)鍵信息,在任意節(jié)點失效后能夠快速恢復(fù)系統(tǒng)狀態(tài),保證整個系統(tǒng)的可用性.

基于iSDA混合型軟件架構(gòu),可以定義針對行業(yè)大數(shù)據(jù)各種應(yīng)用類型的處理模型.

定義3.iSDA在線實時處理模型.在線實時處理的運行機制和處理過程為:

1)采集系統(tǒng)從政府、證券、銀行等行業(yè)的系統(tǒng)中抽取各種客體行為數(shù)據(jù)、交易記錄、實時事件等結(jié)構(gòu)化數(shù)據(jù),這類數(shù)據(jù)來源多、生成速度快,數(shù)據(jù)量通常在TB級.

2)數(shù)據(jù)經(jīng)過預(yù)處理后,若屬于結(jié)構(gòu)化特征強的數(shù)據(jù),則批量加載進入關(guān)系數(shù)據(jù)庫;若屬于歷史日志數(shù)據(jù)、事件記錄、社會經(jīng)濟數(shù)據(jù)這類結(jié)構(gòu)化特征較弱、主要考慮存取性能和可擴展性的數(shù)據(jù),則批量加載入NoSQL數(shù)據(jù)庫.

3)在后臺進一步對數(shù)據(jù)進行準(zhǔn)備,形成數(shù)據(jù)索引、過濾器、維表、中間結(jié)果等經(jīng)常使用或可以加速處理的數(shù)據(jù)導(dǎo)入內(nèi)存數(shù)據(jù)庫.

4)在線實時處理類應(yīng)用主要是關(guān)鍵字查詢、多維查詢、模糊查詢以及數(shù)據(jù)更新、插入、刪除等高并發(fā)增刪改查請求,要求毫秒級至秒級響應(yīng)時間,根據(jù)對事務(wù)特性的需求可分為在線交易處理和在線并發(fā)處理,在線交易對ACID事務(wù)特性有嚴(yán)格限制,需要達到Committed Read,Repeatable Read甚至串行化隔離級別,在線并發(fā)處理只需要簡單的行級鎖或Check and Set語義保障讀寫一致性.

5)應(yīng)用層在發(fā)起數(shù)據(jù)請求時先查看內(nèi)存數(shù)據(jù)庫中是否有索引、過濾器或緩存數(shù)據(jù),若在內(nèi)存數(shù)據(jù)庫得到所有數(shù)據(jù)則返回;若內(nèi)存中未獲得有用數(shù)據(jù)或只獲得部分?jǐn)?shù)據(jù),則在線事務(wù)處理繼續(xù)針對關(guān)系數(shù)據(jù)庫采用標(biāo)準(zhǔn)的SQL語句發(fā)起各種數(shù)據(jù)請求,在線并發(fā)處理繼續(xù)針對NoSQL數(shù)據(jù)采用基于key? value的API發(fā)起數(shù)據(jù)請求.

6)為保障數(shù)據(jù)的可靠性,內(nèi)存數(shù)據(jù)庫將變化的數(shù)據(jù)同步到關(guān)系數(shù)據(jù)庫或NoSQL持久化存儲,同步可根據(jù)可靠性級別選擇采用實時同步、日志同步和定期同步機制.

定義4.iSDA交互式分析模型.在線交互式分析的運行機制和處理過程為:

1)分布式采集系統(tǒng)從交通、公安、醫(yī)療等部門或互聯(lián)網(wǎng)、銀行、零售、制造等企業(yè)的信息系統(tǒng)中抽取各種交易、ERP、CRM等結(jié)構(gòu)化數(shù)據(jù)和客體行為、系統(tǒng)日志等半結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)量通常在TB級.

2)數(shù)據(jù)經(jīng)過預(yù)處理后以行存文件格式批量加載進分布式文件系統(tǒng),或以列式表形式批量加載進NoSQL數(shù)據(jù)庫,必要時可對數(shù)據(jù)進行壓縮以減少存儲空間.

3)進一步對數(shù)據(jù)進行后臺準(zhǔn)備,在交互處理引擎中建立關(guān)系模型到物理層文件或列式存儲的映射,指定行列分隔符、存儲格式和序列化方法,并對數(shù)據(jù)進行分區(qū)、分桶、排序等預(yù)處理,將索引、過濾器、維表、中間結(jié)果等經(jīng)常使用或可以加速處理的數(shù)據(jù)導(dǎo)入內(nèi)存數(shù)據(jù)庫.

4)交互式類應(yīng)用主要包括數(shù)據(jù)掃描、統(tǒng)計、聚合、多表關(guān)聯(lián)等并發(fā)請求,要求秒級至分鐘級響應(yīng)時間,應(yīng)用層采用標(biāo)準(zhǔn)的SQL語句發(fā)起各種數(shù)據(jù)請求,交互處理引擎解析SQL語句,形成優(yōu)化的查詢路徑并調(diào)度執(zhí)行.

5)交互處理引擎在發(fā)起數(shù)據(jù)請求時先查看內(nèi)存數(shù)據(jù)庫中是否有索引、過濾器、維表、中間結(jié)果或其他緩存數(shù)據(jù),若可在內(nèi)存數(shù)據(jù)庫得到所有數(shù)據(jù)完成處理則返回;若內(nèi)存中未獲得有用數(shù)據(jù)或只獲得部分?jǐn)?shù)據(jù),處理引擎繼續(xù)針對分布式文件系統(tǒng)或NoSQL數(shù)據(jù)庫發(fā)起各種數(shù)據(jù)請求.

6)為保障數(shù)據(jù)的可靠性,內(nèi)存數(shù)據(jù)庫將變化的數(shù)據(jù)同步到關(guān)系數(shù)據(jù)庫或NoSQL持久化存儲,同步可根據(jù)可靠性級別選擇采用實時同步、日志同步和定期同步機制.

定義5.iSDA離線批處理模型.離線批處理的運行機制和處理過程為:

1)采集系統(tǒng)從各種數(shù)據(jù)源中抽取系統(tǒng)日志、手機記錄、郵件、短信、微博等半?非結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)量達到TB級至PB級.

2)數(shù)據(jù)經(jīng)過預(yù)處理后以文件形式加載進分布式文件系統(tǒng),必要時可對數(shù)據(jù)進行壓縮以減少存儲空間.

3)離線批處理應(yīng)用主要包括聚類、分類、時間序列回歸、關(guān)聯(lián)分析等數(shù)據(jù)挖掘和機器學(xué)習(xí),以及社會網(wǎng)絡(luò)等圖計算,由于數(shù)據(jù)量巨大,計算邏輯復(fù)雜、迭代次數(shù)多,一般采用后臺離線方式,對響應(yīng)時間沒有具體要求.這類應(yīng)用采用Map,F(xiàn)ilter,Combine,Partition,Reduce,Join等算子進行函數(shù)式編程,以批處理方式提交作業(yè),批處理引擎通過數(shù)據(jù)切分、任務(wù)調(diào)度和內(nèi)部通信完成處理.與普通批處理作業(yè)不同,圖計算則采用基于圖(如頂點、邊、權(quán)值等)及相應(yīng)函數(shù)(權(quán)值變換、頂點通信、圖結(jié)構(gòu)變化等)的編程模型.

4)基于內(nèi)存計算的批處理和圖處理在第1次處理或首次迭代時從分布式文件系統(tǒng)獲得處理數(shù)據(jù),處理完成后將中間結(jié)果緩存在內(nèi)存中,以便下次處理或迭代復(fù)用.

定義6.iSDA流式處理模型.流數(shù)據(jù)處理的運行機制和處理過程為:

1)采集系統(tǒng)從各種數(shù)據(jù)源中實時的采集用戶行為、系統(tǒng)事件等數(shù)據(jù).

2)由于數(shù)據(jù)流的無限性,流式處理主要面向基于時間窗口的查詢、統(tǒng)計和分析,以及異常事件報警和數(shù)據(jù)實時清洗轉(zhuǎn)換等應(yīng)用,流處理應(yīng)用采用由多種算子組成的函數(shù)式編程模型.

3)在運行時,數(shù)據(jù)以持續(xù)、不間斷的數(shù)據(jù)流形式進入處理系統(tǒng),驅(qū)動預(yù)定義的處理邏輯連續(xù)地進行計算,其區(qū)別于批處理之處在于沒有數(shù)據(jù)積攢成批、階段同步、持久化的延遲;流處理系統(tǒng)將處理邏輯定義為由多個算子組成的多階段處理網(wǎng)絡(luò),在數(shù)據(jù)處理的多個階段間采用異步流水線方式,在同一階段內(nèi)采用節(jié)點間和節(jié)點內(nèi)并行方式提高實時處理性能.

4)流處理結(jié)果最終輸出到持久化存儲或直接發(fā)送到應(yīng)用層實時告警或展示頁面.

2 關(guān)鍵技術(shù)

與開源Hadoop方案相比,iSDA增加了管理和監(jiān)控工具,簡化了集群的部署與管理,并進行大量的優(yōu)化和擴展,如增強HDFS擴展性、改進MapReduce調(diào)度算法、優(yōu)化HBase查詢性能以及兼容PL?SQL等.本節(jié)針對HDFS元數(shù)據(jù)服務(wù)瓶頸、MapReduce負(fù)載傾斜、HBase的跨域組織等關(guān)鍵問題,介紹在iSDA中采用的多元數(shù)據(jù)服務(wù)、負(fù)載均衡和跨數(shù)據(jù)中心大表技術(shù).

2.1 HDFS多元數(shù)據(jù)服務(wù)

大數(shù)據(jù)環(huán)境下產(chǎn)生的數(shù)以億計的非結(jié)構(gòu)化數(shù)據(jù)對分布式文件系統(tǒng)的元數(shù)據(jù)服務(wù)器產(chǎn)生了巨大壓力,單個元數(shù)據(jù)服務(wù)器已經(jīng)無法很好地滿足全系統(tǒng)的元數(shù)據(jù)訪問.例如,GFS和HDFS都采用了單元數(shù)據(jù)服務(wù)器的方法,因此文件系統(tǒng)的元數(shù)據(jù)規(guī)模受限于元服務(wù)器的內(nèi)存容量和處理速度.為此,元數(shù)據(jù)的服務(wù)能力也需要進行擴展,通過多元數(shù)據(jù)服務(wù)器的方法可以將系統(tǒng)的元數(shù)據(jù)壓力分布到多臺服務(wù)器上,降低元數(shù)據(jù)的訪問延遲,提高元數(shù)據(jù)請求的服務(wù)速率,達到較好的元數(shù)據(jù)擴展能力.

為在多個服務(wù)器上提供元數(shù)據(jù)服務(wù),最關(guān)鍵的是建立從文件系統(tǒng)命名空間到多個元數(shù)據(jù)服務(wù)器的映射,命名空間的劃分和映射方法要具有自適應(yīng)性和擴展性,即能夠自動適應(yīng)目錄空間的增長,并將目錄空間中的項均衡地分布到所有元數(shù)據(jù)服務(wù)器上.基本思想是使用某種動態(tài)Hash算法將每個目錄劃分成很多分片,再采用某種映射算法將每個目錄分片映射到一臺元數(shù)據(jù)服務(wù)器上,由該元數(shù)據(jù)服務(wù)器來負(fù)責(zé)該目錄分片訪問和存?。鐖D3所示,在文件系統(tǒng)中,建立全局目錄表(global directionary table,GDT)的特殊數(shù)據(jù)結(jié)構(gòu),它是整個全局命名空間中所有目錄組成的一張映射表,將目錄名映射到其元數(shù)據(jù)所在的位置.

在iSDA中,目錄分片到元數(shù)據(jù)服務(wù)器的映射采用2級映射機制:第1級是將目錄分片映射到數(shù)量不可變的多個虛擬元數(shù)據(jù)服務(wù)器上,第2級是將虛擬元數(shù)據(jù)服務(wù)器映射到物理元數(shù)據(jù)服務(wù)器上.如圖4所示,通過第1級映射,根據(jù)文件目錄名唯一確定一個虛擬服務(wù)器;通過第2級映射,可以根據(jù)虛擬服務(wù)器唯一確定一個物理服務(wù)器.這種2級映射有較好的靈活性,使得映射機制可以適應(yīng)物理服務(wù)器節(jié)點數(shù)的動態(tài)變化(失效或加入),并有利用調(diào)節(jié)物理節(jié)點上的負(fù)載以達到負(fù)載均衡.

Fig.3 Global directory mapping.圖3 全局目錄映射

Fig.4 Data structure of immediate results.圖4 中間結(jié)果數(shù)據(jù)結(jié)構(gòu)

在初始時,目錄的所有分片會被映射到一臺物理服務(wù)器上,隨著負(fù)載的增加和目錄規(guī)模的增大,其分片會更加均勻地分布到多個物理服務(wù)器上.同時,為了避免在目錄規(guī)模增大時目錄分裂引入過多的開銷,通過一致性Hash方法使得目錄分裂只局限在同一個節(jié)點上,以避免過多的服務(wù)器之間數(shù)據(jù)傳輸.當(dāng)需要進行負(fù)載均衡時,通過改變第2級映射可以利用空閑的節(jié)點或者新加入的節(jié)點資源.關(guān)于多元數(shù)據(jù)服務(wù)器方法的詳細(xì)介紹可參見前期工作[14].

2.2 Hadoop負(fù)載均衡

在Hadoop的MapReduce任務(wù)中,Map的輸入來自HDFS,是相對靜態(tài)的數(shù)據(jù),每個Map任務(wù)接收到的數(shù)據(jù)是經(jīng)過分片處理的,除最后一個Map任務(wù),每個Map需要處理的數(shù)據(jù)量大致相等,因此,各個Map任務(wù)是均衡的,并且其大小是確定的.而Reduce任務(wù)和Map有所不同,它的輸入是Map階段的輸出,是動態(tài)產(chǎn)生的數(shù)據(jù).為保證相同關(guān)鍵字key的記錄分派到同一個Reduce任務(wù)中處理,Map的輸出數(shù)據(jù)進行分區(qū)Partition操作,每一條記錄按照key值被映射到唯一的Reduce任務(wù)上.由于數(shù)據(jù)是動態(tài)產(chǎn)生的,只有在Map任務(wù)完成之后才能確定數(shù)據(jù)的大小和分布,因此,每個Reduce的任務(wù)量不可確定,數(shù)據(jù)映射到Reduce后也不能更改,從而有可能造成Reduce任務(wù)不均衡.

通過對大量Map任務(wù)輸出的分析統(tǒng)計得出,數(shù)據(jù)不均衡的原因可總結(jié)為2類:

1)中間結(jié)果key分散,但經(jīng)過映射,過多的key聚集在同一個Reduce任務(wù)中;

2)中間結(jié)果key雖然單一,但key對應(yīng)的記錄數(shù)量眾多,一個Reduce要處理一個key的所有記錄.

在iSDA中,為加速key的存取,中間結(jié)果采用Hash B樹存儲,如圖4.其中,MapReduce中間結(jié)果[key,list(value)]用鏈表組織,具有相同Hash值的key在Hash表的同一項中用B樹索引,list(value)存儲在B樹結(jié)點中.上述數(shù)據(jù)結(jié)構(gòu)在各種負(fù)載類型下都具有很高的讀寫性能.如果key可預(yù)測并且具有唯一的Hash值,則可以為Hash表分配足夠的項來避免沖突和B樹查找,插入和查找都只有O(1)的復(fù)雜度.如果key沒有唯一的Hash值或不可預(yù)測,插入和查找也只有O(log n)的復(fù)雜度.

基于Hash B樹結(jié)構(gòu)和式(4),可以根據(jù)Reduce節(jié)點的數(shù)量和處理能力劃分中間結(jié)果.在負(fù)載均衡情況下,各節(jié)點處理速度相同,因此節(jié)點j所分配的歷史數(shù)據(jù)規(guī)模為

pj∝μ×(σmj×(1-λ)+λ).(5)

基于上述模型,可以根據(jù)CPU速度、內(nèi)存容量和I?O帶寬計算出Reduce各節(jié)點的中間結(jié)果數(shù)據(jù)劃分并構(gòu)造路由表,在MapReduce的Partition階段根據(jù)路由表進行分派,就能保障Reduce節(jié)點的負(fù)載均衡.由于上述算法需要預(yù)處理階段采樣,因此特別適用于循環(huán)或迭代進行的Hadoop任務(wù).關(guān)于MapReduce負(fù)載均衡方法的詳細(xì)介紹可參見前期工作[15].

2.3 HBase跨數(shù)據(jù)中心大表

基于HDFS的HBase在無共享集群架構(gòu)上實現(xiàn)了面向海量半結(jié)構(gòu)化數(shù)據(jù)的高并發(fā)處理環(huán)境,已被廣泛接受并采用.由于地域和網(wǎng)絡(luò)條件限制,當(dāng)前很多政府、行業(yè)建設(shè)的數(shù)據(jù)中心采用2級架構(gòu),即在總部和分支機構(gòu)分別部署HBase集群,1級數(shù)據(jù)中心可以訪問2級數(shù)據(jù)中心的數(shù)據(jù),而1級數(shù)據(jù)中心間也可以實現(xiàn)互訪.例如,某省的交通卡口數(shù)據(jù)監(jiān)控系統(tǒng)采用省、市2級部署方式,傳統(tǒng)的處理方式要從全省范圍內(nèi)查找某車輛信息時,需要輪詢各地的HBase確定是否存在該車的相關(guān)信息,然后根據(jù)在各個地市數(shù)據(jù)查詢的結(jié)果匯總反饋,計算量較大,無法滿足對響應(yīng)速度的要求.為了跨越多個物理數(shù)據(jù)中心建立分布式大表,突破單一數(shù)據(jù)中心由于時空矛盾無法建立超大集群的限制,需要滿足以下3個理論條件:

1)數(shù)據(jù)組織方式.跨數(shù)據(jù)中心形成一個邏輯大表需要將數(shù)據(jù)按指定的分區(qū)分布至不同的數(shù)據(jù)中心HBase集群中,當(dāng)訪問存放在本地數(shù)據(jù)中心的數(shù)據(jù)時,無任何跨域數(shù)據(jù)交換.

2)網(wǎng)絡(luò)條件.在廣域網(wǎng)環(huán)境下的遠程數(shù)據(jù)中心訪問時,要保障網(wǎng)絡(luò)帶寬足夠大,能夠支持跨域的大規(guī)模數(shù)據(jù)傳輸.

3)異步復(fù)制.在網(wǎng)絡(luò)帶寬不能保證的情況下,由于涉及開銷較大的遠程數(shù)據(jù)傳輸,對寫操作延遲比較嚴(yán)格的應(yīng)用,不適于跨數(shù)據(jù)中心的同步更新.根據(jù)CAP定律[16],可以通過犧牲一致性換取性能并容忍網(wǎng)絡(luò)異常,即采用異步復(fù)制方式實現(xiàn)最終一致性.

針對上述3個問題,iSDA采用邏輯一體化、數(shù)據(jù)本地化和復(fù)制異步化技術(shù)實現(xiàn)HBase大表,如圖5所示:

Fig.5 Structure of large table across domain.圖5 跨越大表組織結(jié)構(gòu)

1)邏輯一體化.建立一個基于HBase的跨域虛擬大表,每個數(shù)據(jù)中心獨立運行HBase,保留其高性能、可靠、可擴展等特點;多數(shù)據(jù)中心間基于虛擬大表分配模式設(shè)定頂層數(shù)據(jù)區(qū)域劃分,數(shù)據(jù)分配模式包括主鍵前綴、主鍵后綴、子字符串、正則表達式及自定義函數(shù).頂層數(shù)據(jù)劃分連同HBase的3級索引形成4級索引結(jié)構(gòu).由于頂層的索引規(guī)模較小并且不會經(jīng)常性變動,因此在各個中心采用Paxos協(xié)議[17]進行同步,上層應(yīng)用無需修改即可使用HBase標(biāo)準(zhǔn)API透明地訪問虛擬大表,系統(tǒng)會自動將讀寫操作按指定的邏輯分布至相應(yīng)的數(shù)據(jù)中心的HBase集群中執(zhí)行.

2)數(shù)據(jù)本地化.指定區(qū)域位置進行數(shù)據(jù)存取,將數(shù)據(jù)優(yōu)先導(dǎo)入本地數(shù)據(jù)中心.訪問本地數(shù)據(jù)時,無任何跨數(shù)據(jù)中心數(shù)據(jù)交換,降低對廣域網(wǎng)帶寬要求.此外,基于HBase Coprocessor的分布式算法可通過在數(shù)據(jù)中心間分布并行實現(xiàn)高效全局?jǐn)?shù)據(jù)統(tǒng)計匯總.

3)復(fù)制異步化.每個數(shù)據(jù)中心的HBase采用單獨的HDFS實例進行數(shù)據(jù)存儲,異地數(shù)據(jù)中心之間進行基于日志的數(shù)據(jù)備份.對于寫操作性能要求較高的應(yīng)用,可以將復(fù)制配置成異步方式,避免跨域數(shù)據(jù)中心間的同步操作.當(dāng)源中心故障時可從備份中心讀取數(shù)據(jù),實現(xiàn)跨數(shù)據(jù)中心高可靠性.

3 驗證和評價

本節(jié)以電信、金融、環(huán)保等行業(yè)實際案例中的業(yè)務(wù)應(yīng)用、系統(tǒng)架構(gòu)和測試數(shù)據(jù)來驗證iSDA體系結(jié)構(gòu)和關(guān)鍵技術(shù)的有效性,并通過與其他一體化方案進行對比進一步說明iSDA的軟硬件優(yōu)勢.

3.1 可擴展性

驗證項目1通過電信業(yè)務(wù)場景中的全庫掃描案例來驗證iSDA的可擴展性.全庫掃描基于HDFS Scan基準(zhǔn)測試實現(xiàn),測試結(jié)果與數(shù)據(jù)節(jié)點數(shù)目以及具體配置相關(guān).測試集群采用iSDA通用類型配置,2臺控制服務(wù)器每臺配置2顆6核Xeon E5-2650處理器、128GB內(nèi)存、萬兆網(wǎng)卡、內(nèi)置2塊2TB 7200RPM SATA盤;數(shù)據(jù)節(jié)點服務(wù)器每臺配置2顆6核Xeon E5-2650處理器、48GB內(nèi)存、萬兆網(wǎng)卡、內(nèi)置12塊7200RPM 2TB SATA盤;集群內(nèi)部采用2臺64端口萬兆交換機.每塊硬盤數(shù)據(jù)量為500GB,單節(jié)點數(shù)據(jù)量約6TB,分別測試集群在不同節(jié)點規(guī)模下的掃描速度,測試結(jié)果如圖6所示:

Fig.6 Scalability test results.圖6 可擴展性測試結(jié)果

Fig.7 Topology of project 2.圖7 驗證項目2拓?fù)浣Y(jié)構(gòu)

由測試結(jié)果可知,一方面,iSDA由于集群節(jié)點采用了多核CPU和多通道外存架構(gòu)設(shè)計,通過配置和優(yōu)化HDFS對于多塊硬盤的并行讀寫機制,能夠提高單一節(jié)點的數(shù)據(jù)訪問速度,單一節(jié)點的數(shù)據(jù)吞吐量可達1 500MBps;另一方面,iSDA集群的數(shù)據(jù)吞吐量隨節(jié)點增加而增長,具有接近線性的擴展能力,在128個節(jié)點規(guī)模下數(shù)據(jù)吞吐量接近120 000MBps,相當(dāng)于上千個Google高密度節(jié)點的處理能力[18].

3.2 高效性

在驗證項目2中,某銀行針對數(shù)據(jù)快速增長及業(yè)務(wù)現(xiàn)狀,對iSDA進行了非常詳細(xì)的測試與評估,其中包括10,20,40節(jié)點的應(yīng)用功能測試、技術(shù)功能測試和并發(fā)場景測試等.項目采用的拓?fù)浣Y(jié)構(gòu)如圖7所示,采用的通用型iSDA軟硬件配置如表3和表4所示,部分應(yīng)用案例說明如表5所示.在測試環(huán)境中,除iSDA集群外,WebLogic和LoadRunner服務(wù)器用來進行OLTP測試,Shell客戶端用來進行批處理和日志分析等測試,已有系統(tǒng)中的各類服務(wù)器主要用來進行兼容性測試,下面分別介紹.

Table 3 Hardware of Project 2表3 驗證項目2硬件配置

Table 4 Software of Project 2and Project 3表4 驗證項目2,3軟件環(huán)境

Table 5 Test Cases of Project 2表5 驗證項目2測試案例

第1類測試為批處理,測試從已歸檔的100TB數(shù)據(jù)中獲取信息以及加工計算的性能,10節(jié)點下的測試結(jié)果如圖8所示.由圖8可知,與原有生產(chǎn)系統(tǒng)相比,iSDA由于采用了分布式架構(gòu),在海量數(shù)據(jù)查詢(POC_QY_02,POC_QY_03)方面優(yōu)勢明顯,而在數(shù)據(jù)分析(POC_QY_01,POC_CNT_01)以及事務(wù)處理(POC_CNT_02)方面,iSDA由于兼顧了節(jié)點的性能縱向擴展,因此表現(xiàn)不弱于傳統(tǒng)架構(gòu).

Fig.8 Batch processing test results.圖8 批處理測試結(jié)果

第2類測試為在線聯(lián)機事務(wù)處理OLTP,包括多表關(guān)聯(lián)、多維查詢以及數(shù)據(jù)更新、插入、查詢等案例,數(shù)據(jù)量達到30TB,約50億條.場景1是在20節(jié)點和40節(jié)點環(huán)境下分別進行多案例混合并發(fā)測試,其中TC_OLTP_03用戶數(shù)占比40%(包括4個查詢條件組合,各占10%),TC_OLTP_06占20%,其他各占10%,并發(fā)用戶數(shù)為500,并發(fā)時間持續(xù)10min,考察處理成功率和TPS(transaction per second).在此基礎(chǔ)上,場景2同時啟動2個HBase的裝載作業(yè),分別是通過Hive向HBase表的裝載和從HDFS文件到HBase表的裝載.以2個裝載作業(yè)作為背景,然后同時執(zhí)行場景1.OLTP場景測試結(jié)果如表6所示:

Table 6 OLTP Test Results表6 OLTP測試結(jié)果

測試結(jié)果表明,iSDA的OLTP并發(fā)查詢性能優(yōu)秀,成功率可達到99.9%以上,TPS可達到3 500 times?s以上,并且由于采用了分布式架構(gòu),在帶寬充足的情況下大規(guī)模數(shù)據(jù)的導(dǎo)入不會影響并發(fā)性能.而之所以擴展到40節(jié)點后TPS基本不變,是因為測試環(huán)境采用LoadRunner+Web服務(wù)方式,單點的Web服務(wù)器成為系統(tǒng)瓶頸.

第3類測試為日志分析,這一類應(yīng)用是iSDA中的MapReduce比較擅長的,解決思路是通過對數(shù)據(jù)集進行切分,在Map階段進行過濾、解析和分組路由,并通過Combine和中間結(jié)果壓縮減少數(shù)據(jù)傳輸量,在Reduce階段通過優(yōu)化算法進行合并、統(tǒng)計、排序,測試結(jié)果表明iSDA能夠填補現(xiàn)有系統(tǒng)在日志分析上的空白.

此外,驗證項目2還進行了109項技術(shù)功能測試,涉及系統(tǒng)的可擴展性、可靠性、兼容性、易維護性、易開發(fā)性、開放性、擴展性和安全性,最終iSDA通過108項,僅不支持版本回退功能.

上述驗證項目表明,iSDA的應(yīng)用支持能力多樣,系統(tǒng)性能優(yōu)異,技術(shù)功能完善,完全能夠滿足金融行業(yè)大數(shù)據(jù)應(yīng)用的需求.

3.3 跨域大表

據(jù)初步統(tǒng)計,目前某銀行應(yīng)用系統(tǒng)每年產(chǎn)生的歷史日志數(shù)據(jù)已經(jīng)超過1PB,如此大規(guī)模的數(shù)據(jù)如何實現(xiàn)跨地域的分布式存儲、處理和查詢是亟需解決的問題.測試項目3采用iSDA的跨集群HBase大表功能,在銀行日志管理系統(tǒng)中進行了技術(shù)驗證.測試方案的網(wǎng)絡(luò)拓?fù)淙鐖D9所示,集群配置如表7所示.2個iSDA集群間通過萬兆以太網(wǎng)連接網(wǎng)絡(luò),管理網(wǎng)絡(luò)為千兆以太網(wǎng),集群的軟件配置如表4所示.

Fig .9 Topology of project3.圖9 驗證項目3網(wǎng)絡(luò)拓?fù)?/p>

Table 7 Hardware of Project 3表7 驗證項目3硬件配置

Table 8 Performance of HBase Big Table表8 HBase跨域大表性能

測試項目3采用LoadRunner+Web+HBase的方式,分別對日志系統(tǒng)的高并發(fā)讀寫性能進行了測試分析,數(shù)據(jù)量約100TB,134億條.在100和500并發(fā)場景下,本地集群和跨集群的按關(guān)鍵字查詢、按關(guān)鍵字刪除、新增數(shù)據(jù)在成功率均為100%,性能測試結(jié)果如表8所示.

上述測試結(jié)果表明,iSDA可以實現(xiàn)跨集群的數(shù)據(jù)新增、刪除以及查詢功能,在萬兆網(wǎng)絡(luò)條件下性能與本地集群一樣優(yōu)異.上述方案的優(yōu)勢在于基于分布式架構(gòu)的HBase大表可以充分利用集群中所有的存儲資源,在高并發(fā)處理時調(diào)度所有的硬件資源進行讀寫訪問,很容易就實現(xiàn)每秒數(shù)萬條數(shù)據(jù)的實時寫入、查詢和刪除,并且讀寫性能和已有的數(shù)據(jù)量基本沒有關(guān)系,在數(shù)據(jù)量很大(例如大于10TB)的情況下,仍然可以實現(xiàn)高效的寫入和查詢,讀寫延遲可以控制在毫秒級.同時,HBase大表有很好的水平擴展性,當(dāng)服務(wù)器數(shù)量增加時,讀寫吞吐量也會線性提高.此外,HBase大表的數(shù)據(jù)分布在多個數(shù)據(jù)中心,單個數(shù)據(jù)中心出現(xiàn)網(wǎng)絡(luò)等故障時不會影響其他數(shù)據(jù)中心的數(shù)據(jù)訪問,保證應(yīng)用系統(tǒng)的整體可用性.

3.4 多樣性應(yīng)用

驗證項目4通過在環(huán)保領(lǐng)域的應(yīng)用示例介紹iSDA如何滿足行業(yè)大數(shù)據(jù)應(yīng)用的多樣性需求.

根據(jù)定義6,環(huán)保行業(yè)流處理應(yīng)用場景的iSDA執(zhí)行過程如圖10(a)所示,可以實現(xiàn)污染源(污水、供熱)和大氣污染物(二氧化硫、氮氧化物、煙粉塵等)的實時監(jiān)測、異常報警,以及違規(guī)車輛(外埠、黃標(biāo)等)的實時監(jiān)控等應(yīng)用.

根據(jù)定義4,環(huán)保行業(yè)交互處理應(yīng)用場景的iSDA執(zhí)行過程如圖10(b)所示,可以實現(xiàn)污染源、大氣污染物以及建筑工地(數(shù)量、揚塵指標(biāo))的歷史曲線展示、多維度統(tǒng)計、對比分析等應(yīng)用.

根據(jù)定義3,環(huán)保行業(yè)在線實時處理應(yīng)用場景的iSDA執(zhí)行過程如圖10(c)所示,可以實現(xiàn)基于地理位置的氣象信息查詢、大氣信息預(yù)警,以及區(qū)域、時間等多維度環(huán)境統(tǒng)計報表等應(yīng)用.

根據(jù)定義5,環(huán)保行業(yè)交互處理應(yīng)用場景的iSDA執(zhí)行過程如圖10(d)所示,可以實現(xiàn)基于污染源、氣象、大氣歷史數(shù)據(jù)的趨勢預(yù)測,綜合污染源、氣象、大氣、工地、車輛數(shù)據(jù)的空氣質(zhì)量關(guān)聯(lián)分析和決策分析等應(yīng)用.

Fig.10 Multi-type processing.圖10 多樣性處理過程

上述應(yīng)用示例表明,基于混合型軟件架構(gòu)的iSDA能夠滿足行業(yè)大數(shù)據(jù)的在線實時處理、交互分析、離線批處理以及流處理等多樣性應(yīng)用需求,并且通過內(nèi)算計算引擎加速,能夠?qū)⒋髷?shù)據(jù)處理性能提高10倍以上,通過一體化管理平臺,能夠保障系統(tǒng)的易用性、可靠性及可擴展性.

3.5 對比分析

與傳統(tǒng)RDBS關(guān)系數(shù)據(jù)庫、MPP數(shù)據(jù)庫的一體化解決方案相比(如表9所示),iSDA在性能和可擴展性方面優(yōu)勢明顯,但在管理工具、SQL接口支持程度、ETL?BI等上下游軟件工具兼容性方面尚有差距.

與基于Cloudera,Hortonworks等Hadoop發(fā)行版的一體機相比(如表10所示),除了在可用性、安全性和可管理性上全面看齊這些主流大數(shù)據(jù)平臺之外,可擴展性和可定制化設(shè)計使得iSDA在硬件特性上更具有優(yōu)勢,混合軟件棧和多樣性處理模型使得iSDA能夠應(yīng)對的應(yīng)用類型更為豐富,廣泛采用的內(nèi)存計算優(yōu)化使得iSDA處理性能大幅提升.

Table 9 Comparison with Traditional Database Integration Solutions表9 與傳統(tǒng)數(shù)據(jù)庫一體化解決方案比較

Table 10 Comparison with Hadoop Integration Solutions表10 與Hadoop 一體化解決方案比較

Continued(Table 10)

4 結(jié)束語

本文針對當(dāng)前行業(yè)大數(shù)據(jù)應(yīng)用對處理平臺的需求,給出了大數(shù)據(jù)一體機可擴展性和可定制性的理論基礎(chǔ),建立了面向?qū)崟r、交互、流式和批式等應(yīng)用類型的多樣性處理模型,并基于此設(shè)計和實現(xiàn)了云海大數(shù)據(jù)一體機iSDA.iSDA基于雙向可擴展的體系結(jié)構(gòu),采用可定制化設(shè)計和混合軟件棧,覆蓋軟硬一體全環(huán)節(jié),滿足行業(yè)應(yīng)用的持續(xù)擴展、個性化和一體化需求.在電信、金融和環(huán)保實際案例中的應(yīng)用和測試表明,iSDA體系結(jié)構(gòu)和關(guān)鍵技術(shù)是可行和有效性的.下一步的工作是基于iSDA建立完善的大數(shù)據(jù)解決方案,針對數(shù)據(jù)處理的各個環(huán)節(jié)提供全程技術(shù)支持與保障,幫助行業(yè)用戶明確業(yè)務(wù)需求,選擇合適的軟硬件架構(gòu),解決環(huán)境部署、應(yīng)用移植、二次開發(fā)、調(diào)優(yōu)上線、運行維護等技術(shù)難題,幫助用戶跨過大數(shù)據(jù)應(yīng)用的門檻.

[1]CCF Task Force on Big Data.2013White paper of China s big data technology and industrial development[EB?OL].2013[2014-08-01].http:??www.bigdataforum.org.cn? uploads?soft?131230?2013writepaper.pdf(in Chinese)(CCF大數(shù)據(jù)專家委員會.2013中國大數(shù)據(jù)技術(shù)與產(chǎn)業(yè)發(fā)展白皮書[EB?OL].2013[2014-08-01].http:??www.bigdataforum.org.cn?uploads?soft?131230?2013writepaper.pdf)

[2]Chinese Institute of Engineering Development Strategies.2014Report on the Development of China s Strategic Emerging Industries[M].Beijing:Science Press,2014:101 112(in Chinese)(中國工程科技發(fā)展戰(zhàn)略研究院.2014中國戰(zhàn)略性新興產(chǎn)業(yè)發(fā)展報告[M].北京:科學(xué)出版社,2014:101 112)

[3]Ranger C,Raghuraman R,Penmetsa A,et al.Evaluating MapReduce for multi-core and multiprocessor systems[C]?? Proc of the 13th Int Conf on High-Performance Computer Architecture.Los Alamitos,CA:IEEE Computer Society,2007:13 24

[4]International Data Corporation.2013 10ICT market forecast of the Asia Pacific region[EB?OL].2012[2014-08-01].http:??www.idc.com.cn?prodserv?detail.jsp?id=NTA3(in Chinese)(國際數(shù)據(jù)公司.2013年亞太區(qū)ICT市場十大預(yù)測[EB?OL].2012[2014-08-01].http:??www.idc.com.cn?prodserv? detail.jsp?id=NTA3)

[5]O Reilly Radar Team.Big Data Now:Current Perspectives from O Reilly Radar 2013Edition[M].Sebastopol,CA:O Reilly Media,2013

[6]Gustafson J L.Reevaluating Amdahl s law[J].Communications of the ACM,1988,31(5):532 533

[7]Li Wubin,Zhao Zhuofeng,Qi Kaiyuan,et al.A consistencypreserving mechanism for Web services response caching[C]??Proc of the 20th Int Conf on Web Services.Los Alamitos,CA:IEEE Computer Society,2008:683 690

[8]Inspur Electronic Information Industry Co Ltd,Department of System Software.The white paper of in-cloud big data appliance[R].Jinan:Inspur Electronic Information Industry Co Ltd,2013(in Chinese)(浪潮電子信息產(chǎn)業(yè)股份有限公司系統(tǒng)軟件部.云海大數(shù)據(jù)一體機技術(shù)白皮書[R].濟南:浪潮電子信息產(chǎn)業(yè)股份有限公司,2013)

[9]Dean J,Ghemawat S.MapReduce:Simplified data processing on large clusters[J].Communications of the ACM,2008,51(1):107 113

[10]Chang F,Dean J,Ghemawat S,et al.Bigtable:A distributed storage system for structured data[C]??Proc of the 7th Symp on Operating Systems Design and Implementation.Berkeley,CA:USENIX Association,2006:205 218

[11]Zaharia M,Chowdhury N M,F(xiàn)ranklin M,et al.Spark:Cluster computing with working sets[C]??Proc of the 2nd USENIX Conf on Hot Topics in Cloud Computing.Berkeley,CA:USENIX Association,2010:1 10

[12]Neumeyer L,Robbins L,Nair A,et al.S4:Distributed stream computing platform[C]??Proc of the 10th IEEE Int Conf on Data Mining Workshops.Los Alamitos,CA:IEEE Computer Society,2010:170 177

[13]Wang Endong,Zhang Qing,Shen Bo,et al.MIC High Performance Computing Programming Guide[M].Beijing:China Water &Power Press,2012(in Chinese)(王恩東,張清,沈鉑,等.MIC高性能計算編程指南[M].北京:中國水利水電出版社,2012)

[14]Wang Youwei,Zhou Jiang,Wang Weiping,et al.Clover:A distributed file system of expandable metadata service derived from HDFS[C]??Proc of the 2012Int Conf on Cluster Computing.Los Alamitos,CA:IEEE Computer Society,2012:126 134

[15]Qi Kaiyuan,Han Yanbo,Zhao Zhuofeng,et al.Real-time data stream processing and key techniques oriented to largescale sensor data[J].Computer Integrated Manufacturing System,2013,19(3):641 653(in Chinese)(亓開元,韓燕波,趙卓峰,等.面向大規(guī)模感知數(shù)據(jù)的實時數(shù)據(jù)流處理方法及關(guān)鍵技術(shù)[J].計算機集成制造系統(tǒng),2013,19(3):641 653)

[16]Gilbert S,Lynch N.Brewer s conjecture and the feasibility of consistent,available,partition-tolerant Web services[J].ACM SIGACT News,2002,33(2):51 59

[17]Lamport L.Paxos made simple[J].ACM SIGACT News,2001,32(4):18 25

[18]Melnik S,Gubarev A,Long J J,et al.Dremel:Interactive analysis of web-scale datasets[J].Communications of the ACM,2011,54(6):114 123

Zhang Dong,born in 1974.Researcher.Member of China Computer Federation.His current research interests include computer architectures,big data and operation systems,etc.

Qi Kaiyuan,born in 1984.PhD and engineer.Member of China Computer Federation.His current research interests include big data processing and cloud computing.

Wu Nan,born in 1982.Senior engineer.His current research interests include operating systems and big data processing.

Xin Guomao,born in 1981.Senior engineer.His current research interests include cloud computing,and big data processing systems and applications.

Liu Zhengwei,born in 1977.Senior engineer.His current research interests include cloud operating systems and big data storage systems.

Yan Bingheng,born in 1982.PhD and senior engineer.His current research interests include computer architectures and virtualization.

Guo Feng,born in 1982.Engineer.His current research interests include cloud operating systems and information security.

Architecture and Key Technologies of In-Cloud Smart Data Appliance

Zhang Dong,Qi Kaiyuan,Wu Nan,Xin Guomao,Liu Zhengwei,Yan Bingheng,and Guo Feng
(State Key Laboratory of High-End Server &Storage Technology,Jinan250101)(Inspur Electronic Information Industry Co.,Ltd.,Jinan250101)

To make up for the gap between big data technologies and industry applications,this paper proposes the models of scalability,customizability and multi-type processing of big data appliance,based on which the in-cloud smart data appliance,i.e.iSDA,is designed and implemented.First,the iSDA is assembled by optimally developing the cooperative computing units,heterogeneous storage and high-speed switching network to take fully advantages of both scale-out and scale-up architectures.Second,iSDA is devised to satisfy diversity requirements of industry big data applications by virtue of hardware customization from light-weight to heavy-load styles,and as well as hybrid software stack including real-time,interaction,streaming and batch processing all accelerated by the in-memory computing engine.Furthermore,in the consideration of the HDFS metadata service bottleneck,MapReduce load skew and HBase cross-domain issue,this paper as well introduces the technologies of multiple metadata servers,load balance algorithm and cross-datacenter big table used in iSDA.The practical use cases in the telecommunication,finance and environmental protection industries show that the proposed architecture and key technologies are feasible and effective,and the comprehensive comparisons with traditional MPP databases and other mainstream Hadoop distributions are also given to detail the advantages of iSDA from both hardware and software aspects.Key words big data appliance;scalability;customizability;hybrid software stack;big data industrial application

TP311.133.1;TP338.6

2014-11-24;

2015-02-28

國家“八六三”高技術(shù)研究發(fā)展計劃基金項目(2015AA050203);“核高基”國家科技重大專項(2013ZX01039002)This work was supported by the National High Technology Research and Development Program of China(863Program)(2015AA050203)and the Core Electronic Devices,High-End Generic Chips and Basic Software of National Science and Technology Major Projects of China(2013ZX01039002).

亓開元(qiky@inspur.com)

關(guān)鍵詞 大數(shù)據(jù)一體機;可擴展性;可定制性;混合型軟件架構(gòu);大數(shù)據(jù)行業(yè)應(yīng)用

主站蜘蛛池模板: 97成人在线视频| 久久这里只有精品免费| 国产男人的天堂| 日韩毛片免费| 色一情一乱一伦一区二区三区小说| 免费国产好深啊好涨好硬视频| WWW丫丫国产成人精品| 在线亚洲天堂| 天堂av高清一区二区三区| 国产乱人乱偷精品视频a人人澡| 色噜噜综合网| 中国黄色一级视频| 久久精品人人做人人爽| 成人免费网站在线观看| 午夜精品久久久久久久无码软件 | 中文字幕欧美日韩高清| 青青热久免费精品视频6| 国产精品夜夜嗨视频免费视频| 日本道综合一本久久久88| 亚洲天堂高清| 国产在线观看91精品| jijzzizz老师出水喷水喷出| www.youjizz.com久久| 精品无码国产一区二区三区AV| 狠狠色狠狠综合久久| 四虎AV麻豆| 毛片免费在线视频| 国产99视频在线| 一本无码在线观看| 在线a网站| 国产成人AV男人的天堂| 久久婷婷色综合老司机| 丁香婷婷激情网| 欧美有码在线观看| 在线免费观看AV| 67194亚洲无码| 日本成人福利视频| 亚洲精品自产拍在线观看APP| 亚洲永久色| 国产va欧美va在线观看| 久久国产成人精品国产成人亚洲| 国产乱子精品一区二区在线观看| 欧美专区日韩专区| 中文一级毛片| 色哟哟精品无码网站在线播放视频| 婷婷五月在线| 欧美色亚洲| 不卡的在线视频免费观看| 五月天香蕉视频国产亚| 依依成人精品无v国产| 国产精品免费露脸视频| 日本在线国产| 丰满人妻中出白浆| 最新亚洲av女人的天堂| 成人福利在线视频| 日韩午夜片| 欧美中文一区| 67194在线午夜亚洲| 九九这里只有精品视频| 日韩在线中文| 免费毛片网站在线观看| 国产麻豆精品久久一二三| 欧美日韩精品在线播放| 国产精品13页| 99久久人妻精品免费二区| 亚洲 成人国产| 国产91精品调教在线播放| 最新加勒比隔壁人妻| 欧美色伊人| 国产人碰人摸人爱免费视频| 欧美午夜在线视频| 亚洲精品男人天堂| 伊人网址在线| 欧美啪啪网| 成人午夜视频网站| 日韩在线网址| 热九九精品| 亚洲黄色片免费看| 伊人查蕉在线观看国产精品| 国产女主播一区| 国产在线自揄拍揄视频网站| 色偷偷男人的天堂亚洲av|