讀古今文學網 > OpenStack系統架構設計實戰 > 9.4 Sahara與EMR、Serengeti的對比 >

9.4 Sahara與EMR、Serengeti的對比

9.4.1 Sahara與Amazon EMR的對比

Amazon EMR是一種Web服務,讓企業、研究人員、數據分析師和開發人員能夠輕鬆、經濟、高效地處理海量數據。它基於Amazon Elastic Compute Cloud(Amazon EC2)技術和Amazon Simple Storage Service(Amazon S3)技術的Web規模基礎設施,是一種非開源的Hadoop托管服務運行架構。

Amazon EMR能及時靈活地配置自身所需容量大小,執行數據密集型應用計算,完成諸如Web索引、數據挖掘、日誌文件分析、機器學習、財務分析、科學模擬和生物信息研究等任務。使用Amazon EMR技術,可只專注於數據分析,無須擔心費時的Hadoop集群設置、管理或調整,也無須擔心所依靠的計算能力。

Amazon EMR可有效解決需要快速、高效處理大量數據之類的問題。Web服務接口允許構建處理工作流,並以編程方式監控集群的運行進度。此外,可以使用AWS管理控制台簡潔的Web界面啟動集群,並監控對Amazon EC2實例集群進行的處理密集型計算。

Amazon EMR的基本工作流程如圖9-3所示。

圖9-3 Amazon EMR的基本工作流程

從圖9-3可以看出,用戶在使用EMR時,需要指定輸入輸出數據的存儲位置(輸入數據可以在S3或者本地HDFS中,輸出數據還可以被導出到AWS的數據庫服務中),需要指定Hadoop集群的節點數量及類型、Hadoop版本,以及用於處理數據的應用(如Hive、Pig、HBase)等,以便AWS根據用戶需求創建集群。這與Sahara的EDP模式十分相似。因此,EMR和Sahara的核心服務能力相差不大。

兩者對比:

1)從用戶角度來看,EDP提供了比EMR更低的技術門檻。

EDP用戶只需要指定「哪些數據」「哪個大數據集群」「哪個程序包」這三要素,不需要關心集群如何創建、如何管理等與自己核心業務訴求無關的問題。這樣,EDP用戶可以盡可能地避免接觸不必要的Hadoop集群信息,而更多地關注如何使用已有的集群和工具包來處理自己的數據,並分析輸出結果。

而EMR用戶需要指定的選項更多,意味著需要理解和掌握的概念和細節更多。

2)從雲應用的使用與運維分離的角度來看,EDP更具優勢。

EDP用戶是純粹的大數據業務應用者。本質上來說,EDP模式充分體現了雲應用(這裡指大數據應用)的使用與運維分離的先進思想。

而EMR用戶除了需要在創建集群時指定大量信息外,還需要負責集群和業務的運行管理。因此,EMR用戶身兼業務應用和系統運維兩種職責。儘管「自服務」是AWS乃至整個雲計算的一個基本思想,但對於大數據集群這樣一個自身比較複雜的系統,「自服務」的思維需要有所改變和適應。

3)從大數據整體解決方案來看,EMR更勝一籌。

從解決方案層面看,AWS基於EMR構建的大數據解決方案有著明顯的優勢。這種優勢既體現在一些具體的技術特性方面(如auto-scaling的支持、ganglia業務監控能力的支持等),也體現在與AWS其他服務乃至第三方工具的緊密集成方面,以及豐富實際的應用案例方面。整體而言,基於EMR的大數據解決方案,全面涵蓋了數據的存儲、計算、分析、共享等各個處理環節。

而在整體解決方案方面,Sahara還有待提高。