初識大數據(三. Hadoop與MPP數據倉庫)
MPP代表大規模並行處理,這是網格計算中所有單獨節點參與協調計算的方法。 是將任務並行的分散到多個服務器和節點上,在每個節點上計算完成後,將各自部分的結果匯總在一起得到最終的結果。 MPP DBMS是建立在這種方法之上的數據庫管理系統。在這些系統中的每個查詢都會被分解為由MPP網格的節點並行執行的一組協調進程,它們的運行時間比傳統的SMP RDBMS系統快得多。該架構的另一個優點是可擴展性,因為可以通過添加新節點擴展網格。為了能夠處理大量的數據,這些解決方案中的數據通常在每個節點只處理其本地數據的方式在節點(分片)之間分割。這是一種完全無共享(Share Nothing)結構,因而擴展能力最好,理論上其擴展無限制,目前技術上可實現512個節點互聯,數千個CPU。MPP有對SQL的完整兼容和一些事務處理功能,如果數據擴展需求不是特別大,數據都是結構化數據,習慣使用傳統RDBMS,可以選擇MPP數據倉庫。
目前有很多關於hadoop技術棧與MPP數據倉庫的討論與對比,很多觀點認為hadoop可以替代MPP,但是從下表的比對可以看出兩者的差異,對於不同的場景以及MPP技術的發展,應該還是處於並存的狀態。另外,基於復雜的數據場景下,混合框架的使用,也還是會存的。我們團隊就使用混合框架構建了數據中心,從而完善OLTP能力。
以下是兩者的比較:
特性 |
Hadoop |
MPP數據倉庫 |
計算節點數 |
可到數千個 |
一般1000個以內 |
數據量 |
支持大於10P |
一般不大於10P |
數據類型 |
關系型,半關系型,無結構化,語音,圖像,視頻 |
關系型 |
時延 |
中/高 |
低(但還是要看數據量和維度的數量) |
應用生態 |
創新型/人工智能 |
傳統數據庫型/BI類 |
應用開發接口 |
SQL,MR,豐富的編程語言接口 |
標準數據庫SQL |
可擴展性 |
無窮的可能,完整的編程接口 |
有限擴展能力,主要通過UDF支持 |
事務支持 |
有限 |
完整 |
價格 |
低 |
高 |
初識大數據(三. Hadoop與MPP數據倉庫)