1. 程式人生 > 其它 >快速瞭解資料湖及其應用

快速瞭解資料湖及其應用

要:本文通過查閱資料,介紹了資料湖的產生及其發展,詳細介紹了資料湖與傳統資料倉庫的區別,列舉了資料湖的優勢和其核心能力,其次介紹瞭如何通過資料湖構建一個分散式資料平臺,構建資料平臺的作用,最後,列舉了資料湖如今發展的不足和相應的擔憂。

關鍵詞:大資料;資料湖;資料倉庫;分散式儲存

中圖分類號:TP301                   文獻標識碼:R                文章編號:xxxx-xxxx(2022)xx-xxxx-xx

Quickly Learn about Data Lakes and its Applications

(SIST of Shijiazhuang Tiedao University,Shijiazhuang 050000,China)

AbstractIn this article, through access to information, this paper introduces the data on the produce and development of the lake, lake data was introduced in detail and the difference between the traditional data warehouse, lists the data the advantage and its core ability of the lake, lake secondly introduces how to use the data to build a platform for distributed data, the effect of building data platform, finally, the development of the lake now lists the data and the corresponding concerns.

Key wordsbig data; data lake; data warehouse; distributed storage

一、產生背景

資料湖或hub的概念最初是由時任Pentaho首席技術官的 James Dixon 在2011 年提出的,表面上看,資料都是承載在基於可向外擴充套件的HDFS廉價儲存硬體之上的,但資料量越大,越需要各種不同種類的儲存。在推廣資料湖時,他認為資料集市存在一些固有問題,例如資訊孤島。普華永道(PwC) 表示,資料湖可以“終結資料孤島”。

所有的企業資料都可以被認為是大資料,但並不是所有的企業資料都是適合存放在廉價的HDFS叢集之上的。資料湖的一部分價值是把不同種類的資料匯聚到一起,另一部分價值是不需要預定義的模型就能進行資料分析。

現在的大資料架構是可擴充套件的,並且可以為使用者提供越來越多的實時分析。在商業智慧(BI)和資料倉庫還沒有被淘汰的今天,大資料分析和大資料湖正在向更多型別的實時智慧服務發展,這些實時的智慧服務可以支援實時的決策制定。

二、概念

資料湖是一個集中式儲存庫,允許您以任意規模儲存所有結構化和非結構化資料。您可以按原樣儲存資料(無需先對資料進行結構化處理),並執行不同型別的分析 – 從控制面板和視覺化到大資料處理、實時分析和機器學習,以指導做出更好的決策。

與資料倉庫中的分層儲存不同,資料湖是在平面架構中儲存大量資料的集中位置。資料湖可以儲存來自關係資料庫、半結構化資料、非結構化資料和二進位制資料的結構化資料,並且可以在“本地”或“雲”中設定。

三、資料湖與資料倉庫的區別

         從定義上看,資料湖(Data Lake)是一個以原始格式儲存資料的儲存庫或系統。它按原樣儲存資料,而無需事先對資料進行結構化處理。一個數據湖可以儲存結構化資料(如關係型資料庫中的表),半結構化資料(如CSV、日誌、XML、JSON),非結構化資料(如電子郵件、文件、PDF)和二進位制資料(如圖形、音訊、視訊)。隨著大資料技術的融合發展,資料湖不斷演變,彙集了各種技術,包括資料倉庫、實時和高速資料流技術、資料探勘、深度學習、分散式儲存和其他技術。逐漸發展成為一個可以儲存所有結構化和非結構化任意規模資料,並可以執行不同型別的大資料工具,對資料進行大資料處理、實時分析和機器學習等操作的統一資料管理平臺。

而資料倉庫是一種具有正式架構的成熟的、安全的技術。它們儲存經過全面處理的結構化資料,以便完成資料治理流程。資料倉庫將資料組合為一種聚合、摘要形式,以在企業範圍內使用,並在執行資料寫入操作時寫入元資料和模式定義。資料倉庫通常擁有固定的配置;它們是高度結構化的,因此不太靈活和敏捷。資料倉庫成本與在儲存前處理所有資料相關,而且大容量儲存的費用相對較高。

資料倉庫中儲存的都是結構化處理後的資料,而資料湖中可以儲存原始資料也可以儲存結構化處理後的資料,保證使用者能獲取到各個階段的資料。因為資料的價值跟不同的業務和使用者強相關,有可能對於A使用者沒有意義的資料,但是對於B使用者來說意義巨大,所以都需要儲存在資料湖中。

四、資料湖核心能力

1、資料整合能力(資料接入)

1)接入不同資料來源,包括資料庫中的表(關係型或者非關係型)、各種格式的檔案(csv、json、文件等)、資料流、ETL工具(Kafka、Logstash、DataX等)轉換後的資料、應用API獲取的資料(如日誌等)。

2)自動生成元資料資訊,確保進入資料湖的資料都有元資料。

3)提供統一的接入方式,如統一的API或者介面。

2、資料儲存

資料湖儲存的資料量巨大且來源多樣,資料湖應該支援異構和多樣的儲存,如HDFS、HBase、Hive等。

3、資料搜尋

資料湖中擁有海量的資料,對於使用者來說,明確知道資料湖中資料的位置,快速的查詢到資料,是一個非常重要的功能。

4、資料治理

1)自動提取元資料資訊,並統一儲存。

2)對元資料進標籤和分類,建立統一的資料目錄。

3)建立資料血緣,梳理上下游的脈絡關係,有助於資料問題定位分析、資料變更影響範圍評估、資料價值評估。

4)跟蹤資料時間旅行,提供不同版本的資料,便於進行資料回溯和分析。

5、資料質量

1)對於接入的資料質量管控,提供資料欄位校驗、資料完整性分析等功能;

2)監控資料處理任務,避免未執行完成任務生成不完備資料。

6、安全管控

1)對資料的使用許可權進行監管。

2)對敏感資料進行脫敏和加密。

7、自助資料發現

1)提供一系列資料分析工具,便於使用者對資料湖的資料進行自助資料發現,包括:

2)聯合分析

3)互動式大資料SQL分析

4)機器學習

5)BI報表

五、分散式大資料架構的建設

首先,分散式大資料架構的建設基於資料湖的儲存和基於雲端計算的伺服器群,包括重新規劃資料中心的軟硬體,部署基於軟體定義儲存(SDS)資源池等。

其次,基於BI(商業智慧)反饋的是精準的資料報表,其基於傳統的資料庫為資料來源,而通過構建資料湖,將碎片化的非結構資料、結構資料、第三方資料和流式(streaming)資料分析,包括批式(batch)資料。並將這些基礎資料通過 ETL 抽取(extract)、轉換(transform)、載入(load)匯入到我們的資料湖中,來構建分散式大資料平臺。

如何構建分散式大資料平臺,可以通過了解 Hadoop、Dubbo zookeeper、SpringCloud 等框架來學習,hadoop是離線的資料分析平臺,而實時的有spark、storm等工具。

建立分散式學習和計算模型、資料探勘、使用機器學習的工具,來處理這些數字資源。通過大資料系統軟體,做主題查詢、檢索、統計、行為分析等服務。另外可以通過管理中心,來控制作業排程管理,資料管理、安全管理、運維管理。基於以上思路,構建適合長期發展的大資料運維環境和計算環境。

六、優勢

(1)輕鬆地收集和攝入資料:企業中的所有資料來源都可以送入資料湖中。因此,資料湖成為了儲存在企業內部伺服器或雲伺服器中的結構化和非結構化資料的無縫訪問點。通過資料分析工具可以輕鬆地獲得整個無孤島的資料集合。此外,資料湖可以用多種檔案格式儲存多種格式的資料,比如文字、音訊、視訊和影象。這種靈活性簡化了舊有資料儲存的整合。

(2)支援實時資料來源:資料湖支援對實時和高速資料流執行 ETL 功能,這有助於將來自 IoT 裝置的感測器資料與其他資料來源一起融合到資料湖中。

(3)更快地準備資料:分析師和資料科學家不需要花時間直接訪問多個來源,可以更輕鬆地搜尋、查詢和訪問資料,這加速了資料準備和重用流程。資料湖還會跟蹤和確認資料血統,這有助於確保資料值得信任,還會快速生成可用於資料驅動的決策的 BI。

(4)更好的可擴充套件性和敏捷性:資料湖可以利用分散式檔案系統來儲存資料,因此具有很高的擴充套件能力。開源技術的使用還降低了儲存成本。資料湖的結構沒那麼嚴格,因此天生具有更高的靈活性,從而提高了敏捷性。資料科學家可以在資料湖內建立沙箱來開發和測試新的分析模型。

(5)具有人工智慧的高階分析:訪問原始資料,建立沙箱的能力,以及重新配置的靈活性,這些使得資料湖成為了一個快速開發和使用高階分析模型的強大平臺。資料湖非常適合使用機器學習和深度學習來執行各種任務,比如資料探勘和資料分析,以及提取非結構化資料。

七、擔憂與不足

資料湖架構面向多資料來源的資訊儲存,包括物聯網在內。大資料分析或歸檔可通過訪問資料湖處理或交付資料子集給請求使用者。但資料湖架構可不僅僅是一個巨大的磁碟而已。

資料湖的資料永續性和安全卻是需要優先考慮的因素。很多選擇都能交付一個合理的成本,但並非所有都能滿足資料湖的長期儲存需求。挑戰就在於資料湖中很多資料永遠不會刪除。這種資料的價值在於它要拿來分析以及和年復一年的資料進行比對,這將抵消其容量成本。

在資料湖架構中,資訊保安作為另一項挑戰往往被人忽視。相比於其它,這種型別的儲存安全要更加重要。資料湖架構從定義上看是將所有的雞蛋放在一個籃子中。而如果其中一個儲存庫的安全被破壞,那麼未知方將可能訪問所有資料。很多資料都以易於讀取的格式儲存,像是JPEG、PDF檔案——如果資料湖架構不夠安全,那麼資訊損失將變得很容易。

參考文獻

[1]汪永濤.大資料時代智慧校園的建設思路[J].電腦知識與技術,2020,16(01):293-294.DOI:10.14004/j.cnki.ckt.2020.0125.

[2]百度百科. 資料湖[EB/OL]. [2022-05-09]. https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E6%B9%96/18750226?fr=aladdin.

[3]bashendixie5. 雜記 什麼是資料湖?[EB/OL]. [2022-05-09]. https://blog.csdn.net/bashendixie5/article/details/124133752.

[4]人生五味. 什麼是資料湖?與資料倉庫有什麼區別?[EB/OL]. [2022-05-09]. https://baijiahao.baidu.com/s?id=1700147313670464427&wfr=spider&for=pc.