MPP 與 Hadoop是什麼關係?

時間 2022-01-05 03:35:49

1樓:褚超

題主的問題中涉及幾個不同層次的概念,我來試著捋清楚一下:

1. 先從體系架構上說一下NUMA和 MPP的區別和聯絡:和NUMA對應的SMP,它是為了更好地scale SMP而設計,內部有多個CPU模組(每個模組有多個CPU),每個模組有本地的記憶體,但是各個CPU也可以訪問其它模組的記憶體,當然,訪問本模組的記憶體要比其它更快,這就是為什麼稱作非一致性訪問。

由於這個特點,NUMA也只能在一些特定workload情況下才能scale得更好,例如當多CPU處理不同data,不會像SMP因為share memory而導致過多的cache miss。相對來說,MPP是「更高」一級的概念,它是多個SMP組合在一起來進行scale的,是乙個伺服器集群。總體說來,NUMA更適合OLTP場景,而MPP適合OLAP。

2. 至於MPP與Hadoop的關係,一般對二者進行比較的時候,說的都是MPP based查詢引擎(例如GreenPlum)和Hadoop based (typically batch based,如Hive)查詢引擎之間的比較。關於這兩種方案的具體區別,可以參考這個回答 中提到的參考資料以及這篇文章。

現在也有例如cloudera Impala這樣基於Hadoop上的MPP 查詢引擎

總得來說,Hadoop ecosystem對於海量資料處理的是夠用了,但是目前所有主流的"SQL on Hadoop"的solution (不管是batch based Hive, Tez, Spark SQL, 還是MPP based Impala, Presto, Pinot等),都還沒有達到傳統的MPP 引擎例如Teradata的成熟度和效能,這個和HDFS的儲存架構也是有點關係的,是個比較難解決的問題。

2樓:

先從NUMA說起吧,NUMA全稱為Non-Uniform Memory Access,是主流服務伺服器為了提高SMP的可擴充套件性而採用的一種體系結構。主流伺服器一般由多個NUMA節點組成,每個NUMA節點是乙個SMP結構,一般由多個CPU組成,並且具有本地記憶體和IO裝置。NUMA節點可以直接訪問本地記憶體,也可以通過NUMA互聯模組訪問其他NUMA節點的記憶體,但是訪問本地記憶體的速度遠遠高於遠端訪問速度,因此,開發程式要儘量減少不同NUMA節點之間的資訊互動。

MPP是一種海量資料實時分析架構。MPP作為一種不共享架構,每個節點執行自己的作業系統和資料庫等,節點之間資訊互動只能通過網路連線實現。MPP架構目前被並行資料庫廣泛採用,一般通過scan、sort和merge等操作符實時返回查詢結果。

目前採用MPP架構的實時查詢系統有EMC Greenplum、HP Vertica和Google Dremel,這些都是實時資料處理領域非常有特點的系統,尤其是Dremel可以輕鬆擴充套件到上千臺伺服器,並在數秒內完成TB級資料的分析。

Hadoop作為乙個開源專案群本身和MPP並沒有什麼直接關係,Hadoop中的子專案MapReduce雖然也是做資料分析處理的,但是一般只適用於離線資料分析,區別與MPP較為明顯。因為Map和Reduce兩個過程涉及到輸出檔案的訪問和大量網路傳輸,因此往往達不到實時處理的要求。與MapReduce相似的系統還有Microsoft Dryad和Google pregel。

綜上所述,NUMA是一種體系結構,MPP是一種實時海量資料分析架構,而Hadoop是乙個關於資料儲存處理的專案群,其中的MapReduce是一種離線海量資料分析架構。

sin a 與 sin a 是什麼關係?

我覺得其實是定義sin x 和sinx的問題,就是對於後面的東西前面的sin到底是個算符還是個函式。做函式用的話關係應該是 sin a 2,做算符用則是sin a 2,而且sin的兩種表示形式在一篇文章中都有可能混用。所以這個表述其實是易錯的。就跟學c語言考你 i i 一樣,依賴於編譯器 sin是文...

質子與夸克是什麼關係?

樓上Minglei Xiao講的很棒。我補充一點點對稱性的內容。我們知道電子可以是自旋上也可以是自旋下。舉個 不恰當 的例子,這就好像硬幣的正反面一樣,雖然長得不一樣但是本質是同一樣事物。我們引入一種類似向量的寫法 術語叫做spinor 電子的任意自旋態都可以寫成這兩個的線性疊加。我們說電子的spi...

僵 與 僵 是什麼關係?

Pteraoron 衍生関係,改換形旁。幾乎所有衍生出 死亡 這一含義的詞都有後起的 從 歺 或從 死 的字形,如 殞 隕 歿 沒 須要說明的是,歺 與 死 的字形與 消亡,死亡 這一含義都沒有直接関係。歺 是鏟狀工具的像形字,該字形一般配合 又 右手 出現在 挖掘 含義相関的字中,有可能就讀作 鏟...