數據中臺架構與技術選型

轉自https://www.sohu.com/a/396680882_411876?scm=1002.44003c.17c024f.PC_ARTICLE_REC
作者:顏博,馬蜂窩數倉研發總監

1、數據中臺架構核心組成

我認爲的數據中臺核心架構包括四大組成部分,具體是:
底座是數據基礎平臺,包括數據採集平臺&計算平臺&存儲平臺,這些可以自建也可以使用雲計算服務;
中間部分兩大塊是中臺的公共數據區,公共數據區包括數據倉庫(數據湖) ,主要負責公共數據模型研發,還包括統一指標(標籤)平臺,負責把模型組織成可以對外服務的數據,例如數據指標、數據標籤;
上層是數據應用服務層,主要將公共數據區的數據對外包裝並提供服務,包括數據接口平臺、多維查詢平臺,數據可視化平臺、數據分析平臺等。

另外,數據研發平臺和數據管理平臺貫穿始終,其中:
1)數據開發平臺包括數據開發的各類工具組合,例如:數據管道工具(比如數據接入、數據導出)、模型設計工具、腳本開發工具、數據調度工具等。
2)數據管理平臺包括統一元數據管理、數據質量管理、數據生命週期管理。針對數據全鏈路的數據管理,保證數據中臺可以監控數據鏈路中的數據流向、數據使用效果、數據生命週期,以衡量數據的價值與成本。

以上是數據中臺的核心部分,數據中臺的組成也可以更加豐富,比如包括:數據資產平臺、算法平臺等等。


在數據中臺的建設中一定不要忽視的是與業務的銜接,因爲數據來源於業務並最終應用於業務,在數據中臺的建設中需要有一系列的流程制度明確與業務的充分銜接,以保障數據源&數據產出的質量。

2、數據中臺技術選型參考

在搭建數據中臺方面,基於開源技術的選型,尤其是Hadoop生態圈有非常多的選擇,從數據整體流向來看各大層級的選型。

數據抽取層:sqoop和flume是兩大主流工具,其中sqoop作爲結構化數據(關係型數據庫)離線抽取,flume作爲非結構化日誌接入;
數據存儲層:Hadoop文件系統Hdfs大家都比較瞭解,而kafka作爲流式數據總線應用也非常廣泛;
計算與調度層,包括:
  離線計算:離線計算主要是hive,spark,也有部分選用tez
  實時計算:前些年storm,spark比較流行,最近幾年大家紛紛往Flink轉型
  數據調度:除了像Airflow Azkaban Oozie等,易觀開源的Dolphin-scheduler也非常活躍
數據引擎層:也就是我們常說的OLAP層,我們看到這一層裏的選擇非常多,就不一一列舉了,(業務需求帶動技術進步的典型,選擇豐富主要是可以適配不同的數據應用場景)。從概念上講分爲ROLAP、MOLAP以及兩者混搭。MOLAP提前做一些預計算,以生成Cube的方式,達到空間換取查詢效率;而ROLAP是即查即用,效率完全取決於查詢引擎的性能,我個人認爲從將來看,ROLAP的趨勢會更加明顯,因爲沒有中間的數據鏈路。但目前看來,沒有一個統一的引擎足以支撐各類數據場景(這或許是將來的機會~);
數據可視化層:比較主流的有Metabase、Superset、Redash,也可以選擇阿里、百度的一些開源控件。

在開源技術的選擇裏,我們看到各層裏都有越來越多國內開源的工具(也充分體現了我們在大數據技術領域的進步)。除了以上列舉的這些,整個Hadoop生態圈的技術選擇非常多,可以結合自己的實際場景選擇自己的架構,在選型層面可以參照的一些原則,比如:

是否有鮮活的成功案例,優先找自己類似業務場景;
接口的開放性,與其他組件的兼容性;
社區活躍性度&發展趨勢。

當然,數據中臺的選型不只是開源技術,開源本身也不是完美的,例如維護開發成本較高,升級迭代不好把控,通過開源技術去建立數據中臺還是有一定研發門檻。

所以也有很多商業化的套件、以及基於雲的數據組件可以選擇,包括數據採集、處理、分析、數據可視化全過程,國內外有很多廠商都提供了豐富的選擇。尤其在大數據可視化這塊,國內有許多非常專業的商業套件。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章