開發與維運

基於阿里雲大數據平臺開發大數據應用(一):精挑細選,選定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與阿里雲的其他組件想配合,可以實現推薦、報表分析、個性化展現等功能。

基於以上分析,我們發現阿里雲大數據平臺是目前國內雲平臺上的大數據系統的領先解決方案。所以,我們最終選定阿里雲大數據平臺作為我們項目的底層平臺。

Leave a Reply

Your email address will not be published. Required fields are marked *