回覆列表
  • 1 # 殤心愛人

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

  • 中秋節和大豐收的關聯?
  • 新型肺炎疫情結束後,野釣會不會受到限制?