天天看點

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

數加大資料直播系列課程,主要以基于阿裡雲數加maxcompute的企業大資料倉庫架建構設思路為主題,分享阿裡巴巴的大資料是怎麼演變以及怎樣利用大資料技術建構企業級大資料平台。

本次分享嘉賓是來自阿裡雲大資料的技術專家祎休!

<b>背景與總體思路</b><b></b>

資料倉庫是一個面向主題的、內建的、非易失的、反映曆史變化的資料集合,用于支援管理決策。其結構圖如下所示:

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

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

要求結果資料盡可能快的擷取;

實時性需求增多;

通路、擷取途徑多樣便捷;

安全要求高。

在高需求下,傳統倉庫必然面臨着挑戰:資料量增長過快導緻運作效率下降;資料內建代價大;無法處理多樣性的資料;資料挖掘等深度分析能力欠缺。基于這些特征,使用者該如何建構大資料倉庫?在阿裡雲的資料倉庫建構過程中,總結出了以下四個衡量标準:

穩定——資料産出穩定并有保障,維護系統的穩定性;

可信——資料幹淨,資料品質足夠高,帶來更高效的應用服務;

豐富——資料涵蓋的業務面足夠廣泛;

透明——資料的構成體系要足夠透明,使得使用者放心。

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

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

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

資料品質監控貫穿整個資料處理流程;

不怕資料備援,充分利用存儲交換易用,減少複雜度和計算量。

<b>架構及模型設計</b><b></b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

一般來說,資料倉庫的建構需要經曆以上幾個過程。好的架構設計,在功能架構、資料架構、技術架構上,都能夠很好滿足需求:

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

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

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

資料架構示例:注重資料流向,資料品質有保障

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

技術架構示例:易擴充、易用

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

次元模組化:結構簡單;便于事實資料分析;适合業務分析報表和bi。

實體模組化:結構複雜;便于主題資料打通;适合複雜資料内容的深度挖掘。

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

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

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

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

<b>基礎資料層</b><b></b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

<b>資料中間層</b><b></b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

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

<b>資料集市層</b><b></b>

<b> </b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

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

<b>基于阿裡雲數加搭建大資料倉庫</b><b></b>

基于阿裡雲數加搭建大資料倉庫的整個業務流程如下所示:

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

阿裡雲的數加架構主要分為資料整合、資料體系、資料應用三個層次,如下圖:

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

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

事實上,日志原始結構越規範,解析的成本越低。在日志采集到平台之前,建議盡量不做結構化,後續再通過udf或mr計算架構實作日志結構化。

<b>資料倉庫與阿裡雲數加産品的對應關系</b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

<b>離線數倉:</b><b>maxcompute</b><b>資料共享的安全性</b><b></b>

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

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

<b>架構設計中的一些最佳實踐</b><b></b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

資料表命名規範

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

分區表、工作流設計

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

計算架構應用、優化關鍵路徑

<b>實際開發中的一些友好案例</b><b></b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路
基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路
基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路
基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

<b>用大資料治理大資料</b><b></b>

資料治理分為保障機制、管理、内容建設幾個方面,并且貫穿資料開發的整個過程:

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

為了有效衡量資料治理的效果,阿裡雲使用的資料管理健康評估體系能夠正确認識資料管理的健康性,給出資料管理健康分。

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

在資料治理過程中,比較重要的一點是重複資料治理。重複資料治理有多種表現:

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

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

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

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

空跑表:運算結果資料持續為空;

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

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

<b>資料品質管理體系</b><b></b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

<b>資料生命周期管理</b><b></b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

<b>總結:阿裡大資料實踐之路</b><b></b>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

<a target="_blank">---阿裡大資料博文,問答,社群,實踐,有朋自遠方來,不亦說乎……</a>

基于阿裡雲數加MaxCompute的企業大資料倉庫架建構設思路

繼續閱讀