最近在使用社區開源系統從零構建數據中臺平臺,有挺多的收穫,後續會記錄從零構建數據中臺平臺具體實操經驗。希望能夠幫助傳統企業以及中小型互聯網公司低成本、更好的數字化轉型。
數據中臺平臺從技術角度,需要支持以下維度的功能:
- IAAS(CDH)
- 數據同步
- 數據開發
- 數據開發IDE
- 工作流調度引擎
- 數據運維
- 數據治理
- 數據質量
- 元數據管理
- 數據安全
- 平臺權限
- DevOps
- 監控報警
- 數據服務
- BI可視化展示
IAAS
底層引擎支撐
- 離線開發
- CDH(Hadoop發行版,包括Hive、Spark、HDFS、YARN、MR、ZK等基礎組件)
- 實時開發
- Flink
- 數據源:Kafka、關係型數據庫(主要是Mysql)
- 目標源:Kafka、Hbase、ES
數據同步
數據同步核心解決的問題是,把傳統關係型的全量數據以及增量數據同步到Hadoop Hive庫中或者是Kafka中,以便於根據離線或實時數倉場景做具體的使用。目前針對離線以及實時數倉場景,數據同步主要有如下兩個比較穩定的插件:
- DataX(離線場景)
- Flume(實時場景)
如果能夠做到把DataX和Flume做整合,給上層提供統一的數據同步接口會更好。
數據開發
這塊涉及兩個重要環節。數據開發IDE、工作流調度引擎。
數據開發IDE
- 支持各種腳本、SQL IDE功能。
工作流調度引擎
可選的引擎主要有如下四種:
- Easy Scheduler
- Azkaban
- Oozie
- Airflow
數據運維
能夠支持對數據開發運行的任務實例進行:
- 大盤metrics展示
- 補數據
- 重跑任務上下游
- 基線報警&報警配置
數據治理
數據治理主要涉及兩個大的功能:
- 數據質量(DQC)
- 元數據管理
數據質量(DQC)
DQC這塊開源比較好的選擇是eBay開源的Griffin。
數據質量在數據科學領域是至關重要的。在大數據時代,企業決策調整,商機發現等越來越依賴於大數據的數據分析和數據挖掘,而數據質量的保證是所有一切數據分析和數據挖掘的基礎。
Apache Griffin是一個應用於分佈式數據系統中的開源數據質量解決方案。在Hadoop, Spark, Storm等分佈式系統中,提供了一整套統一的流程來定義和檢測數據集的質量並及時報告問題。
元數據管理
元數據管理核心在更好的維護數據血緣關係,能夠支持表級別、字段級別數據血緣關係。
為後續的數據發現、數據追朔、標籤體系構建、數據資產運營等提供支撐。
這塊可選的有三種:
- WhereHows
- Data-Hub
- Atalas
初定Atalas,具體的對比可以參考後續markdown文檔。
數據安全
數據安全涉及幾大類:
- 底層Hadoop層面存儲、計算能力的數據安全,這塊可以用apache的 Kerberos或者Ranger解決。
- 組件之間通信協議數據安全:
- 工作流調度Master與Slave之間通信協議(主要是HTTP)數據的加密,以及安全認證。這個主要是混合部署模式下非常有價值和必要。
- 數據服務對外暴露API需要有訪問安全控制,以及根據用戶需要對數據進行加密。
平臺權限
多用戶&多租戶資源隔離
Kerberos或Ranger只解決Hadoop層面多用戶的隔離。但是對於數據中臺平臺,目標的對象不僅僅是Hadoop的存儲、計算能力,而是數據開發(包括實時和離線開發)這個重要環節。所有的DQC、元數據管理、數據安全都是在努力為它服務。
一個公司,擁抱數據中臺,就自然而然意味著數據中臺平臺是整個公司數字化轉型的基礎設施。
就自然而然會使得如下職責人員在同一個平臺協作:
- 數倉開發(實時、離線)
- 大數據運維(主要是涉及數據運維,以及數倉項目多環境發佈)
- 數據分析
- BI
- 業務方(主要是使用數據服務提供的API接口)
- 運營(主要是使用HQL、Adhoc場景取數,以及使用BI報表)
所以,使得多租戶權限控制和隔離非常重要。
多租戶隔離需要做到幾點:
- 數據源使用權限的嚴格限定;
- 開發任務訪問、執行權限的嚴格限定;
- 數據服務對外暴露API權限的嚴格限定
DevOps
數據中臺平臺在DevOps場景,主要是多環境支持的需求。這個其實前期可以做的比較弱,後期可以慢慢加強。
核心解決問題是多套環境以及規範測試開發、上線流程。
嚴格意義上,一個完整的上線規範包括:測試 -> 預發 -> 生產,這套流程是需要在我們的數據中臺平臺上完成的。我們平臺需要有套機制幫助用戶更好的:
- 規範流程
- 提供預發、生產變更機制
- 提供預發、生產回滾機制
- 多線下版本維護
- 細粒度權限控制
- 監控&報警支持
通用監控報警服務
需要有套完整的監控報警服務,能夠根據自定義上報上的數據或者是採集的數據,根據配置的閾值以及規則進行
有效的報警,並對報警的情況進行監控。數據服務
數據服務主要解決問題是:把底層關係型數據庫的數據API化,使得上層的應用能夠更好的使用數據中臺平臺開發好的數據。
這塊涉及兩個問題要解決:
- SQL Proxy
- API網關
BI可視化
BI可視化解決問題是把底層各種關係型數據庫數據、多維聚合數據圖表化展示。
主要支持數據源
- 傳統關係型數據庫
- Kylin等多維離線聚合OLAP引擎
- Hbase等NoSQL場景
- ES
豐富圖表類型支持
要求儘量支持如下圖表類型:
- 表格
- 柱狀圖
- 餅圖
- KPI
- 漏斗圖
- 桑基圖
- 雷達圖
- 氣泡圖
- 對比圖
- 標籤雲
- 熱點圖
- 關係圖
END
閱讀更多 起點數據中臺 的文章