天天看點

基于阿裡雲大資料平台開發大資料應用(一):精挑細選,標明MaxCompute

由于工作需要,作者需要指導大學生開發一系列大資料應用。作者将這一過程記錄下來,就形成了這個“基于阿裡雲大資料平台開發大資料應用”的系列文章。這篇文章是本系列文章的第一篇,主要介紹為什麼標明阿裡雲MaxCompute平台作為項目開發的基礎平台。

目前,基于大資料開發新型的資料倉庫系統已經是一個主流開發需求。從我們的需求出發,選擇MaxCompute的理由可以總結為:高性能帶來的高成本效益,整個運作和生産環節的穩定性,資料共享和安全的平衡,應用開發的複雜度,基于阿裡雲大資料平台建構應用的友善。

具體來說,我們通過調研發現,阿裡雲大資料計算服務MaxCompute 是一種快速、完全托管的 TB/PB 級資料倉庫解決方案 。MaxCompute 向使用者提供了完善的資料導入方案以及多種經典的分布式計算模型,能夠更快速的解決使用者海量資料計算問題,有效降低企業成本,并保障資料安全 。同時,大資料開發套件和 MaxCompute關系緊密,大資料開發套件為 MaxCompute 提供了一站式的資料同步,任務開發,資料工作流開發,資料管理和資料運維等功能。

其次,MaxCompute 主要服務于批量結構化資料的存儲和計算,可以提供海量資料倉庫的解決方案以及針對大資料的分析模組化服務 。随着資料收集手段的不斷豐富及完善,越來越多的行業資料被積累下來 。資料規模已經增長到了傳統軟體行業無法承載的海量資料級别 。在分析海量資料場景下,由于單台伺服器的處理能力限制,資料分析者通常采用分布式計算模式 。但分布式的計算模型對資料分析人員提出了較高的要求,且不易維護 。使用分布式模型,資料分析人員不僅需要了解業務需求,同時還需要熟悉底層計算模型。 MaxCompute 為使用者了提供一種便捷的分析處理海量資料的手段 。開發者可以不必關心分布式計算細節,進而達到分析大資料的目的 。

再次,與其他大資料平台相比,MaxCompute在多方面具有重大突破:提供了非結構化的處理,在雲上開始使用開放的對象存儲、開放的表格存儲,在資料分析方面進行了CPU和GPU統一的架構。具體來說,在雲上,現在存儲非結構化資料情況越來越多,比如存儲視訊、音頻、圖像,存儲文本、标簽等。很多需要在這個過程中能夠進行進一步的計算,比如希望存儲的文本檔案能夠在MaxCompute上直接對其進行計算,進而完成非結構化資料到結構化資料的轉換。MaxCompute 提供了外部表的方式,可以将非結構化資訊映射成一個外部表來進行表式的處理。

資料安全是大資料應用的一個必備需求。MaxCompute應對多個項目要安全共享資料的天然訴求,開發了一整套更細粒度的授權體系。基于項目的方式,讓更多的安全得到控制的一個非常重要的原則是最小化原則:僅僅授權給最小需要資料的人,在企業裡做到權責分離。通過不同的授權方式,MaxCompute讓不同的部門得到合理的授權,確定資料安全的權限下發到最小的部門。

從上面的分析大家可以看出,作為雲服務,MaxCompute具有顯著的優點:開通即用,非常便利;在雲上,借助于大規模的規模效應帶來的高性能、低成本;資料安全、可靠;支援多種分布式計算模型,計算架構發展到今天,沒有一種架構能夠滿足所有的場景,MaxCompute可以做離線計算、批量計算,學習能力強;相容生态開放,提供了衆多接口和生态的工具。

是以,基于阿裡雲MaxCompute,可以建構完整的大資料應用架構,包括資料采集、資料內建、資料開發、資料運維、資料應用的工具。資料來源是基于阿裡雲的ECS、RDS、OSS,通過阿裡雲提供的資料管理功能同步上來做資料倉庫,進一步來做開發。MaxCompute處于阿裡雲整個計算平台的核心位置。MaxCompute與阿裡雲的其他元件想配合,可以實作推薦、報表分析、個性化展現等功能。

基于以上分析,我們發現阿裡雲大資料平台是目前國内雲平台上的大資料系統的領先解決方案。是以,我們最終標明阿裡雲大資料平台作為我們項目的底層平台。

繼續閱讀