Hadoop教程:優(yōu)化的Hadoop發(fā)行版使混合架構成為過去
數(shù)據(jù)是企業(yè)最重要的資產(chǎn)。對數(shù)據(jù)價值的挖掘,一直以來都是企業(yè)應用、技術、架構、服務等 創(chuàng)新的源泉。經(jīng)過十數(shù)年技術發(fā)展,企業(yè)的核心數(shù)據(jù)處理逐漸分為兩大模塊: 以關系型數(shù)據(jù)庫(RDBMS)為主,主要用于解決交易型事務處理的問題;以分析型數(shù)據(jù)倉庫為主,主要解決數(shù)據(jù)整合分析的問題,并且當需要對幾TB或十幾 TB的數(shù)據(jù)進行分析時,企業(yè)大多采用MPP數(shù)據(jù)庫架構。這在傳統(tǒng)應用領域是合適的。但是近年來,隨著互聯(lián)網(wǎng)的快速發(fā)展,特別是移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)的發(fā)展, 企業(yè)的數(shù)據(jù)比以往任何時候產(chǎn)生的都要多都要快,面對動輒幾十TB、上百TB、甚至PB級別的數(shù)據(jù)進行分析時,傳統(tǒng)架構已近乎“疲于奔命”,難以招架。 Hadoop在企業(yè)級市場隨之受到關注,逐漸被認為是新形勢下最佳乃至唯一的選擇 。
這使得在企業(yè)的數(shù)據(jù)中心里,為了應對不同量級的數(shù)據(jù)、不同性能的計算要求、不同計算模式的需要,不得不采用混合架構,即:關系型數(shù)據(jù)庫+內(nèi)存數(shù)據(jù)庫+MPP數(shù)據(jù)庫+Hadoop平臺。

然而,客戶采用這樣的混合架構,經(jīng)常面臨如下問題:
1. 大量數(shù)據(jù)需要頻繁地從一個平臺遷移至另外一個、甚至是另外幾個平臺,網(wǎng)絡開銷巨大。
2. MPP架構在升級或擴容時,對外提供的服務會受到影響。
3. 混合架構的上線、后期運維、升級成本居高不下。
4. 多套平臺需要多套運維人馬,掌握多套平臺技能。
5. 每套平臺的容錯、備份、災備等方案及實施,都需要單獨考慮。
面對以上眾多問題,對Hadoop有經(jīng)驗的客戶進行了大膽思考,并逐步實施了一個創(chuàng)新的架構:讓Hadoop統(tǒng)一數(shù)據(jù)分析平臺的混合架構。這樣的想法僅 在一年前還被認為是不切實際的。當時普遍認同的是,Hadoop在處理上百TB或是PB級別數(shù)據(jù)時具有優(yōu)勢,但是讓MapReduce在Hadoop之上 去處理GB或是幾TB數(shù)據(jù),則顯得過于笨重。
星環(huán)信息科技(上海)有限公司(以 下簡稱星環(huán)科技)通過在大數(shù)據(jù)領域敏銳的判斷力、極強的執(zhí)行力與研發(fā)能力,在Hadoop/MapReduce之外獨辟蹊徑,通過引入Spark,完滿解 決了Hadoop原有缺陷。 星環(huán)科技發(fā)布的一站式大數(shù)據(jù)綜合平臺 -- Transwarp Data Hub(以下簡稱TDH),不僅提供對海量數(shù)據(jù)超強的分析能力,在中小數(shù)據(jù)量的分析中,性能也優(yōu)于MPP架構,甚至可比擬專業(yè)的內(nèi)存數(shù)據(jù)庫平臺。TDH因 此使企業(yè)能統(tǒng)一混合架構,形成完整的數(shù)據(jù)分析平臺。

TDH產(chǎn)品系列中的內(nèi)存分析引擎Inceptor將Spark作為核心的計算引擎,彌補了采用MapReduce計算引擎的缺點。Spark內(nèi)存計算技 術通過把任務描繪成DAG、把分布式數(shù)據(jù)抽象成彈性分布式數(shù)據(jù)集(RDD)、中間結果存于內(nèi)存、減少Shuffle過程的磁盤IO等關鍵技術,性能大幅領 先于MapReduce 。星環(huán)科技經(jīng)過多個成功案例的積累與豐富實踐經(jīng)驗的總結,已經(jīng)將Inceptor打造成成熟、穩(wěn)定、高性能的分析平臺,解決了開源Spark不穩(wěn)定,例 如:運行24小時自動死掉、運行SQL時快時慢、有時比MapReduce還慢、大內(nèi)存計算時經(jīng)常沒有響應等問題。
Inceptor針對數(shù)據(jù)倉庫復雜分析的特點,對Spark進行了較多的技術改進、創(chuàng)新與性能優(yōu)化。單獨開發(fā)了列式混合存儲層Holodesk,使得數(shù) 據(jù)能夠在內(nèi)存與SSD中混合裝載,滿足更大的內(nèi)存計算緩存需求,極大地擴展了對TB級別數(shù)據(jù)進行分析時內(nèi)存的限制。Inceptor在內(nèi)存計算上做了較多 的性能優(yōu)化,例如:完成了基于代價的優(yōu)化器,能夠更精準地自動選擇最優(yōu)的執(zhí)行計劃;在多表之間通過鍵值進行關聯(lián)時,通過數(shù)據(jù)分區(qū)、分桶、查詢過濾、條件下 放等方式減小數(shù)據(jù)掃描IO,極大提高查詢速度等等。Inceptor在對多張10億條記錄的大表進行關聯(lián)查詢時,相比MPP數(shù)據(jù)庫,性能提升2-10倍。
Inceptor另一個使其能夠進入數(shù)據(jù)倉庫領域,統(tǒng)一企業(yè)數(shù)據(jù)分析平臺,提供對ANSI SQL1999標準的完整支持。Inceptor支持常用的數(shù)據(jù)類型、各種表連接查詢、各種子查詢、操作符、窗口聚合函數(shù)、甚至單條數(shù)據(jù)的DML操作等 等。通過SQL實現(xiàn)的,運行在現(xiàn)有內(nèi)存數(shù)據(jù)庫、MPP數(shù)據(jù)庫等平臺統(tǒng)計分析、經(jīng)營分析等綜合性企業(yè)報表,幾乎無需任何修改,便可以平滑遷移至TDH平臺。 TDH在某運營商的經(jīng)分系統(tǒng)中,成功運行300多張報表,幾乎沒有做任何修改。TDH在某電網(wǎng)公司成功運行21萬行SQL代碼,而僅僅做了十幾處的代碼修 改。在其他的一些案例中,對于在Teradata等MPP數(shù)據(jù)庫平臺運行的SQL也直接遷移至TDH平臺運行,性能有很大提升。
Inceptor解決了一直以來MapReduce被詬病的在處理復雜數(shù)據(jù)分析、即席查詢、自助式分析、迭代式數(shù)據(jù)分析與機器學習時,無法提供快速的響 應時間的問題,使得大量一線業(yè)務人員可以通過大數(shù)據(jù)可視化工具靈活地進行交互式數(shù)據(jù)分析與探索。Inceptor中整合了R語言的統(tǒng)計分析、數(shù)據(jù)挖掘與機 器學習算法,數(shù)據(jù)分析人員可以快速地通過并行化的R語言算法對TDH平臺的TB、甚至PB級別的數(shù)據(jù)進行快速的數(shù)據(jù)分析。如此強大的數(shù)據(jù)分析能力,已經(jīng)遠 遠超過了現(xiàn)有MPP平臺的相關實現(xiàn)手段。
由此可見,對于業(yè)界呼聲比較高的、將 Hadoop與MPP數(shù)據(jù)庫的進行整合的方案,已經(jīng)顯得沒有很強的必要性。通過TDH平臺,可以完全替代MPP平臺 :第一,TDH平臺對ANSI SQL1999標準的完整支持,已經(jīng)可以滿足企業(yè)對大規(guī)模數(shù)據(jù)倉庫進行復雜數(shù)據(jù)分析的需求;第二,集成Spark內(nèi)存計算技術,在數(shù)據(jù)倉庫所支撐的數(shù)量級 上(GB->TB->PB),能夠提供比傳統(tǒng)MPP平臺更好的性能;第三,TDH平臺提供比MPP平臺更強的擴展性,更強的計算與分析結構 化、半結構化、非結構化的能力。第四,TDH平臺提供給客戶一個統(tǒng)一的數(shù)據(jù)平臺,不同數(shù)據(jù)量級的數(shù)據(jù)計算與分析都能夠很快得到滿足。第五,TDH平臺提供 統(tǒng)一的數(shù)據(jù)容錯、備份與災備,對企業(yè)提供更方便的措施和安全保障。
作者:龐杰