深度 | 面向雲原生數據湖的元數據管理技術解析
背景 數據湖當前在國內外是比較熱的方案,MarketsandMarkets市場調研顯示預計數據湖市場規模在2024年會從2019年的79億美金增長到201億美金。一些企業已經構建了自己的雲原生數據湖方案,有效解決了業務痛點;還有很多企業在構建或者計劃構建自己的數據湖,Gartner 2020年發佈的報告顯示目前已經有39%的用戶在使用數據湖,34%的用戶考慮在1年內使用數據湖。隨著對象存儲等雲原生存儲技術的成熟,一開始大家會先把結構化、半結構化、圖片、視頻等數據存儲在對象存儲中。當需要對這些數據進行分析時,發現缺少面向分析的數據管理視圖,在這樣的背景下業界在面向雲原生數據湖的元數據管理技術進行了廣泛的探索和落地。 一、元數據管理面臨的挑戰 1、什麼是數據湖 Wikipedia上說數據湖是一類存儲數據自然/原始格式的系統或存儲,通常是對象塊或者文件,包括原始系統所產生的原始數據拷貝以及為了各類任務而產生的轉換數據,包括來自於關係型數據庫中的結構化數據(行和列)、半結構化數據(如CSV、日誌、XML、JSON)、非結構化數據(如email、文檔、PDF、圖像、音頻、視頻)。 從上面可以總結出數據湖具有以下特性: 數據來源:原始數據、轉換數據 數據類型:結構化數據、半結構化數據、非結構化數據、二進制 數據湖存儲:可擴展的海量數據存儲服務 2、數據湖分析方案架構 當數據湖只是作為存儲的時候架構架構比較清晰,在基於數據湖存儲構建分析平臺過程中,業界進行了大量的實踐,基本的架構如下: 主要包括五個模塊: 數據源:原始數據存儲模塊,包括結構化數據(Database等)、半結構化(File、日誌等)、非結構化(音視頻等) 數據集成:為了將數據統一到數據湖存儲及管理,目前數據集成主要分為三種形態。第一種為直接通過外表的方式關聯元數據;第二種為基於ETL、集成工具、流式寫入模式,這種方式直接處理數據能夠感知Schema,在寫入數據的過程中同時創建元數據;第三種為文件直接上傳數據湖存儲,需要事後異步構建元數據 數據湖存儲:目前業界主要使用對象存儲以及自建HDFS集群 元數據管理:元數據管理,作為連接數據集成、存儲和分析引擎的總線 數據分析引擎:目前有豐富的分析引擎,比如Spark、Hadoop、Presto等,他們通常通過對接元數據來獲得數據的Schema及路徑;同時比如Spark也支持直接分析存儲路徑,在分析過程中進行元數據的推斷 我們可以看到元數據管理是數據湖分析平臺架構的總線,面向數據生態要支持豐富的數據集成工具對接,面向數據湖存儲要進行完善的數據管理,面向分析引擎要能夠提供可靠的元數據服務。 […]