1. 程式人生 > >基於阿裏雲數加MaxCompute的企業大數據倉庫架構建設思路

基於阿裏雲數加MaxCompute的企業大數據倉庫架構建設思路

架構

摘要: 數加大數據直播系列課程主要以基於阿裏雲數加MaxCompute的企業大數據倉庫架構建設思路為主題分享阿裏巴巴的大數據是怎麽演變以及怎樣利用大數據技術構建企業級大數據平臺。 本次分享嘉賓是來自阿裏雲大數據的技術專家祎休 背景與總體思路 數據倉庫是一個面向主題的、集成的、非易失的、反映歷史變化的數據集合用於支持管理決策。

原文鏈接:http://click.aliyun.com/m/43803/

數加大數據直播系列課程,主要以基於阿裏雲數加MaxCompute的企業大數據倉庫架構建設思路為主題,分享阿裏巴巴的大數據是怎麽演變以及怎樣利用大數據技術構建企業級大數據平臺。

本次分享嘉賓是來自阿裏雲大數據的技術專家祎休!

背景與總體思路

數據倉庫是一個面向主題的、集成的、非易失的、反映歷史變化的數據集合,用於支持管理決策。其結構圖如下所示:

技術分享圖片

隨著大數據、雲計算等技術的應用和普及,互聯網環境下數據處理呈現出新的特征:業務變化快;數據來源多;系統耦合多;應用深度深。業務變化加快導致數據來源增多,以前的數據大多來自於應用系統數據庫,基本為結構化數據,比如Oracle、MySQL等數據。現在的互聯網環境下有了更多的數據,比如網站的點擊日誌、視頻數據、語音數據,這些數據都需要通過統一的計算來反映企業的經營狀況。在互聯網環境下,系統耦合也相對比較多,最重要的是要註重如何在這樣的環境下加深數據整合、提升應用深度。從應用深度上來說,之前更多專註於報表分析,在大數據環境下則更多地進行算法分析,通過建立數據模型去預測和研判未來趨勢。所以在這種境況下,對於系統的需求也更高:

要求結果數據盡可能快的獲取;

實時性需求增多;

訪問、獲取途徑多樣便捷;

安全要求高。

在高需求下,傳統倉庫必然面臨著挑戰:數據量增長過快導致運行效率下降;數據集成代價大;無法處理多樣性的數據;數據挖掘等深度分析能力欠缺。基於這些特征,用戶該如何構建大數據倉庫?在阿裏雲的數據倉庫構建過程中,總結出了以下四個衡量標準:

穩定——數據產出穩定並有保障,維護系統的穩定性;

可信——數據幹凈,數據質量足夠高,帶來更高效的應用服務;

豐富——數據涵蓋的業務面足夠廣泛;

透明——數據的構成體系要足夠透明,使得用戶放心。

一個完備的大數據倉庫應該具備海量的數據存儲及處理能力、多樣的編程接口和計算框架、豐富的數據采集通道、多種安全防護措施及監控等特征,所以在架構構建時需要遵循一定的設計準則:

自上而下+自下而上地設計,數據驅動和應用驅動整合;

在技術選型上註重高容錯性,保證系統穩定;

數據質量監控貫穿整個數據處理流程;

不怕數據冗余,充分利用存儲交換易用,減少復雜度和計算量。

架構及模型設計

技術分享圖片

一般來說,數據倉庫的構建需要經歷以上幾個過程。好的架構設計,在功能架構、數據架構、技術架構上,都能夠很好滿足需求:
技術分享圖片
功能架構示例:結構層次清晰

技術分享圖片
數據架構示例:註重數據流向,數據質量有保障
技術分享圖片
技術架構示例:易擴展、易用

構建數倉的首要任務就是模型設計,業界一般采用的建模方法有兩種:

維度建模:結構簡單;便於事實數據分析;適合業務分析報表和BI。

實體建模:結構復雜;便於主題數據打通;適合復雜數據內容的深度挖掘。

用戶可以根據實際情況進行區分,而在實際數據倉庫中,星型模型和雪花模型是並存的,有利於數據應用和減少計算資源消耗。

在數據處理分層上,一般采用較多的是上下三層結構:

技術分享圖片

這樣設計是為了壓縮整體數據處理流程的長度,扁平化的數據處理流程有助於數據質量控制和數據運維;把流式處理作為數據體系的一部分,能夠更加關註數據的時效性,使得數據價值更高。

基礎數據層

技術分享圖片

數據中間層
技術分享圖片

圍繞實體打通行為,能將數據源進行整合;從行為抽象關系,則是未來上層應用一個很重要的數據依賴。此外,冗余是個好手段,能夠保證主題的完整性,提高數據易用性。

數據集市層
技術分享圖片

需求場景驅動的集市層建設,各集市之間是垂直構建的,需要能夠快速試錯,深度挖掘數據價值。

基於阿裏雲數加搭建大數據倉庫

基於阿裏雲數加搭建大數據倉庫的整個業務流程如下所示:
技術分享圖片

阿裏雲的數加架構主要分為數據整合、數據體系、數據應用三個層次,如下圖:
技術分享圖片

結構化數據采集通常涉及到全量采集和增量采集。全量采集是整個數倉的數據初始化,將歷史數據快速地同步到計算平臺;增量采集是初始化之後的數據同步。但在數據量巨大、增量數據同步資源消耗嚴重,或者後續的數據應用需要用到準實時數據的情況下,還會采用實時采集的方法,這種方法對采集端系統有一定的要求,而且采集質量最難控制。

事實上,日誌原始結構越規範,解析的成本越低。在日誌采集到平臺之前,建議盡量不做結構化,後續再通過UDF或MR計算框架實現日誌結構化。

數據倉庫與阿裏雲數加產品的對應關系

技術分享圖片

離線數倉:MaxCompute數據共享的安全性

數倉的安全性是最為重要的話題。基於MaxCompute的多租戶數據授權模型,是安全性非常之高的數據共享機制,在數據流、訪問限制等方面能夠有效防治。

技術分享圖片

架構設計中的一些最佳實踐

技術分享圖片
數據表命名規範
技術分享圖片
分區表、工作流設計
技術分享圖片
計算框架應用、優化關鍵路徑

實際開發中的一些友好案例
技術分享圖片

技術分享圖片

技術分享圖片
技術分享圖片

用大數據治理大數據

數據治理分為保障機制、管理、內容建設幾個方面,並且貫穿數據開發的整個過程:

技術分享圖片

為了有效衡量數據治理的效果,阿裏雲使用的數據管理健康評估體系能夠正確認識數據管理的健康性,給出數據管理健康分。
技術分享圖片

在數據治理過程中,比較重要的一點是重復數據治理。重復數據治理有多種表現:

相同源頭:重復拖取同一張表;

計算相似:讀取表相同且處理特征相似;

簡單加工:簡單轉換、裁剪後保存至新表;

同表同分區:數據保持不更新或業務已停止;

空跑表:運算結果數據持續為空;

命名相似:表名或字段名相似度較高;

特殊規則:通過已知業務規則識別。

數據質量管理體系

技術分享圖片

數據生命周期管理

技術分享圖片
總結:阿裏大數據實踐之路
技術分享圖片

識別以下二維碼,閱讀更多幹貨
技術分享圖片

基於阿裏雲數加MaxCompute的企業大數據倉庫架構建設思路