什麼是數據湖|數據湖基本架構
數據湖的概念目前非常熱,很多人都在討論數據湖應該怎麼建,阿里雲是否有成熟的數據湖解決方案,阿里雲的數據湖解決方案有沒有實際落地的案例,怎麼理解數據湖,數據湖和大數據平台有什麼不同,等問題,本系列文章將圍繞數據湖進行解析。
本文包括以下內容:1. 什麼是數據湖 2. 數據湖基本架構 3. 基於雲的數據湖框架,下一篇文章將會介紹數據湖與數據倉庫的區別。
本文包括以下內容:1. 什麼是數據湖 2. 數據湖基本架構 3. 基於雲的數據湖框架,下一篇文章將會介紹數據湖與數據倉庫的區別。
1. 什麼是數據湖
在計劃構建數據湖之前,了解什麼是數據湖,明確一個數據湖項目的基本組成,進而設計數據湖的基本架構,對於數據湖的構建至關重要。
數據湖是統一存儲池,可對接多種數據輸入方式,您可以存儲任意規模的結構化、半結構化、非結構化數據。數據湖可無縫對接多種計算分析平台,直接進行數據處理與分析,打破孤島,洞察業務價值。同時,數據湖提供冷熱分層轉換能力,覆蓋數據全生命週期。
關於數據湖的定義有很多,但是基本上都圍繞著以下幾個特性:
(1)數據湖需要提供足夠用的數據存儲能力,這個存儲保存了一個企業/組織中的所有數據。
(2)數據湖可以存儲海量的任意類型的數據,包括結構化、半結構化和非結構化數據。
(3)數據湖中的數據是原始數據,是業務數據的完整副本。數據湖中的數據保持了他們在業務系統中原來的樣子。
(4) 數據湖需要具備完善的數據管理能力(完善的元數據),可以管理各類數據相關的要素,包括數據源、數據格式、連接信息、數據schema、權限管理等。
(5) 數據湖需要具備多樣化的分析能力,包括但不限於批處理、流式計算、交互式分析以及機器學習;同時,還需要提供一定的任務調度和管理能力。
(6)數據湖需要具備完善的數據生命週期管理能力。不僅需要存儲原始數據,還需要能夠保存各類分析處理的中間結果,並完整的記錄數據的分析處理過程,能幫助用戶完整詳細追溯任意一條數據的產生過程。
(7)數據湖需要具備完善的數據獲取和數據發布能力。數據湖需要能支撐各種各樣的數據源,並能從相關的數據源中獲取全量/增量數據;然後規範存儲。數據湖能將數據分析處理的結果推送到合適的存儲引擎中,滿足不同的應用訪問需求。
(8)對於大數據的支持,包括超大規模存儲以及可擴展的大規模數據處理能力。
因此,數據湖應該是一種不斷演進中、可擴展的大數據存儲、處理、分析的基礎設施;以數據為導向,實現任意來源、任意速度、任意規模、任意類型數據的全量獲取、全量存儲、多模式處理與全生命週期管理;並通過與各類外部異構數據源的交互集成,支持各類企業級應用。
數據湖是統一存儲池,可對接多種數據輸入方式,您可以存儲任意規模的結構化、半結構化、非結構化數據。數據湖可無縫對接多種計算分析平台,直接進行數據處理與分析,打破孤島,洞察業務價值。同時,數據湖提供冷熱分層轉換能力,覆蓋數據全生命週期。
關於數據湖的定義有很多,但是基本上都圍繞著以下幾個特性:
(1)數據湖需要提供足夠用的數據存儲能力,這個存儲保存了一個企業/組織中的所有數據。
(2)數據湖可以存儲海量的任意類型的數據,包括結構化、半結構化和非結構化數據。
(3)數據湖中的數據是原始數據,是業務數據的完整副本。數據湖中的數據保持了他們在業務系統中原來的樣子。
(4) 數據湖需要具備完善的數據管理能力(完善的元數據),可以管理各類數據相關的要素,包括數據源、數據格式、連接信息、數據schema、權限管理等。
(5) 數據湖需要具備多樣化的分析能力,包括但不限於批處理、流式計算、交互式分析以及機器學習;同時,還需要提供一定的任務調度和管理能力。
(6)數據湖需要具備完善的數據生命週期管理能力。不僅需要存儲原始數據,還需要能夠保存各類分析處理的中間結果,並完整的記錄數據的分析處理過程,能幫助用戶完整詳細追溯任意一條數據的產生過程。
(7)數據湖需要具備完善的數據獲取和數據發布能力。數據湖需要能支撐各種各樣的數據源,並能從相關的數據源中獲取全量/增量數據;然後規範存儲。數據湖能將數據分析處理的結果推送到合適的存儲引擎中,滿足不同的應用訪問需求。
(8)對於大數據的支持,包括超大規模存儲以及可擴展的大規模數據處理能力。
因此,數據湖應該是一種不斷演進中、可擴展的大數據存儲、處理、分析的基礎設施;以數據為導向,實現任意來源、任意速度、任意規模、任意類型數據的全量獲取、全量存儲、多模式處理與全生命週期管理;並通過與各類外部異構數據源的交互集成,支持各類企業級應用。
2. 數據湖基本架構
數據湖採用扁平化架構,因為這些數據既可能是非結構化,也可能是半結構化或結構化,而且是從組織內的各種來源所收集,而數據倉庫則是把數據存儲在文件或文件夾中。數據湖可託管於本地或云端。
鑑於其架構特點,數據湖可大規模擴展,能達到艾字節。這一點很重要,因為創建數據湖時,您通常並不知道需要保存的數據量。傳統數據存儲系統就無法以這種方式擴展。
這種架構可以大大方便了數據科學家,因為他們可以通過這種架構挖掘和探索企業的數據,並共享和相互參照數據(包括不同領域的異構數據),以便進行提問並找到新的分析。他們還可以利用大數據分析和機器學習分析數據湖中的數據。
雖然數據在存入數據湖之前沒有固定的模式,但利用數據監管,你仍然可以有效避免出現數據沼澤。數據在存入數據湖時應被標記為元數據,以確保隨後可以存取。
鑑於其架構特點,數據湖可大規模擴展,能達到艾字節。這一點很重要,因為創建數據湖時,您通常並不知道需要保存的數據量。傳統數據存儲系統就無法以這種方式擴展。
這種架構可以大大方便了數據科學家,因為他們可以通過這種架構挖掘和探索企業的數據,並共享和相互參照數據(包括不同領域的異構數據),以便進行提問並找到新的分析。他們還可以利用大數據分析和機器學習分析數據湖中的數據。
雖然數據在存入數據湖之前沒有固定的模式,但利用數據監管,你仍然可以有效避免出現數據沼澤。數據在存入數據湖時應被標記為元數據,以確保隨後可以存取。
3. 基於雲的數據湖框架
數據湖的支柱包括可擴展和持久的數據存儲,收集和組織數據的機制以及處理和分析數據以及共享發現的工具。因此,我們專注於任何現代數據湖中應包含的關鍵技術,以支持大數據意味著任何類型的數據。
雲具有無限的資源。基於雲的服務特別適合數據湖,因為它為我們提供了無限的資源,這意味著雲基礎架構可在幾分鐘或幾秒鐘內按需提供幾乎無限的資源,而無需擔心任何事情。組織只需為使用的資源付費,從而可以在不影響性能的情況下動態支持任何規模的用戶和工作負載。
節省資金,專注於數據的雲技術。基於雲的服務可為任何組織提供雲構建的解決方案,從而避免了硬件,軟件和其他基礎架構的昂貴,前期投資以及維護,更新和保護的成本本地系統。
雲技術附帶了自然集成點。據估計,您要分析的數據中有多達80%來自業務應用程序數據,運營數據存儲,點擊流數據,社交媒體平台,物聯網事物和實時流數據。與構建內部數據中心相比,將這些數據集成到雲中要容易得多,而且成本更低。
使用noSQL內置。它描述了一種技術,該技術可以存儲和分析更新形式的數據,例如從計算機和社交媒體生成的數據,以豐富和擴展組織的數據分析。眾所周知,傳統的數據倉庫無法很好地容納這些數據類型。因此,近年來出現了更新的系統來處理這些半結構化和非結構化數據形式,例如JSON,Avro和XML。
支持現有技能和專業知識。 Data Lake支持有效存儲和處理任何類型的數據,數據管理,數據轉換,集成,可視化,商業智能和分析工具所需的功能,可以輕鬆地與SQL數據倉庫進行通信。標準SQL根深蒂固的角色也意味著大量人具有SQL技能。它使其他編程語言能夠提取和分析數據。
應該清楚地認識到雲在成本,規模,性能,易用性和安全性方面的內在優勢,因為它們對整體數據湖計劃和成果的影響。
若您想了解更多關於雲與數據湖如何共生的內容,請參加“2022阿里雲全球線上數據湖峰會”了解最新趨勢!
雲具有無限的資源。基於雲的服務特別適合數據湖,因為它為我們提供了無限的資源,這意味著雲基礎架構可在幾分鐘或幾秒鐘內按需提供幾乎無限的資源,而無需擔心任何事情。組織只需為使用的資源付費,從而可以在不影響性能的情況下動態支持任何規模的用戶和工作負載。
節省資金,專注於數據的雲技術。基於雲的服務可為任何組織提供雲構建的解決方案,從而避免了硬件,軟件和其他基礎架構的昂貴,前期投資以及維護,更新和保護的成本本地系統。
雲技術附帶了自然集成點。據估計,您要分析的數據中有多達80%來自業務應用程序數據,運營數據存儲,點擊流數據,社交媒體平台,物聯網事物和實時流數據。與構建內部數據中心相比,將這些數據集成到雲中要容易得多,而且成本更低。
使用noSQL內置。它描述了一種技術,該技術可以存儲和分析更新形式的數據,例如從計算機和社交媒體生成的數據,以豐富和擴展組織的數據分析。眾所周知,傳統的數據倉庫無法很好地容納這些數據類型。因此,近年來出現了更新的系統來處理這些半結構化和非結構化數據形式,例如JSON,Avro和XML。
支持現有技能和專業知識。 Data Lake支持有效存儲和處理任何類型的數據,數據管理,數據轉換,集成,可視化,商業智能和分析工具所需的功能,可以輕鬆地與SQL數據倉庫進行通信。標準SQL根深蒂固的角色也意味著大量人具有SQL技能。它使其他編程語言能夠提取和分析數據。
應該清楚地認識到雲在成本,規模,性能,易用性和安全性方面的內在優勢,因為它們對整體數據湖計劃和成果的影響。
若您想了解更多關於雲與數據湖如何共生的內容,請參加“2022阿里雲全球線上數據湖峰會”了解最新趨勢!