摘要: 數加大數據直播系列課程主要以基於阿里雲數加MaxCompute的企業大數據倉庫架構建設思路爲主題分享阿里巴巴的大數據是怎麼演變以及怎樣利用大數據技術構建企業級大數據平臺。 本次分享嘉賓是來自阿里雲大數據的技術專家禕休 背景與整體思路 數據倉庫是一個面向主題的、集成的、非易失的、反映歷史變化的數據集合用於支持管理決策。算法
原文連接:http://click.aliyun.com/m/43803/數據庫
數加大數據直播系列課程,主要以基於阿里雲數加MaxCompute的企業大數據倉庫架構建設思路爲主題,分享阿里巴巴的大數據是怎麼演變以及怎樣利用大數據技術構建企業級大數據平臺。編程
本次分享嘉賓是來自阿里雲大數據的技術專家禕休!安全
背景與整體思路架構
數據倉庫是一個面向主題的、集成的、非易失的、反映歷史變化的數據集合,用於支持管理決策。其結構圖以下所示:框架
隨着大數據、雲計算等技術的應用和普及,互聯網環境下數據處理呈現出新的特徵:業務變化快;數據來源多;系統耦合多;應用深度深。業務變化加快致使數據來源增多,之前的數據大多來自於應用系統數據庫,基本爲結構化數據,好比Oracle、MySQL等數據。如今的互聯網環境下有了更多的數據,好比網站的點擊日誌、視頻數據、語音數據,這些數據都須要經過統一的計算來反映企業的經營情況。在互聯網環境下,系統耦合也相對比較多,最重要的是要注重如何在這樣的環境下加深數據整合、提高應用深度。從應用深度上來講,以前更多專一於報表分析,在大數據環境下則更多地進行算法分析,經過創建數據模型去預測和研判將來趨勢。因此在這種境況下,對於系統的需求也更高:運維
要求結果數據儘量快的獲取;大數據
實時性需求增多;優化
訪問、獲取途徑多樣便捷;網站
安全要求高。
在高需求下,傳統倉庫必然面臨着挑戰:數據量增加過快致使運行效率降低;數據集成代價大;沒法處理多樣性的數據;數據挖掘等深度分析能力欠缺。基於這些特徵,用戶該如何構建大數據倉庫?在阿里雲的數據倉庫構建過程當中,總結出瞭如下四個衡量標準:
穩定——數據產出穩定並有保障,維護系統的穩定性;
可信——數據乾淨,數據質量足夠高,帶來更高效的應用服務;
豐富——數據涵蓋的業務面足夠普遍;
透明——數據的構成體系要足夠透明,使得用戶放心。
一個完備的大數據倉庫應該具有海量的數據存儲及處理能力、多樣的編程接口和計算框架、豐富的數據採集通道、多種安全防禦措施及監控等特徵,因此在架構構建時須要遵循必定的設計準則:
自上而下+自下而上地設計,數據驅動和應用驅動整合;
在技術選型上注重高容錯性,保證系統穩定;
數據質量監控貫穿整個數據處理流程;
不怕數據冗餘,充分利用存儲交換易用,減小複雜度和計算量。
架構及模型設計
通常來講,數據倉庫的構建須要經歷以上幾個過程。好的架構設計,在功能架構、數據架構、技術架構上,都可以很好知足需求:
功能架構示例:結構層次清晰
數據架構示例:注重數據流向,數據質量有保障
技術架構示例:易擴展、易用
構建數倉的首要任務就是模型設計,業界通常採用的建模方法有兩種:
維度建模:結構簡單;便於事實數據分析;適合業務分析報表和BI。
實體建模:結構複雜;便於主題數據打通;適合複雜數據內容的深度挖掘。
用戶能夠根據實際狀況進行區分,而在實際數據倉庫中,星型模型和雪花模型是並存的,有利於數據應用和減小計算資源消耗。
在數據處理分層上,通常採用較多的是上下三層結構:
這樣設計是爲了壓縮總體數據處理流程的長度,扁平化的數據處理流程有助於數據質量控制和數據運維;把流式處理做爲數據體系的一部分,可以更加關注數據的時效性,使得數據價值更高。
基礎數據層
數據中間層
圍繞實體打通行爲,能將數據源進行整合;從行爲抽象關係,則是將來上層應用一個很重要的數據依賴。此外,冗餘是個好手段,可以保證主題的完整性,提升數據易用性。
數據集市層
需求場景驅動的集市層建設,各集市之間是垂直構建的,須要可以快速試錯,深度挖掘數據價值。
基於阿里雲數加搭建大數據倉庫
基於阿里雲數加搭建大數據倉庫的整個業務流程以下所示:
阿里雲的數加架構主要分爲數據整合、數據體系、數據應用三個層次,以下圖:
結構化數據採集一般涉及到全量採集和增量採集。全量採集是整個數倉的數據初始化,將歷史數據快速地同步到計算平臺;增量採集是初始化以後的數據同步。但在數據量巨大、增量數據同步資源消耗嚴重,或者後續的數據應用須要用到準實時數據的狀況下,還會採用實時採集的方法,這種方法對採集端系統有必定的要求,並且採集質量最難控制。
事實上,日誌原始結構越規範,解析的成本越低。在日誌採集到平臺以前,建議儘可能不作結構化,後續再經過UDF或MR計算框架實現日誌結構化。
數據倉庫與阿里雲數加產品的對應關係
離線數倉:MaxCompute數據共享的安全性
數倉的安全性是最爲重要的話題。基於MaxCompute的多租戶數據受權模型,是安全性很是之高的數據共享機制,在數據流、訪問限制等方面可以有效防治。
架構設計中的一些最佳實踐
數據表命名規範
分區表、工做流設計
計算框架應用、優化關鍵路徑
實際開發中的一些友好案例
用大數據治理大數據
數據治理分爲保障機制、管理、內容建設幾個方面,而且貫穿數據開發的整個過程:
爲了有效衡量數據治理的效果,阿里雲使用的數據管理健康評估體系可以正確認識數據管理的健康性,給出數據管理健康分。
在數據治理過程當中,比較重要的一點是重複數據治理。重複數據治理有多種表現:
相同源頭:重複拖取同一張表;
計算類似:讀取表相同且處理特徵類似;
簡單加工:簡單轉換、裁剪後保存至新表;
同表同分區:數據保持不更新或業務已中止;
空跑表:運算結果數據持續爲空;
命名類似:表名或字段名類似度較高;
特殊規則:經過已知業務規則識別。
數據質量管理體系
數據生命週期管理
總結:阿里大數據實踐之路