基於阿裏雲數加MaxCompute的企業大數據倉庫架構建設思路
數加大數據直播係列課程,主要以基於阿裏雲數加MaxCompute的企業大數據倉庫架構建設思路為主題,分享阿裏巴巴的大數據是怎麼演變以及怎樣利用大數據技術構建企業級大數據平台。
本次分享嘉賓是來自阿裏雲大數據的技術專家禕休!
背景與總體思路
數據倉庫是一個麵向主題的、集成的、非易失的、反映曆史變化的數據集合,用於支持管理決策。其結構圖如下所示:
隨著大數據、雲計算等技術的應用和普及,互聯網環境下數據處理呈現出新的特征:業務變化快;數據來源多;係統耦合多;應用深度深。業務變化加快導致數據來源增多,以前的數據大多來自於應用係統數據庫,基本為結構化數據,比如Oracle、MySQL等數據。現在的互聯網環境下有了更多的數據,比如網站的點擊日誌、視頻數據、語音數據,這些數據都需要通過統一的計算來反映企業的經營狀況。在互聯網環境下,係統耦合也相對比較多,最重要的是要注重如何在這樣的環境下加深數據整合、提升應用深度。從應用深度上來說,之前更多專注於報表分析,在大數據環境下則更多地進行算法分析,通過建立數據模型去預測和研判未來趨勢。所以在這種境況下,對於係統的需求也更高:
ÃÂ 要求結果數據盡可能快的獲取;
ÃÂ 實時性需求增多;
ÃÂ 訪問、獲取途徑多樣便捷;
ÃÂ 安全要求高。
在高需求下,傳統倉庫必然麵臨著挑戰:數據量增長過快導致運行效率下降;數據集成代價大;無法處理多樣性的數據;數據挖掘等深度分析能力欠缺。基於這些特征,用戶該如何構建大數據倉庫?在阿裏雲的數據倉庫構建過程中,總結出了以下四個衡量標準:
ÃÂ 穩定——數據產出穩定並有保障,維護係統的穩定性;
ÃÂ 可信——數據幹淨,數據質量足夠高,帶來更高效的應用服務;
ÃÂ 豐富——數據涵蓋的業務麵足夠廣泛;
ÃÂ 透明——數據的構成體係要足夠透明,使得用戶放心。
一個完備的大數據倉庫應該具備海量的數據存儲及處理能力、多樣的編程接口和計算框架、豐富的數據采集通道、多種安全防護措施及監控等特征,所以在架構構建時需要遵循一定的設計準則:
ÃÂ 自上而下+自下而上地設計,數據驅動和應用驅動整合;
ÃÂ 在技術選型上注重高容錯性,保證係統穩定;
ÃÂ 數據質量監控貫穿整個數據處理流程;
ÃÂ 不怕數據冗餘,充分利用存儲交換易用,減少複雜度和計算量。
架構及模型設計
一般來說,數據倉庫的構建需要經曆以上幾個過程。好的架構設計,在功能架構、數據架構、技術架構上,都能夠很好滿足需求:

功能架構示例:結構層次清晰

數據架構示例:注重數據流向,數據質量有保障

技術架構示例:易擴展、易用
構建數倉的首要任務就是模型設計,業界一般采用的建模方法有兩種:
ÃÂ 維度建模:結構簡單;便於事實數據分析;適合業務分析報表和BI。
ÃÂ 實體建模:結構複雜;便於主題數據打通;適合複雜數據內容的深度挖掘。
用戶可以根據實際情況進行區分,而在實際數據倉庫中,星型模型和雪花模型是並存的,有利於數據應用和減少計算資源消耗。
在數據處理分層上,一般采用較多的是上下三層結構:
這樣設計是為了壓縮整體數據處理流程的長度,扁平化的數據處理流程有助於數據質量控製和數據運維;把流式處理作為數據體係的一部分,能夠更加關注數據的時效性,使得數據價值更高。
基礎數據層
數據中間層
圍繞實體打通行為,能將數據源進行整合;從行為抽象關係,則是未來上層應用一個很重要的數據依賴。此外,冗餘是個好手段,能夠保證主題的完整性,提高數據易用性。
數據集市層
需求場景驅動的集市層建設,各集市之間是垂直構建的,需要能夠快速試錯,深度挖掘數據價值。
基於阿裏雲數加搭建大數據倉庫
基於阿裏雲數加搭建大數據倉庫的整個業務流程如下所示:
阿裏雲的數加架構主要分為數據整合、數據體係、數據應用三個層次,如下圖:
結構化數據采集通常涉及到全量采集和增量采集。全量采集是整個數倉的數據初始化,將曆史數據快速地同步到計算平台;增量采集是初始化之後的數據同步。但在數據量巨大、增量數據同步資源消耗嚴重,或者後續的數據應用需要用到準實時數據的情況下,還會采用實時采集的方法,這種方法對采集端係統有一定的要求,而且采集質量最難控製。
事實上,日誌原始結構越規範,解析的成本越低。在日誌采集到平台之前,建議盡量不做結構化,後續再通過UDF或MR計算框架實現日誌結構化。
數據倉庫與阿裏雲數加產品的對應關係
離線數倉:MaxCompute數據共享的安全性
數倉的安全性是最為重要的話題。基於MaxCompute的多租戶數據授權模型,是安全性非常之高的數據共享機製,在數據流、訪問限製等方麵能夠有效防治。
架構設計中的一些最佳實踐

數據表命名規範

分區表、工作流設計

計算框架應用、優化關鍵路徑
實際開發中的一些友好案例
用大數據治理大數據
數據治理分為保障機製、管理、內容建設幾個方麵,並且貫穿數據開發的整個過程:
為了有效衡量數據治理的效果,阿裏雲使用的數據管理健康評估體係能夠正確認識數據管理的健康性,給出數據管理健康分。
在數據治理過程中,比較重要的一點是重複數據治理。重複數據治理有多種表現:
ÃÂ 相同源頭:重複拖取同一張表;
ÃÂ 計算相似:讀取表相同且處理特征相似;
ÃÂ 簡單加工:簡單轉換、裁剪後保存至新表;
ÃÂ 同表同分區:數據保持不更新或業務已停止;
ÃÂ 空跑表:運算結果數據持續為空;
ÃÂ 命名相似:表名或字段名相似度較高;
ÃÂ 特殊規則:通過已知業務規則識別。
數據質量管理體係
數據生命周期管理
總結:阿裏大數據實踐之路
阿裏巴巴大數據-玩家社區 https://yq.aliyun.com/teams/6/
---阿裏大數據博文,問答,社群,實踐,有朋自遠方來,不亦說乎……
最後更新:2017-08-23 11:02:37
上一篇:
安裝laravel踩過的坑:服務器上安裝的兩個版本php惹的禍
下一篇:
業務實時監控服務(ARMS)在票務係統的應用實踐
QT4靜態編譯後,編譯程序總是通不過,提示“ error: collect2: ld returned 1 exit status”
tomcat中conf\Catalina\localhost目錄下的J2EE項目META-INF配置文件
互聯網企業安全高級指南1.2 企業安全包括哪些事情
一個時代的命名
WeakReference與SoftReference
編譯mysql提示錯誤:configure: error: No curses/termcap library found 解決方法
Ext的簡單的測試程序——Hello World
java中byte數組與十六進製字符串相互轉換
Oracle中數據導出成CVS,EXCEL
Android下修改SeekBar樣式