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

大數據及海量數據處理架構:Hadoop vs MPP

2020-12-01 03:15:00巫東來湯仕磊
軟件導刊 2020年10期
關鍵詞:大數據

巫東來 湯仕磊

摘 要:開發海量數據處理系統時存在技術框架選擇不確定問題。從理論及應用角度對兩種主流的海量數據處理架構MPP和Hadoop進行對比,分析各自技術特點,闡述其與傳統數據處理的優勢。分析結果表明,Hadoop在存儲數據規模上可輕松支持PB級別,而MPP架構大多只支持TB級別;Hadoop對海量半結構化、非結構化數據存儲和處理有一定優勢,但在處理速度和易用性上不及MPP;在結構化數據處理、響應性能和衍生工具等方面MPP 則占優,適用于查詢業務場景較多項目。通過分析兩大框架底層核心技術以及歸納優缺點,為企業相關應用的技術選型提供參考。

關鍵詞:大數據; 海量數據存儲; Hadoop; MPP;分布式計算

DOI:10. 11907/rjdk. 201655

中圖分類號:TP391文獻標識碼:A 文章編號:1672-7800(2020)010-0218-05

Abstract:In order to improve the uncertainties in the choice of technical framework when developing massive data processing systems,we make an in-depth comparison between the two mainstream massive data processing frameworks MPP and Hadoop from a theoretical and application perspective. We analyze their respective technical characteristics, and discusses their advantages over traditional data processing. The analysis results show that Hadoop can easily support the PB-level data scale in terms of the size of the stored data, while most MPP architectures only support the TB-level. Hadoop has certain advantages in the storage and processing of massive semi-structured and unstructured data, but it is inferior to MPP in processing speed and ease of use. MPP is dominant in structured data processing, response performance, and derivatives, and is suitable for projects with many query business scenarios. By analyzing the underlying core technologies of the two frameworks and summarizing their advantages and disadvantages, a comprehensive reference for enterprises in the selection of relevant application technologies is provided.

Key Words: big data; massive data storage; Hadoop; MPP; distributed computing

0 引言

隨著云計算、大數據產業的不斷發展,傳統使用單機數據庫進行數據存儲的模式已經不能滿足業界日益增長需求,海量數據處理成為一個關鍵問題。目前主流的海量數據處理架構分為兩種:①基于傳統數據庫及數據倉庫所衍生出的MPP(Massively Parallel Processing)架構[1];②基于Hadoop并行計算框架的分布式架構[2]。

傳統關系型數據庫隨著數據量增長性能急劇下降,業界提出一種橫向擴展(scale out)方式,通過增加節點使用更多廉價的機器構建更強的集群系統。在這種背景下,分布式數據庫和數據倉庫越來越受到重視,其中基于MPP架構的數據庫是主流解決方案,越來越多的廠商選擇使用它改造和升級原有軟件系統[3]。Hadoop是一種分布式數據處理框架,使用普通X86計算機組成分布式系統處理海量數據及進行大數據分析[4]。Hadoop架構近年伴隨著云計算而興,其生態系統和大數據緊密聯系在一起,不僅僅因為它是開源系統,更主要的是它形成了一個完整的技術生態圈[5-6]。混合架構則綜合了MPP架構和Hadoop架構各自特點,通過混合部署將各自的優點充分發揮出來。如Ma等[7]將Hadoop生態系統與ETL、Spark處理引擎一起使用,結合基于MPP的海量并行處理數據庫(MPP)實現銀行綜合風險管理系統,具有更好的性能;鄧涵元等[8]基于MPP-Hadoop 混合框架構建一套融合多種不同結構數據的數據集成系統 ,提升了數據查詢和加載效率。同時,混合架構案例近年得到長足發展[9-12]。

本文對MPP和Hadoop兩種架構進行深入分析,并對比各自優缺點以及適用范圍,給出不同類型應用的技術架構選型推薦方案。

1 基于MPP的數據處理架構

MPP指處于不同部分的多個處理器對程序進行協同處理的過程,每個處理器使用自己的操作系統、內存、總線和磁盤等,如圖1所示。通常MPP處理器使用某些消息傳遞接口進行通信。在某些實現中,同一應用程序最多可以使用200個或更多處理器,這種結構最大的特點在于共享資源。

MPP數據庫(MPP DB)基于MPP架構,通過并行化各種操作提高性能,如加載數據、構建索引以及使用并行的多個CPU和磁盤等。

MPP數據庫通常具有無共享架構,因為每個系統都有自己的CPU、內存和磁盤。通過數據庫軟件和高速互連,系統可以整體運行,并且可通過添加新服務器對集群進行擴展。MPP數據庫通常比托管在大型多處理器服務器上的傳統RDBMS更靈活,可伸縮且更具成本優勢,可提供快速的交互式查詢響應,如圖2所示。這種架構特征是任務并行執行、數據分布式存儲(本地化)、分布式計算、資源私有、可橫向擴展等。

1.1 MPP數據庫集群架構

MPP數據庫集群架構如圖3所示,分為以下兩種架構:

(1)有專職Master。Master節點的主要功能是作為系統訪問入口,對存儲在系統中的元數據進行管理,以及實現SQL Parser,生成執行計劃和任務調度等。Master有兩個節點,會進行數據同步,在出現故障時可切換。典型產品有Greenplum、AsterData、ParAccel、Hawg等。

(2)無專職Master。Master節點和數據節點共享一臺物理機,先連接上的節點會作為系統的Master。典型產品有Gbase8a、Vertica、Teradata、DB2、Impala 、IBM BigSQL、HP DragonRed、VerticaVIVE等。

1.2 MPP架構選擇

兩種架構各有優缺點,在超大規模分布式集群中,第(2)種架構更有優勢,可演變為“多master”架構(如Gbase8a和Vertica集群)。此種架構下,通過Zookeeper等分布式一致性軟件協調多個master,提供高可用性、透明性以及擴展性,同時數據節點具有對等性。

2 基于Hadoop架構的數據處理框架

2.1 Hadoop數據分塊

Hadoop 架構與MPP架構相似,圖4顯示Hadoop處理數據過程。名稱服務器充當目錄查找服務。Hadoop將數據分為任意塊,大小一般設為128Mb,將其復制到至少兩個其它節點以實現分布式存儲。小文件(小于128Mb的文件)完全保存在單個節點上,甚至1G大小的文件也只需要分布在8個節點(加上副本)上。因此,Hadoop可處理非常大的數據集。

由于小表格分布在較少服務器上,因此對于50~100Gb以下的數據文件不是理想選擇。在Hadoop上處理小數據集是一個挑戰,因為在某些情況下,單個節點上處理數據完全按順序運行而不是并行運行。許多Hadoop集群傾向于使用大量相對較慢且價格便宜的服務器,因此小數據性能可能較差。此外,隨著小文件數量增加,名稱服務器管理問題會越來越多。經驗表明,在大多數中型數據倉庫平臺(大約10Tb的數據)上只有大約10%的表擁有超過100Gb的數據,而70%的表不足1Gb數據。即使兩個最大的表超過1Tb,對于在Hadoop上部署也不是很有利。

2.2 Hadoop集群架構

Hadoop處理框架包括3個模塊:HDFS、MapReduce和YARN。

(1)HDFS是一個分布式文件系統,用于將單個集群擴展到數百個甚至數千個節點,具有高度的容錯能力,部署在低成本硬件上。 HDFS提供應用程序高吞吐量數據訪問,適用于具有大數據集的應用程序。

(2)MapReduce是一個軟件框架,以高可靠性、高容錯方式并行處理大型集群(數千個節點)上的海量數據(多TB數據集)。MapReduce作業通常將輸入數據集拆分為獨立的塊,這些任務以完全并行的方式進行處理。

(3)YARN:Hadoop集群資源管理主要依靠資源管理器(YARN)提供細粒度的資源管理。MapReduce作業不需要并行運行所有計算任務,因此可以處理大量的計算任務,具有可擴展性及支持長壽命容器等功能,但它比MPP資源管理器要慢,有時對于并發性管理支持不是很好。

2.3 Hadoop數據查詢

Hadoop的SQL接口有多種工具供選擇,包括MR / Tez/Spark上運行的Hive、SparkSQL、Impala、HAWQ或IBM BigSQL。

(1)Hive將SQL查詢轉換為MR / Tez / Spark作業并在集群上執行。所有作業均基于相同的MapReduce概念構建,提供良好的集群利用率,以及與其它Hadoop堆棧技術的良好集成。缺點是執行查詢延遲大,尤其表連接性能較低,沒有查詢優化器(至少目前是這樣),因此即使是最不合理的查詢引擎也會執行操作。

(2)SparkSQL是介于MapReduce和MPP-over-Hadoop方法之間的一種工具,兼顧兩者優點。與MapReduce相似,將工作分解為一組單獨計劃任務以提供更好的穩定性。在執行階段之間進行流式傳輸數據以加快處理速度,使用類似MPP中的固定執行程序概念減少查詢延遲。

(3)混合方案如Impala和HAWQ類的解決方案,是Hadoop之上的MPP執行引擎,可處理HDFS中存儲的數據。與其它MPP引擎一樣,可提供更低的延遲和更少的查詢處理時間,但代價是可伸縮性和穩定性較低。

3 Hadoop與MPP架構選擇

3.1 節點架構

(1)底層數據庫。MPP底層運行的是SQL引擎,而Hadoop底層處理是MapReduce程序。

(2)擴展程度。MPP雖然支持橫向擴展,但一般只支持擴展到百個節點級別, Hadoop則可以擴展到千個節點級別。

基于Hadoop框架的數據平臺可看作是新一代的分布式數據倉庫產品,而MPP數據庫會應用與大數據類似的解決方案。針對不同使用場景,其發揮的作用和給用戶帶來的體驗也不同。

MPP和Hadoop平臺互為補充,分別用于不同場景。MPP用于高端數據庫產品,Hadoop可部署到普通X86集群。MPP和Hadoop底層支持的硬件不同, Hadoop控制機制大多通過Java代碼實現,而MPP產品則通過SQL進行查詢。Hadoop的子項目“Hive”本質上也是通過MapReduce提供SQL抽象。在許多情況下,與編寫MapReduce作業相比,SQL更容易且生產率更高,具有SQL技能的數據庫專業人員比Hadoop專家更多且成本更低。

3.2 CAP理論

CAP定理(CAP theorem)又稱布魯爾定理(Brewer's theorem),在理論計算機科學中指一個分布式系統最多只能滿足以下3個特征中的兩個:①一致性(Consistency):同一時間系統中所有的節點都具有相同的數據值;②可用性(Availability):系統中即使一個或多個節點發生故障,客戶端的任何請求仍將獲得響應;③分區容忍性(Partition tolerance):即使系統節點之間發生許多通信故障,集群也必須繼續工作。

CAP理論是MPP架構擴展性弱的原因,因為MPP數據庫設計仍然以數據查詢為主要目的,首先考慮一致性,其次考慮可用性,最后在可能的情況下考慮分區容忍性。而Hadoop是為并行處理與存儲設計的,所以數據均以文件存儲,有限考慮分區容忍性,然后考慮可用性,一致性則最后考慮,所以可靠性上Hadoop要優于MPP。

3.3 數據擴展制約性

(1)高可用。MPP數據庫通過將哈希算法應用于分配鍵列值,在數據切片之間確定數據存儲的物理機器,而Hadoop則是通過數據分塊實現分布式存儲,因而Hadoop可用性更強。

(2)并行任務。雖然MPP是根據Hash切分數據的,但是它的任務沒有切分,因此任務都會在每個節點上運行一次。

(3)文件系統。在MPP數據庫中,雖然數據被切分了,但文件數量并未減少,每個表在節點上有一個或多個文件。存儲的表越多節點數就越多,導致系統存儲過多文件。

(4)網絡瓶頸。MPP數據庫大多使用對等節點架構,對等的點對點連接消耗大量網絡寬帶,限制系統線性擴展。Hadoop使用主從節點架構,在線性擴展上強于MPP。

(5)其它關系數據庫限制。關系型數據庫中的鎖機制、日志系統、權限管理、節點管理等瓶頸均限制MPP規模擴大,而Hadoop沒有使用關系型數據庫,并且有專用的分布式一致性管理軟件,因此這些性能要優于MPP。

3.4 技術選擇

Hadoop架構數據存儲、傳統數據倉庫、MPP數據庫技術性能及適用場景對比如表2所示。

因此,Hadoop和MPP兩種技術應根據具體業務以及場景進行選擇。

(1)對于半結構化和非結構化數據,Hadoop在處理上比MPP有一定優勢,適合于海量數據批處理類應用,如海量數據ETL、非結構化數據分析與挖掘(關鍵詞提取、情感分析等)。若系統對非結構化數據存儲需求較大且數據量巨大,需要動態擴展數據節點等,則使用Hadoop架構更為合適。

(2)MPP架構更適合對現有關系型數據庫和數據倉庫系統進行升級或替換,其在數據查詢類業務上比Hadoop更具優勢,適合處理SQL類事務請求、多維度數據分析、展示數據報表等。若大部分存儲數據是結構化數據,數據量不是很大,未來不會爆炸式增長,或業務人員習慣使用SQL場景,則可優先考慮使用MPP數據庫。

(3)MPPDB+Hadoop混合架構是未來海量數據處理發展趨勢。用MPP處理PB級結構化數據存儲與查詢,提供完整的SQL與事務支持功能。用Hadoop處理半結構化、非結構化數據,提供靈活的自定義模型與算法開發能力,同時滿足多種數據類型處理需求,并在實時查詢與離線分析上都能提供較高性能,但MPPDB+Hadoop混合架構開發與維護成本可能較高。一個典型的混合架構如圖5所示。

4 結語

在數據爆炸時代,傳統的數據庫架構處理系統已經不能滿足行業需要。本文從理論及應用角度將兩種主流的海量數據處理架構MPP和Hadoop進行對比,分析各自的技術特點,論述它們與傳統數據處理的優勢。通過分析兩大框架底層核心技術,對其優缺點進行了歸納。Hadoop對海量半結構化、非結構化數據存儲與處理有一定優勢,但在處理速度和易用性上不及MPP。Hadoop靈活性較強,企業可根據自身業務特點進行定制開發。MPP優勢在海量結構化數據處理、響應性能和衍生工具等方面,適用于查詢業務場景較多的項目。隨著Hadoop 生態圈的不斷發展,如Hadoop 的SQL 性能提升、BI工具的不斷豐富, MPP 技術發展會向Hadoop 靠攏。基于MPP 與Hadoop框架并結合Spark內存計算、流計算等技術的混合架構平臺,會成為大型數據處理項目的理想選擇。

參考文獻:

[1] 羅遠浩. MPP數據倉庫的架構及加載技術優化研究[D]. 北京:中國科學院大學,2017.

[2] 郝樹魁. Hadoop HDFS和MapReduce架構淺析[J]. 郵電設計技術,2012,11(7):37-42.

[3] 田雯,劉倩,孫紅恩. MPP數據庫在中國移動大數據應用中的前景分析[J]. 電信工程技術與標準化,2017,30(3):87-91.

[4] 許吳環,顧瀟華. 大數據處理平臺比較研究[J]. 軟件導刊,2017,16(4):212-214.

[5] 陳吉榮,樂嘉錦. 基于Hadoop生態系統的大數據解決方案綜述[J]. 計算機工程與科學,2013,35(10):25-35.

[6] 曹恒瑞,曹展碩. 一種基于Hadoop平臺的分布式數據檢索系統[J]. 軟件導刊,2017,16(4):118-120.

[7] MA S,WANG H,XU B,et al. Banking comprehensive risk management system based on big data architecture of hybrid processing engines and databases[C]. IEEE Smartworld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People & Smart City Innovation,2018:1844-1851.

[8] 鄧涵元,盧山,程光. 基于MPP-Hadoop混合架構高校數據集成系統研究[J]. 計算機技術與發展,2018,28(8):160-163,169.

[9] 劉冰. 公安云混搭架構下的數據安全增強技術研究[J]. 警察技術,2019,18(2):33-36.

[10] 劉磊. 基于大數據的政府審計全覆蓋路徑設計與方法——以MPP及Hadoop技術路線為例[J]. 許昌學院學報,2020,39(1):98-102.

[11] LU X,SU F,LIU H,et al. A unified OLAP/OLTP big data processing framework in telecom industry[C]. Qingdao:International Symposium on Communications & Information Technologies,2016.

[12] VIJAYAKUMAR S,BHARGAVI A,PRASEEDA U,et al. Optimizing sequence alignment in cloud using Hadoop and MPP database[C]. IEEE International Conference on Cloud Computing,2012:819-827.

(責任編輯:杜能鋼)

猜你喜歡
大數據
基于在線教育的大數據研究
中國市場(2016年36期)2016-10-19 04:41:16
“互聯網+”農產品物流業的大數據策略研究
中國市場(2016年36期)2016-10-19 03:31:48
基于大數據的小微電商授信評估研究
中國市場(2016年35期)2016-10-19 01:30:59
大數據時代新聞的新變化探究
商(2016年27期)2016-10-17 06:26:00
淺談大數據在出版業的應用
今傳媒(2016年9期)2016-10-15 23:35:12
“互聯網+”對傳統圖書出版的影響和推動作用
今傳媒(2016年9期)2016-10-15 22:09:11
大數據環境下基于移動客戶端的傳統媒體轉型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數據背景下的智慧城市建設研究
科技視界(2016年20期)2016-09-29 10:53:22
數據+輿情:南方報業創新轉型提高服務能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
主站蜘蛛池模板: 亚洲黄网视频| 国产导航在线| 午夜国产理论| 亚洲视频一区| 99偷拍视频精品一区二区| 欧洲精品视频在线观看| 日韩欧美在线观看| 国产本道久久一区二区三区| 久久精品国产电影| 一级全黄毛片| 茄子视频毛片免费观看| 国产精品999在线| 精品人妻无码中字系列| 亚洲国产日韩一区| 国产超碰一区二区三区| 永久免费无码日韩视频| 啪啪免费视频一区二区| 少妇精品在线| www中文字幕在线观看| 国产白浆视频| 国内丰满少妇猛烈精品播| 国产女人在线观看| 国产一区二区三区精品久久呦| 欧美第九页| a级毛片免费看| 亚洲性日韩精品一区二区| 中文字幕欧美日韩| 亚洲欧洲国产成人综合不卡| 亚洲天堂福利视频| 4虎影视国产在线观看精品| 国产成人久久综合777777麻豆 | 国产精品区视频中文字幕 | 男人天堂伊人网| 韩日免费小视频| 国产精品无码AⅤ在线观看播放| 无码日韩视频| 免费看a级毛片| 亚洲欧美综合在线观看| 五月婷婷综合色| 最新无码专区超级碰碰碰| 人妻少妇久久久久久97人妻| 亚洲天堂精品视频| 亚洲一级毛片在线播放| 亚洲大尺度在线| 日韩欧美91| 亚洲精品卡2卡3卡4卡5卡区| 亚洲综合二区| 国产乱视频网站| 国产精品99在线观看| 欧美一道本| 国产精品天干天干在线观看| 毛片最新网址| 亚洲最大福利视频网| 国产在线一区视频| 亚洲无线观看| 波多野结衣亚洲一区| 孕妇高潮太爽了在线观看免费| 在线亚洲天堂| 狠狠做深爱婷婷久久一区| 亚洲人成网站观看在线观看| 国产精品视频白浆免费视频| 欧美日韩专区| 午夜国产大片免费观看| 天堂在线www网亚洲| 国产精品手机在线观看你懂的| 超级碰免费视频91| 999在线免费视频| 第一区免费在线观看| 日韩专区第一页| 国产精品久久久久久影院| 性色在线视频精品| 97se亚洲综合| 日本人妻丰满熟妇区| 九九线精品视频在线观看| 69av在线| 日本一区二区不卡视频| 日韩成人免费网站| 国产在线视频二区| 亚洲第一中文字幕| 国产黄网站在线观看| 99国产精品国产| 欧美综合区自拍亚洲综合天堂|