MPP與Hadoop,兩種主流大資料系統架構有啥區別?
同樣都可以處理大規模資料的MPP資料庫架構與Hadoop體系架構屬於不同的技術體系,二者沒有直接的相關性,卻常常被放在一起進行比較。特別是在企業資料倉儲建設中,MPP架構與Hadoop架構代表兩類典型的技術路線選型,事實上,在2015年左右甚至有人認為基於Hadoop體系的數倉將徹底取代基於MPP資料庫的數倉。
01設計思路對比
兩類系統執行的硬體架構是相同的,都是普通伺服器組成的叢集,但從資源管理角度來說,它們並行化軟體實現的設計思路卻是相反的。
MPP架構相當於對單機的各類資源進行垂直綜合管理,再將多個單機系統橫向連線進行整合,可以說是先垂直後水平。
Hadoop架構相當於將所有機器的儲存資源與計算資源抽象出來,分開管理,再進行元件級的垂直整合,可以說是先水平後垂直。
MPP與Hadoop架構對比如圖1所示。
▲圖1 MPP與Hadoop架構對比
具體分析如下:
MPP架構是將許多單機資料庫透過網路連線起來,相當於將一個個垂直系統橫向連線,形成一個統一對外服務的分散式資料庫系統,每個節點由一個單機資料庫系統獨立管理和操作該節點所在物理機上的所有資源(CPU、記憶體、磁碟、網路),節點內系統的各元件間的相互呼叫不需要透過控制節點,即對控制節點來說,每個節點的內部執行過程相對透明。
Hadoop架構是將不同的資源管理與功能進行分層抽象設計,每層形成一類元件,實現一定程度的解耦,包括儲存資源管理、計算資源管理、通用平行計算框架、各類分析功能等,在每層內進行跨節點的資源統一管理或功能並行執行,層與層之間透過介面呼叫,相互透明,節點內不同層的元件間的相互呼叫需要由控制節點掌握或透過控制節點協調,即控制節點了解每個節點內不同層元件間的互動過程。
02優缺點對比
MPP架構的優缺點總結如下:
支援標準SQL,每個節點都有豐富的事務處理和管理功能;
資源管理精細;
更適合預知資料結構模型的中等規模的固定模式資料管理;
叢集規模調整要求較多,增減節點時通常需要停機,且有的系統只能增加不能減少;
延遲小,相對吞吐量一般,單節點緩慢會拖累整體效能;
表記錄進行水平分割儲存,方法通常包括一致性雜湊(Consistent Hashing)、迴圈寫入(Round Robin),但容易產生資料熱點。
Hadoop架構的優缺點總結如下:
每個節點功能簡單,不具備豐富的資料管理功能,不支援事務;
資料更新採用追加方式實現,同等資料量處理需要的資源更多;
可以不用預先了解資料的格式與內容;
擴充套件性好,支援叢集規模更大,能動態擴容,支援擴充僅用於計算的節點;
延遲高、吞吐量大、容錯性(Failover)好。
總體來說,Hadoop架構在資料量較低的情況下,執行速度遠不及MPP架構,但資料量一旦超過某個量級,Hadoop架構在吞吐量方面將非常有優勢。有些大資料資料倉儲產品也採用混合架構,以融合兩者的優點,例如Impala、Presto等都是基於HDFS的MPP分析引擎,僅利用HDFS實現分割槽容錯性,放棄MapReduce計算模型,在面向OLAP場景時可實現更好的效能,降低延遲。
來自 “ 數倉寶貝庫 ”, 原文作者:鍾大偉;原文連結:https://mp.weixin.qq.com/s/GmbrWjKONbuJ_1dQOHS39A,如有侵權,請聯絡管理員刪除。
相關文章
- MPP大資料系統架構,終於有人講明白了大資料架構
- 大資料系統架構的通用模組有哪些大資料架構
- 超融合架構與傳統IT架構的區別架構
- ZKEYS系統VS星外系統,到底有啥區別?
- immer 和useImmer兩個庫有啥區別
- Hadoop高階資料分析 使用Hadoop生態系統設計和構建大資料系統Hadoop大資料
- Q:Spark和Hadoop的架構區別SparkHadoop架構
- Kappa架構取代Hadoop的Lambda架構成為主流 - WaehnerAPP架構Hadoop
- 什麼是大資料系統架構大資料架構
- 解決方案架構、系統架構和企業架構區別架構
- Mysql兩種主要資料引擎的區別MySql
- TypeScript 中 unknown 與 any 有啥區別TypeScript
- HDFS架構指南(分散式系統Hadoop的檔案系統架構)架構分散式Hadoop
- 資料整合的兩種架構:ELT和ETL架構
- 介面、資料結構、資訊架構的區別資料結構架構
- 大資料平臺基礎架構hadoop安全分析大資料架構Hadoop
- FunData — 電競大資料系統架構演進大資料架構
- 1、大資料 Hadoop配置和單機Hadoop系統配置大資料Hadoop
- 大資料架構師必讀:常見的七種Hadoop和Spark專案案例大資料架構HadoopSpark
- 大資料平臺之大資料處理系統的架構大資料架構
- 常用的幾種大資料架構剖析大資料架構
- 【等保小知識】等保與關保兩者之間有啥區別?
- Telnet是什麼意思?與SSH有啥區別?
- Greenplum資料庫系統架構資料庫架構
- X86架構與ARM架構的區別:架構
- Hadoop(一)Hadoop核心架構與安裝Hadoop架構
- 一圖看懂Hadoop中的MapReduce與Spark的區別:從單機資料系統到分散式資料系統經歷了哪些?HadoopSpark分散式
- 大資料基礎架構Hadoop,終於有人講明白了大資料架構Hadoop
- HBase 系統架構及資料結構架構資料結構
- 資料倉儲與大資料的區別大資料
- 資料架構師、資料分析師、資料工程師,有啥不同,哪個工資高?架構工程師
- require和import有啥區別?UIImport
- 新核心業務系統資料架構規劃與資料治理架構
- 四大CPU架構的區別架構
- 以資料庫為中心的架構與以領域為中心的架構的區別 - DevSDhami資料庫架構dev
- 拆解大資料匯流排平臺DBus的系統架構大資料架構
- 資料庫系統架構討論資料庫架構
- SAP與ERP管理系統的區別有哪些