数据中台交付专家告诉你,数据架构的分层怎样更加合理?
作者:柯根
從整體上看,數據中臺體系架構可分為:數據采集層、數據計算層、數據服務層三大層次。通過這三大層次對上層數據應用提供數據支撐。
數據采集層
對于企業來說,每時每刻都在產生海量的數據,數據采集作為數據體系第一環尤為重要。
因此在數據采集層需要建立了一套標準的數據采集體系方案,并致力全面、高性能、規范地完成海量數據的采集,將其傳輸到大數據平臺。
互聯網日志采集體系包括兩大體系:Web端日志采集技術方案;APP端日志采集技術方案。
在采集技術之上,企業可以用面向各個場景的埋點規范,來滿足日志數據打通等多種業務場景。同時,還可以建立了一套高性能、高可靠性的數據傳輸體系完成數據從生產業務端到大數據系統的傳輸;在傳輸方面,采集技術可既包括數據庫的增量數據傳輸,也包括日志數據的傳輸;既需要能支持實時流式計算、也能實時各種時間窗口的批量計算。另一方面,也通過數據同步工具直連異構數據庫(備庫)來抽取各種時間窗口的數據。
下圖展示數據采集層在數據分層中的位置:
數據計算層
從采集系統中收集了大量的原始數據后,數據只有被整合、計算才能被用于洞察商業規律、挖掘潛在信息,實現大數據價值,達到賦能商業、創造商業的目的。從采集系統中收集到的大量原始數據,將進入數據計算層中被進一步整合與計算。
面對海量的數據和復雜的計算,數據計算層包括兩大體系:數據存儲及計算云平臺和數據整合及管理體系。
- 數據存儲及計算云平臺
例如,MaxCompute是阿里巴巴自主研發的離線大數據平臺,其豐富的功能和強大的存儲及計算能力使得企業的大數據有了強大的存儲和計算引擎;StreamCompute是阿里巴巴自主研發的流式大數據平臺,在內部較好地支持了企業流式計算需求。
- 數據整合及管理體系
“OneModel”是數據整合及管理的方法體系和工具,大數據工程師在這一體系下,構建統一、規范、可共享的全域數據體系,避免數據的冗余和重復建設,規避數據煙囪和不一致,充分發揮在大數據海量、多樣性方面的獨特優勢。借助這一統一化數據整合及管理的方法體系,構建企業數據公共層,并可以幫助相似大數據項目快速落地實現。
數據中臺數據加工鏈路也是遵循業界的分層理念:包括操作數據層(ODS,Operational Data Store)、明細數據層(DWD,Data Warehouse Detail)、匯總數據層(DWS, Data Warehouse Summary)和應用數據層(ADS,Application Data Store)。通過數據中臺不同層次之間的加工過程實現從數據資產向信息資產的轉化,并且對整個過程進行有效的元數據管理及數據質量處理。
下圖展示數據公共層(ODS+DWD+DWS)與數據應用層(ADS)在數據分層中的位置:
圖:數據公共層與數據應用層關系
(1)統一數據基礎層
我們通過各種方式采集到的豐富數據,在清洗、結構化后進入統一的ODS數據基礎層。
其主要功能包括:
-同步:結構化數據增量或全量同步到數據中臺
-結構化:非結構化(日志)結構化處理并存儲到數據中臺
累積歷史、清洗:根據數據業務需求及稽核和審計要求保存歷史數據、數據清洗
在權責方面,所有數據應該在源頭統一,統一所有的數據基礎層,并由一個團隊負責和管控,其他團隊無權復制數據基礎層的數據。
(2)數據中間層
我們進行數據建模研發,并處理不因業務特別是組織架構變動而輕易轉移的數據中間層。包括DWD明細數據中間層和DWS匯總數據中間層。
其主要功能包括:
-組合相關和相似數據: 采用明細寬表,復用關聯計算,減少數據掃描。
-公共指標統一加工:基于OneData體系構建命名規范、口徑一致和算法統一的統計指標,為上層數據產-品、應用和服務提供公共指標;建立邏輯匯總寬表;
-建立一致性維度:建立一致數據分析維度表,降低數據計算口徑、算法不統一的風險。
在權責方面,面向業務提供服務之前,由統一的團隊負責從業務中抽象出源于業務而又不同于業務的數據域,再主導統一建設數據中間層,包括側重明細數據預JOIN等處理的明細中間層、側重面向應用可復用維度和指標的匯總數據中間層。特別是要由唯一團隊負責將核心業務數據統一加入數據中間層。允許部分業務數據有獨立的數據團隊按照統一的OneModel體系方法論建設數據體系,ODS數據基礎層和DWD+DWS數據中間層因其統一性和可復用性,被稱為數據公共層。
(3)數據應用層
在面向應用提供服務時,業務團隊或深入業務線的數據團隊有極大的自由度,只要依賴數據公共層,即可自由的建設ADS數據應用層。
其主要功能包括:
-個性化指標加工:不公用性;復雜性(指數型、比值型、排名型指標)
-基于應用的數據組裝:大寬表集市、橫表轉縱表、趨勢指標串
數據服務層
當數據已被整合和計算好之后,需要提供給產品和應用進行數據消費,為了更好的性能和體驗,需要構建數據服務層,通過接口服務化方式對外提供數據服務。針對不同的需求,數據服務層的數據源架構在多種數據庫之上,如Mysql和Hbase等。
數據服務可以使應用對底層數據存儲透明,將海量數據方便高效地開放給集團內部各應用使用。如何在性能、穩定性、擴展性等多方面更好地服務用戶;如何滿足應用各種復雜的數據服務需求;如何保證數據服務接口的高可用。隨著業務的發展,需求越來越復雜,因此數據服務也在不斷地前進。
不管是數據公共層還是應用層,最終都需要面向業務提供服務。為了讓業務部門找數據、看數據、用數據更加方便,我們將OpenAPI升級為能緩解業務變化對數據模型沖擊的包括方法論+產品在內的OneService體系,使其在提供統一的公用服務的同時,兼容面向個性化應用的服務。
下圖為數據服務層在數據分層中的位置:
圖:數據應用層與數據服務層關系
綜上,企業數據中臺依托數據采集層、數據計算層、數據服務層,為上層數據產品、業務系統等提供數據支撐。云上數據中臺產品Dataphin從“采、建、管、用”為企業提供一站式數據中臺各層次的實現,配合阿里云系列產品,可實現企業數據中臺全鏈路穩定、高效構建。
?
?
原文鏈接
本文為阿里云原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的数据中台交付专家告诉你,数据架构的分层怎样更加合理?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入理解C++中的RVO
- 下一篇: 因云而生 全新视角看阿里云服务器硬件方升