天天看點

阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

一、什麼是資料湖方案

資料湖目前在國内外是比較熱的方案,

MarketsandMarkets市場調研顯示

預計資料湖市場規模在2024年會從2019年的79億美金增長到201億美金。一些企業已經建構了自己的雲原生資料湖方案,有效解決了業務痛點;還有很多企業在建構或者計劃建構自己的資料湖,

Gartner 2020年釋出的報告顯示

目前已經有39%的使用者在使用資料湖,34%的使用者考慮在1年内使用資料湖。在建構自己的資料湖之前還是需要充分評估什麼是資料湖、資料湖方案能夠帶來什麼價值、如何快速建構資料湖。

1.1 什麼是資料湖

Wikipedia上說資料湖是一類存儲資料自然/原始格式的系統或存儲,通常是對象塊或者檔案,包括原始系統所産生的原始資料拷貝以及為了各類任務而産生的轉換資料,包括來自于關系型資料庫中的結構化資料(行和列)、半結構化資料(如CSV、日志、XML、JSON)、非結構化資料(如email、文檔、PDF等)和二進制資料(如圖像、音頻、視訊)。

從上面可以總結出資料湖具有以下特性:

  • 資料來源:原始資料、轉換資料
  • 資料類型:結構化資料、半結構化資料、非結構化資料、二進制
  • 資料湖存儲:可擴充的海量資料存儲服務

1.2 資料湖方案價值

資料湖的定義可以看出相比較資料庫、資料倉庫等,資料湖要處理的資料類型更加開放、更加複雜。資料庫主要是處理結構化資料的聯機事務;資料倉庫主要處理大資料量結構化資料的分析。而資料湖主要是對海量的結構化、半結構化、非結構化、二進制資料進行存儲,同時還需要對這些資料進行管理和價值挖掘。接下來可以看下雲上沉澱的典型資料湖方案:

方案一:一站式端到端資料湖存儲、管理、分析&計算方案

  • 場景:企業在建構資料湖方案時,期望建構完整、通用、可擴充的解決方案,涉及到資料攝入、資料存儲、資料管理、資料價值挖掘全鍊路,同時需要有上下遊工具的支援。
  • 方案價值:資料攝入側支援一鍵建湖、流式入湖歸檔資料到OSS存儲;資料管理側支援對Database、文本、流式資料統一到OSS上面建構中繼資料管理;資料分析及計算側支援通過Serverless Spark進行ETL及複雜計算、Serverless SQL(相容 Presto)進行互動式查詢。工具對接側支援對接DMS排程、業務APP、QuickBI來進行管理。
    阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

方案二:OSS 大規模資料(自由程式設計)清洗&機器學習方案

  • 場景:企業對存儲在OSS上面的大規模資料需要進行多種計算負載處理,比如ETL、機器學習、圖計算等,同時利用python、java、scala、R等生态進行自由程式設計。
  • 方案價值:DLA Serverless Spark能夠友好的支援該場景。彈性方面Serverless Spark完全彈性,1分鐘啟動300個節點進行計算;生态方面Serverless Spark的多資料源能力,提供外部資料源批量入庫、聯邦分析能力;算法及Code方面支援 Python、使用者Code、機器學習等原生KPI;離線數倉(複雜分析)方面支援複雜分析,提供天/月級别的報表等。
    阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

方案三:不同類型資料源聯邦查詢分析方案

  • 場景:企業的業務系統資料一般存儲在資料庫比如MySQL、MongoDB等;日志資料因為資料量大的特性會存儲在OSS上面。通過資料湖分析方案能夠讓這兩種資料進行聯邦查詢,釋放資料價值。
  • 方案價值:DLA Serverless SQL(相容Presto)支援15種以上的資料源,能夠滿足95%的聯邦分析資料源對接。DLA Serverless SQL支援高效的互動式查詢,在讀寫資料源端做了大量下推優化。DLA Serverless SQL通過JDBC可以對接包括DMS、QuickBI、tableau等系統滿足業務開發需求。
    阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

二、建構資料湖方案面臨的挑戰

上面的兩個資料湖方案是各大企業在阿裡雲上面通過實踐沉澱下來的。還是有不少企業會問這兩個資料湖方案确實很有價值,但是在落地的過程中總是會遇到一些問題,導緻方案落地緩慢,比如:

  • 如何建構資料的統一管理視圖:OSS不像資料庫及資料倉庫具有中繼資料管理系統,導緻海量資料存儲後難以管理。另外各個資料庫、資料倉庫等系統有自己的中繼資料,形成了資料孤島,難以進行統一管理,釋放資料聯邦分析價值;
  • 如何建構多租戶的權限管理:如果全域資料都使用資料湖方案管理,企業多部門研發人員共同使用資料湖挖掘價值,但是缺少有效的資料租戶及權限隔離,産生資料風險;
  • 如何自動化的建構中繼資料:OSS上面的檔案量巨大、且這些資料是動态增長變化的;如果手動建立中繼資料一方面效率低,同時無法滿足動态更新的需求;
  • 如何簡單的進行資料入湖:為了滿足資料寫入的實時性,比如日志場景資料的入口是在類似Kafka、Loghub等消息系統,這些資料怎麼高效的歸檔到OSS進行後續的分析?存儲在資料庫中的資料以前為了節省成本,以及保證穩定性,通常會隻保留最近一段時間的資料,在有資料湖方案後,想要把這些資料歸檔到資料湖做後續的分析,那麼如何簡單高效的歸檔到OSS資料湖呢?

結合使用者的這些挑戰和痛點,阿裡雲

資料湖分析服務DLA

的資料湖管理功能可以有效的提高建構資料湖的效率,接下來一起把這些功能玩轉起來吧

三、DLA高效的資料湖管理功能

阿裡雲資料湖分析服務DLA的

資料湖管理功能

定位為幫助使用者建構統一、安全、高效、開放的資料湖解決方案。從下面的資料湖方案整體架構圖可以看出:

  • 存儲對接:資料湖管理向下管理好資料湖存儲的資料,包括建構OSS目錄的中繼資料系統以及友善的把流式資料及Database的資料歸檔到OSS管理起來;
  • 分析與計算支援:資料湖管理向上為多種資料湖計算引擎提供統一的中繼資料系統,目前支援資料湖原生分析與計算引擎DLA Serverless SQL(相容Presto)、DLA Serverless Spark;部分Hadoop&Spark生态,比如Apache Hudi;AnalyticDB、MaxCompute、EMR等系統也可以對接資料湖管理的中繼資料系統。
    阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

資料湖管理核心功能包括:中繼資料管理、中繼資料爬取、資料入湖、實時資料湖。下面一起來看下這些功能是如何高效的幫助建構資料湖的。

3.1 中繼資料管理

資料湖存儲的資料量更加大、資料格式更加豐富,為了對這些資料進行安全的管理和挖掘價值,需要一套同時具備基本管理能力、多租戶權限管理能力、擴充能力、開放能力的統一進制資料系統。阿裡雲資料湖分析服務DLA的中繼資料系統具備這些能力。

3.1.1 DLA中繼資料管理介紹

下面是資料湖分析服務DLA的中繼資料管理系統的架構圖:

  • 存儲層:DLA中繼資料管理系統是一套多租戶的服務,管理所有使用者中繼資料,目前是每個regoin部署一套。智能資料路由層,用來做租戶中繼資料的存儲管理,能夠根據使用者中繼資料量級動态擴充調整;
  • 核心服務層:中繼資料管理系統提供database、table、partition的服務進行庫、表、分區、列的管理能力,同時支援使用租戶服務、權限服務、生命周期管理,權限粒度可以支援到庫、表、列;
  • 接入層:統一進制資料管理服務為了支援更多計算引擎對接,同時支援通過JDBC、阿裡雲OpenAPI來使用中繼資料服務;目前以JDBC為主,阿裡雲OpenAPI對接進行中。身份認證支援對接阿裡雲RAM賬号體系,以及DLA賬号體系。同時會有中繼資料相關的請求QPS監控。
  • 生态層:目前這套中繼資料管理支援對接雲原生的資料湖分析引擎DLA Serverless SQL&Spark;開源Hadoop&Spark,其中Apache 頂級項目Hudi已經原生支援了阿裡雲資料湖分析中繼資料 HUDI-841 ;阿裡雲資料庫備份DMS也使用這套中繼資料作為其備份資料湖分析的中繼資料系統;AnalyticDB、EMR、MaxCompute等也可以進行對接。
    阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

3.1.2 DLA中繼資料管理上手

  • 可視化全局管理視圖

    如下圖可以在阿裡雲資料湖分析DLA的控制台“中繼資料管理”進行中繼資料的操作,比如“建立Schema”、檢視庫表資訊、查詢資料等。

阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能
  • 建立中繼資料
    • 自動化中繼資料建立:可以參考3.2中繼資料爬取、3.3資料入湖的詳細介紹
    • SQL手動建立:支援 HIVE風格的DDL文法
    • SQL自動建立:支援 create table like mapping 文法自動識别資料源檔案的列,減少手寫很多列及類型的麻煩;支援 MSCK REPAIR DATABASE 文法自動把Database下面的表建立好;支援 MSCK REPAIR TABLE 自動把table下面的分區和資料目錄建立映射好。
  • 權限管理:目前支援通過JDBC進行權限的 GRANT和REVOKE ,通過阿裡雲OpenAPI也在研發中
    • GRANT:權限類型可以取值為SELECT、 SHOW、 ALTER、DROP、CREATE、INSERT、UPDATE、DELETE、GRANT OPTION、 ALL、ALL PRIVILEGES、USAGE等,通過這些類型進行使用者的權限授權
    • REVOKE:和GRANT對稱,可以進行使用者權限的撤銷授權。

3.2 中繼資料爬取

使用者基于OSS進行資料湖存儲時,資料具有規模大、格式豐富、動态變化、非結構化字段多的特點,這種情況下手動建立的可行性及成本會比較高。

3.2.1 DLA中繼資料爬取介紹

中繼資料爬取功能可以自動為OSS上面的資料檔案建立及更新資料湖中繼資料,友善分析和計算。具有自動探索檔案資料字段及類型、自動映射目錄和分區、自動感覺新增列及分區、自動對檔案進行分組建表的能力。目前主要支援了自動爬取OSS上面的中繼資料,Database的自動中繼資料建構在開發中。核心功能包括:

  • 自動探索格式:企業存儲在OSS上面的資料格式多種多樣,比如常見的有json、csv、parquet、orc等,同時不同檔案裡面的字段數目及類型也是多種多樣的。DLA中繼資料爬取功能具備自動探索這些schema的能力。
  • 增量發現:存儲在OSS上面的資料是動态變化的,比如使用者會向同一個目錄下面持續的上傳檔案,且檔案的字段數也會增加、Loghub 投遞到OSS 上面的檔案會增量的通過日期目錄來寫入等。中繼資料爬取功能能夠覆寫這些場景;
  • 規模擴充:随着要爬取的OSS上面檔案規模的增大,中繼資料爬取任務可以自動彈性伸縮資源來保證中繼資料爬取任務端到端的延遲。
阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

3.2.2 DLA中繼資料爬取10分鐘上手

使用DLA的中繼資料爬取可以通過DLA的控制台,同時中繼資料爬取開放阿裡雲OpenAPI也在研發中,同時也會被內建到其他雲産品中。下面一起玩轉一下中繼資料爬取功能:

  • 建立任務:左側選擇要爬取的具體OSS路徑,右側配置爬取的中繼資料要存儲到DLA中繼資料系統的Schema名稱即可,其他進階選項根據實際需求調整。
阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能
  • 任務管理:爬取任務會自動周期運作,可以通過這個界面管理任務的運作情況。支援檢視任務的運作狀态、配置的修改、跳轉到DLA的SQL視窗進行快速的資料查詢。
阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

3.3 資料入湖

企業并不是所有業務資料直接存儲在資料湖OSS中,其他的業務資料存儲主要有兩類包括消息中間件、Database,而這些資料都有歸檔存儲到資料湖OSS中進行統一計算分析的需求。是以簡單易用的資料入湖功能成為普遍的需求。

3.3.1 DLA資料入湖介紹

阿裡雲資料湖分析DLA的資料入湖支援Database的全量&增量&多庫合并建入湖、支援消息中間件資料的實時入湖等能力。

  • Database一鍵建湖:主要支援全量、增量、多庫合并三種模式,其中增量模式正在開發中;核心價值如下:
    • 豐富的資料源:包含OLTP的MySQL、SQLServer、POLARDB等,同時支援NoSQL的mongoDB等;
    • 自動感覺源庫結構變化:能夠自動識别源庫的增表、增加字段等同步更新到OSS資料湖;
    • 整庫多表建湖:一鍵建湖能夠自動同步資料庫的整個Database下面所有表,而不需要每張表都去單獨配置;
    • 分表&分庫合并建湖:有些業務場景為了提高OLTP的查詢性能及資料隔離性,經常會進行分庫及分表。目前某使用者使用該功能支援了8200+ SqlServer庫合并到一個DLA的庫裡面,這樣可以對分庫的資料進行中心化統一分析。
    • 源庫影響最小化:資料入湖通過動态調整源庫連接配接數的方式、以及選擇業務低峰期歸檔, 最小化對源庫的影響。
阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能
  • 實時資料入湖:對于雲kafka、Loghub等消息中間、資料庫的CDC資料可以通過“實時資料入湖”方案建構資料湖。

該方案基于DLA Serverless的Spark Streaming以及資料湖增量存儲格式Apache HUDI來建構,通過HUDI增量寫入OSS的資料,同時自動在DLA的中繼資料系統建構中繼資料。

詳細介紹可以參考文章

,核心優勢如下:    

  • 全鍊路資料延遲可達分鐘級别,打造T + 0 資料湖;
  • 支援資料增量存儲在OSS,支援Upsert/Delete,同時自動建構中繼資料管理;
  • 豐富的資料源,支援阿裡雲上超過95%資料源;
  • 一份資料存儲在OSS,通過DLA Meta增量管理,降低存儲成本低;
阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

3.3.2 Database一鍵建湖

使用一鍵建湖可以通過DLA的控制台,同時可以通過資料管理DMS進行。下面主要介紹DLA控制台的使用,關于DMS使用一鍵建湖可以

參考視訊

  • 建立一鍵建湖:左側選擇資料源,可以包括RDS、PolarDB、MongoDB、ECS自建資料庫;右側配置源庫的驗證資訊,以及在DLA生成的中繼資料名稱即可。
阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能
  • 任務管理:對于周期運作的建湖任務可以進行全局的管理,以及對建好的湖進行分析。
阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能

四、展望與總結

資料湖分析DLA 是 Serverless的架構,支援 【按需與保留】 資源使用,打造最具成本效益的資料湖分析平台;

提供一站式的資料湖分析與計算服務,支援 ETL、機器學習、流、互動式分析,可以與OSS、資料庫等多種資料源搭配使用;功能包括:資料入湖,中繼資料管理與自動發現,支援雙引擎:【SQL(相容Presto)分析、Spark計算服務】。其中資料湖管理這塊會朝着更易用、更開放、更可靠方向疊代。

注:資料湖管理

控制台使用連結

,資料湖管理及DLA的

幫助文檔
阿裡雲雲原生資料湖分析DLA重磅釋出-資料湖管理,助力企業一站式管理OSS資料湖存儲資料 一、什麼是資料湖方案二、建構資料湖方案面臨的挑戰三、DLA高效的資料湖管理功能