阿里云云原生資料湖體系全解讀——資料湖開發治理平臺 DataWorks

肥叔菌發表於2020-09-30
資料湖的定義:wikipedia 中對於資料湖的定義是: “ A data lake is a system or repository of data stored in its natural/raw format, usually object blobs or files. A data

lake is usually a single store of all enterprise data including raw copies of source system data and transformed data used for tasks such as reporting, visualization, advanced analytics and machine learning.” 可見資料湖是一個通用的資料儲存, 通用到可以儲存任意型別的資料。

資料湖要考慮的首要問題:
從定義看, 一塊 u 盤即符合資料湖的定義。 u 盤可以是資料湖, oss 可以是數湖,hdfs、 盤古也可以是資料湖。 它們均嚴格的符合資料湖的定義。 作為企業的資料湖技術選型第一個需要考慮的問題就是: 採用什麼樣的儲存介質或儲存系統作為自己的資料湖解決方案。 眾所周知, 不同的儲存介質或儲存系統有不同的優勢和劣勢。 比如: 有的儲存系統隨機讀取的響應時間更好、 有的系統批量讀取的吞吐量更好、 有的系統儲存成本更低、 有的系統擴充套件性更好、 有的系統結構化資料組織得更高效…相應的, 這些提到的各個指標中有些恰恰是有些儲存所不擅長的, 如何享有所有儲存系統的優勢、 規避所有儲存系統的劣勢變成了雲上資料湖服務要考慮的首要問題。要解決這個矛盾的問題, 在理論上是不可能一勞永逸的。 聰明的做法是對上提供一個邏輯上的儲存解決方案, 然後讓需要不同訪問特點的資料靈活地在各種底層儲存系統中遷移。通過便捷的資料遷移( 、 以及資料格式轉化) 的能力, 來充分發揮出各個儲存系統的優勢。結論: 成熟的資料湖一定是一個邏輯上的儲存系統, 它的底層是多個各種型別的儲存系統所組成。

資料湖要解決的三大問題

元 數 據 管理 、 數 據 集 成 、 資料 開 發 是 數 據 湖 需要 解 決 的 三 大 問題 , 阿 裡 雲 的DataWorks 作為一個通用的大資料平臺, 除了很好的解決了數倉場景的各類問題, 也同樣解決了資料湖場景中的核心痛點。
後設資料管理
使用者的湖上資料需要有個統一集中的管理能力, 這就成了資料湖的第一個核心能力。DataWorks 的資料治理能力便是用來解決資料湖中的各類儲存系統的後設資料管理的。 目前它管理了雲上 11 中資料來源的後設資料。 涵蓋 OSS、 EMR、 MaxCompute、 Hologres、mysql、 PostgreSQL、 SQL Server、 Oracle、 AnalyticDB for PostgreSQL、AnalyticDB for MySQL 2.0、 AnalyticDB for MySQL 3.0 等雲上主要資料來源型別的後設資料管理。 功能上涵蓋後設資料採集、 儲存檢索、 線上後設資料服務、 資料預覽、 分類打標、資料血緣、 資料探查、 影響分析、 資源優化等能力。技術的巨集觀架構如圖:
在這裡插入圖片描述

資料整合
資料湖中的資料管理起來之後, 就會面臨資料在各個儲存系統中遷移和轉化的能力。 為此 DataWorks 的資料整合能力可以做到 40 種類常見資料來源的匯入匯出及格式轉化的能力, 同時覆蓋了離線和實時兩大同步場景, 以及可以解決對外對接時的複雜網路場景。

資料開發
解決了資料湖的儲存管理和資料遷移問題後, 接下來就是如何讓資料湖中的資料更好的賦能業務。 這就需要引入各類計算引擎, 計算平臺事業部擁有豐富的各類計算引擎, 有開源體系的 spark、 presto、 hive、 flink, 還有自研的 MaxCompute、 Hologres, 這裡的挑戰在於如何方便的發揮各類引擎的長處, 讓湖中的資料能夠被各類引擎訪問和計算。 為此DataWorks 提供了便捷的資料遷移方式( 方便資料在各類引擎中流轉穿梭) 、 提供一站式的資料開發環境, 從即席查詢到週期的 etl 開發, DataWorks 提供了各個計算引擎的統一計算任務的開發和運維能力。
在這裡插入圖片描述

相關文章