MPP 小歷史
MPP(Massively Parallel Processing),大規模並行處理,指的是將任務分散到多個節點上,各自計算完成後在合併結果。當談論到 MPP的時候,我們一般指的都是分佈式數據庫(MPP RDBMS),例如 Teradata。為了能將節點們各自獨立並能更好的拓展性能,MPP 架構 採用 shared-nothing 的概念,不共享存儲和計算資源。資料也以sharding的方式儲存在各個節點。
Hadoop 被設計成從單個服務器擴展到數千臺,每臺機器(節點)都提供本地計算和存儲。 Hadoop 本身的設計目的不是依靠硬體來提供高可用性,而是在應用層檢測和處理故障,從而在節點上提供高可用性服務, 每個節點都可能發生故障。它包括 Hadoop Common,Hadoop Distributed File System(hdfs),Hadoop YARN,Hadoop MapReduce。工作場合上,Hadoop 常常被拿來和 MPP RDBMS 比較,
- MPP RDBMS 只能處理結構化數據,而 Hadoop 則處理的大部分是非結構化資料。當然 Hadoop也處理結構化資料,Hive就是 Hadoop 生態圈的資料倉儲解決方案。
- Hadoop以資料塊(block)的方式儲存數據,預設的大小是 128MB,比作業系統裡面的塊概念要大很多(作業系統塊大小是 4KB), 可以根據實際需求修改 HDFS 塊大小的設定。而 RDBMS 則是將資料保存在本地的 file system 上,並根據不同大小的 page size 設定 (4k, 8k, 16k…),會有不同的欄位個數或資料大小限制。
Spark
資料倉儲理論和Spark的架構 SPARK与具体存储解耦,采用的是与shared-nothing MPP数据库不同的“计算与存储分离”的架构,可提供更具弹性的部署方式, 既能独立部署运行,也能够与HDFS集成。
#
#
# Reference
- Hadoop vs MPP
- MPP架構與Hadoop架構是一回事嗎?
- Hadoop與MPP是什麼關係?有什麼區別和聯繫?
- MPP 的进化:深入理解 Batch 和 MPP 优缺点
- https://www.linkedin.com/pulse/hadoop-vs-rdbms-storage-performance-design-gautam-prothia
- 数据平台发展简史 - 从“shared-nothing MPP”到云上“Multi-Cluster shared-data”
- 浅谈Hadoop体系和MPP体系
- mpp架构是什么?它与各种sql on hadoop架构根本区别在那里,优点和缺点是什么?求专业人士赐教?
- Apache Spark vs MPP Databases
- 并行计算模式