一、數據湖方案的價值
數據湖方案相比較數據庫、數據倉庫、Hadoop等,數據湖要處理的數據類型更加開放、更加複雜。數據湖主要是對海量的結構化、半結構化、非結構化、二進制數據進行存儲,同時還需要對這些數據進行管理和價值挖掘。接下來可以看下雲上沉澱的典型數據湖方案:
方案一:一站式端到端數據湖存儲、管理、分析&計算方案
場景:企業在構建數據湖方案時,期望構建完整、通用、可擴展的解決方案,。
方案價值:滿足數據攝入、數據存儲、數據管理、數據價值挖掘一體化能力。
方案二:OSS 大規模數據(自由編程)清洗&機器學習方案
場景:企業對存儲在OSS上面的大規模數據需要進行多種計算負載處理。
方案價值:Serverless Spark完全彈性;原生支持Spark全部生態能力。
方案三:不同類型數據源聯邦查詢分析方案
場景:期望MySQL、MongoDB等數據庫的數據和存儲在OSS上面的行爲日誌數據進行關聯分析。
方案價值:DLA Serverless SQL(兼容Presto)支持15種以上的數據源的聯邦分析。
二、構建數據湖方案面臨的挑戰
上面的兩個數據湖方案是各大企業在阿里雲上面通過實踐沉澱下來的。當前企業在落地數據湖方案具體會遇到的挑戰主要包括:
如何構建數據的統一管理視圖?
如何構建多租戶的權限管理?
如何自動化的構建元數據?
如何簡單的進行數據入湖?
結合用戶的這些挑戰和痛點,阿里雲數據湖分析服務DLA的數據湖管理功能可以有效的提高構建數據湖的效率,接下來一起把這些功能玩轉起來吧
三、DLA高效的數據湖管理功能
阿里雲數據湖分析服務DLA的數據湖管理功能定位爲幫助用戶構建統一、安全、高效、開放的數據湖解決方案。從下面的數據湖方案整體架構圖可以看出:
存儲對接:數據湖管理向下管理好數據湖存儲的數據;
分析與計算支持:數據湖管理向上爲多種數據湖計算引擎提供統一的元數據系統。
數據湖管理核心功能包括:元數據管理、元數據爬取、數據入湖、實時數據湖。下面一起來看下這些功能是如何高效的幫助構建數據湖的。
3.1 元數據管理
爲了對數據湖的數據進行安全的管理和挖掘價值,需要一套同時具備基本管理能力、多租戶權限管理能力、擴展能力、開放能力的統一元數據系統。阿里雲數據湖分析服務DLA的元數據系統具備這些能力。
3.1.1 DLA元數據管理介紹
下面是數據湖分析服務DLA的元數據管理系統的架構圖,整個元數據管理包含四個層次:存儲層、核心服務層、接入層、生態層。
3.1.2 DLA元數據管理上手
- 可視化全局管理視圖:支持“創建Schema”、查看庫表信息、查詢數據等。
創建元數據:支持元數據爬取、數據入湖、SQL手動創建、SQL自動創建等3) 權限管理:目前支持通過JDBC進行權限的GRANT和REVOKE,通過阿里雲OpenAPI也在研發中。
3.2 元數據爬取
用戶基於OSS進行數據湖存儲時,數據具有規模大、格式豐富、動態變化、非結構化字段多的特點,這種情況下手動創建的可行性及成本會比較高。
3.2.1 DLA元數據爬取介紹
元數據爬取功能可以自動爲OSS上面的數據文件創建及更新數據湖元數據,方便分析和計算。
自動探索格式:自動探索文件數據字段及類型、自動映射目錄和分區;
增量發現:自動感知新增列及分區;
規模擴展:數據爬取任務可以自動彈性伸縮資源來保證元數據爬取任務端到端的延遲;
成本:免費使用。
3.2.2 DLA元數據爬取10分鐘上手
使用DLA的元數據爬取可以通過DLA的控制檯:
- 創建任務:左側選擇要爬取的具體OSS路徑,右側配置爬取的元數據要存儲到DLA元數據系統的Schema名稱即可,其他高級選項根據實際需求調整。
- 任務管理:支持查看任務的運行狀態、配置的修改、跳轉到DLA的SQL窗口進行快速的數據查詢。
3.3 數據入湖
企業期望對存儲在消息中間件、Database的數據都有歸檔存儲到數據湖OSS中進行統一計算分析。簡單易用的數據入湖功能成爲普遍的需求。
3.3.1 DLA數據入湖介紹
阿里雲數據湖分析DLA的數據入湖包含DataBase一鍵建湖、實時數據湖兩個重要功能。
- DataBase一鍵建湖:主要支持全量、增量、多庫合併三種模式,支持OLTP的MySQL、SQLServer、POLARDB等,同時支持NoSQL的mongoDB等;
- 實時數據入湖:對於雲kafka、Loghub等消息中間、數據庫的CDC數據可以通過“實時數據入湖”方案構建數據湖。
全鏈路數據延遲可達分鐘級別,打造T + 0 數據湖;一份數據存儲在OSS,通過DLA Meta增量管理,降低存儲成本低。
3.3.2 Database一鍵建湖
使用一鍵建湖可以通過DLA的控制檯,同時可以通過數據管理DMS進行。
- 創建一鍵建湖:左側選擇數據源,可以包括RDS、PolarDB、MongoDB、ECS自建數據庫;右側配置源庫的驗證信息,以及在DLA生成的元數據名稱即可。
- 任務管理:對於週期運行的建湖任務可以進行全局的管理,以及對建好的湖進行分析。