NUMA,MPP和HADOOP的區別與聯絡

weixin_34120274發表於2016-12-10

連結:https://www.zhihu.com/question/22037987/answer/24496456

來源:知乎 作者:: 嚴林

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

     MPP  massive parallel process 海量資料並行處理

       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是一種離線海量資料分析架構。

相關文章