阿里巴巴大数据实践—阿里巴巴的数据模型实践综述
來源:數智化轉型俱樂部
阿里巴巴集團很早就已經把大數據作為其戰略目標實施,而且其各個業務也非常依賴數據支撐運營,那么阿里巴巴究竟采取何種方法構建自己的數據倉庫模型呢?阿里巴巴的數據倉庫模型建設經歷了多個發展階段。
1.完全應用驅動時代
第一個階段:完全應用驅動的時代,阿里巴巴的第一代數據倉庫系統構建在Oracle上,數據完全以滿足報表需求為目的,將數據以與源結構相同的方式同步到Oracle(稱作ODS層),數據工程師基于ODS數據進行統計,基本沒有系統化的模型方法體系,完全基于對Oracle數據庫特性的利用進行數據存儲和加工,部分采用一些維度建模的緩慢變化維方式進行歷史數據處理。這時候的數據架構只有兩層,即ODS+DSS。
2.四層模型架構時代
第二個階段:隨著阿里巴巴業務的快速發展,數據量也在飛速增長,性能成為一個較大的問題,因此引入了當時MPP架構體系的Greenplum,同時阿里巴巴的數據團隊也在著手進行一定的數據架構優化,希望通過一些模型技術改變煙囪式的開發模型,消除一些冗余,提升數據的一致性。來自傳統行業的數據倉庫工程師開始嘗試將工程領域比較流行的ER模型+維度模型方式應用到阿里巴巴集團,構建出一個四層的模型架構,即ODL(操作數據層)+BDL(基礎數據層)+IDL(接口數據層)+ADL(應用數據層)。ODL和源系統保持一致;BDL希望引入ER模型,加強數據的整合,構建一致的基礎數據模型;IDL基于維度模型方法構建集市層;ADL完成應用的個性化和基于展現需求的數據組裝。在此期間,我們在構建ER模型時遇到了比較大的困難和挑戰,互聯網業務的快速發展、人員的快速變化、業務知識功底的不夠全面,導致ER模型設計遲遲不能產出。至此,我們也得到了一個經驗:在不太成熟、快速變化的業務面前,構建ER模型的風險非常大,不太適合去構建ER模型。
3.公共層模型數據架構體系時代
第三個階段:阿里巴巴集團的業務和數據還在飛速發展,這時候迎來了以Hadoop為代表的分布式存儲計算平臺的快速發展,同時阿里巴巴集團自主研發的分布式計算平臺MaxCompute也在緊鑼密鼓地進行著。我們在擁抱分布式計算平臺的同時,也開始建設自己的第三代模型架構,這時候需要找到既適合阿里巴巴集團業務發展,又能充分利用分布式計算平臺能力的數據模型方式。我們選擇了以Kimball的維度建模為核心理念的模型方法論,同時對其進行了一定的升級和擴展,構建了阿里巴巴集團的公共層模型數據架構體系。
數據公共層建設的目的是著力解決數據存儲和計算的共享問題。阿里巴巴集團當下已經發展為多個BU,各個業務產生龐大的數據,并且數據每年以近2.5倍的速度在增長,數據的增長遠遠超過業務的增長,帶來的成本開銷也是非常令人擔憂的。
阿里巴巴數據公共層建設的指導方法是一套統一化的集團數據整合及管理的方法體系(在內部這一體系稱為“OneData”),其包括一致性的指標定義體系、模型設計方法體系以及配套工具。注:本書中出現的部分專有名詞、專業術語、產品名稱、軟件項目名稱、工具名稱等,是淘寶(中國)軟件有限公司內部項目的慣用詞語,如與第三方名稱雷同,實屬巧合。
?
原文鏈接
本文為阿里云原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的阿里巴巴大数据实践—阿里巴巴的数据模型实践综述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 菜鸟+Hologres=智能物流
- 下一篇: 阿里巴巴大数据实践:OneData模型实