【數據湖開發治理篇】——數據湖開發治理平臺DataWorks

數據湖的定義:

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 等雲上主要數據源類型的元數據管理。功能上涵蓋元數據採集、存儲檢索、在線元數據服務、數據預覽、分類打標、數據血緣、數據探查、影響分析、資源優化等能力。

技術的宏觀架構如圖:

image

產品形態如圖:

image

數據集成:

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

數據集成核心能力:

image

離線同步功能:

image

實時同步功能:

image

數據開發:

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

image

數據開發產品:

image

至此、dataworks在解決了數據湖底層的存儲系統差異的難題後,提供了完備的湖上元數據管理、數據治理、數據遷移轉換、數據計算的全流程能力。讓阿里雲上的數據湖更好的給客戶發揮出業務價值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章