Data Lake架構揭祕

在大數據時代我們希望擁有的海量數據能創造出最大的價值,傳統的決策支撐系統架構顯然是難以滿足這種需求的,於是我們需要更靈活的數據架構。

Data Lake這個概念其實已經存在了一段時間。但是,有些公司的高級工程師甚至是資深架構師都沒有很好的理解這個概念,因為他們對Data Lake的設計仍然禁錮於傳統的企業數據倉庫範式之中。

這篇文章將深入研究Data Lake的架構模型。

讓我們先從已知的開始。

傳統數倉(DWH)架構

Data Lake架構揭秘

傳統的企業DWH架構模式已經使用了很多年了。DWH包含有數據源,數據提取,轉換和加載(ETL),並且在此過程中,進行了某種新的數據結構的創建和清理等。我們需要在EDW中預先定義數據模型,然後創建數據集市,用於OLAP多維數據分析以及自助式BI。

這種架構模型已經為我們服務很多年了。

但是,這種架構模型存在一些固有的挑戰,這些挑戰在大數據時代無法解決。讓我們看看其中的一些:

  • 這種架構模型需要我們先了解數據。源系統的數據結構是什麼,它擁有什麼樣的數據,基數是什麼,應該如何根據業務需求對其進行建模,數據中是否存在異常等等?這是一項繁瑣而複雜的工作,需要花費很長的時間。 一個項目下來往往需要幾個月甚至幾年。
  • 我們還必須對要存儲的數據和要丟棄的數據做出選擇和權衡。前期花費大量時間來決定要引入什麼,如何引入,如何存儲,如何進行轉換等。較少的時間花費在實際執行數據發現,數據挖掘以及增值業務上。

數據定義:

Data Lake架構揭秘

現在讓我們簡要地討論一下數據定義是如何變化的。大數據的4 V現在已經眾所周知。Volume,velocity,variety和veracity。讓我為這些事情提供一些背景信息:

  • 自iPhone革命以來,數據量激增。每年有60億部智能手機,近1PB的數據被創建。
  • 數據不僅僅是靜止的。有流數據,支持IoT的已連接設備。
  • 這也與數據的多樣性有關。視頻,照片都成為需要分析和利用的數據。
  • 隨著數據的爆炸式增長,數據質量也面臨挑戰。在大數據時代中,哪一個應該被信任而哪個不應該是一個更大的挑戰。

簡而言之,可分析的數據定義已變化。現在不僅是結構化的數據,還包括各種非結構化數據。面臨的挑戰是如何將這些數據融合在一起並使得它們變得更有意義。

摩爾定律:

Data Lake架構揭秘

自2000年以來,處理能力,存儲和相應的成本結構發生了巨大變化。它受到了我們所謂的摩爾定律的約束。關鍵點:

  • 自2000年以來,處理能力提高了約10,000倍。這意味著有效分析更多數據的能力得到了提高。
  • 存儲成本也下降了很多。自2000年以來,存儲成本下降了1000倍以上。

數據湖比喻

Data Lake架構揭秘

讓我用一個比喻來解釋Data Lake的概念。

遊覽大湖總是一種非常愉快的感覺。湖中的水是最原始的形式存放,不同的人在湖上進行不同的活動。有些人在釣魚,有些人乘船遊覽,這個湖還為生活的人們提供飲用水。簡而言之,同一個湖有多種用途。

隨著數據範例的變化,出現了一種新的架構模式。它被稱為數據湖架構。就像湖中的水一樣,數據湖中的數據也採用最原始的形式存放。像湖泊一樣,它滿足了不同人的需要,那些想要釣魚的人,或者想要乘船遊覽的人,或者想要從湖中喝水的人,一個數據湖架構都可以滿足。它為數據科學家提供了探索數據和創建假設的途徑。它為業務用戶提供了探索數據的途徑。它為數據分析人員提供了分析數據和尋找模式的途徑。它為報告分析師提供了創建報告並呈現給利益相關者的途徑。

我將數據湖與數據倉庫或集市進行比較的方式是這樣的:

Data Lake以最原始的形式存儲數據,可以滿足多個利益相關者的需求,也可以用於打包數據,以供最終用戶使用。另一方面,數據倉庫是已經過蒸餾和包裝以用於特定目的數據存儲。

數據湖架構

Data Lake架構揭秘

通過前面的背景介紹,現在讓我們學習下數據湖的概念體系結構。數據湖體系結構中的關鍵組件有可以結構化和非結構化的數據源。這些數據都集成到原始數據存儲中,該原始數據存儲以最原始的方式存放數據,即不進行任何轉換。它是一種廉價的持久性存儲,可以大規模存儲數據。然後,我們使用分析沙箱來理解數據,創建原型,進行數據科學並探索數據以建立新的假設和用例

然後我們有了批處理引擎,該引擎將原始數據處理成可被用戶直接使用的數據,即可以用於向最終用戶出報告的數據結構。我們稱其為已處理數據存儲。有一個實時處理引擎,可以獲取流數據並對其進行處理。此體系結構中的所有數據均已分類並整理。

下面讓我們瞭解此體系結構中的每個組件組。

Lambda架構

Data Lake架構揭秘

第一個組件組主要用於處理數據。它遵循Lambda架構。Lambda架構採用兩條處理路徑。批處理和實時處理。批處理以可能的最原始形式存儲數據。實時處理將數據存儲到原始數據存儲中,並且可以在加載到已處理的數據存儲之前存儲瞬態數據。

數據分析沙箱

Data Lake架構揭秘

分析沙箱是數據湖架構中的關鍵組件之一。這些是數據科學家的探索性領域,他們可以在其中開發和測試新的假設,合併和探索數據以形成新的用例,創建快速的原型以驗證這些用例並意識到可以採取哪些措施從中提取價值。

簡單來說,它是數據科學家可以發現數據,提取價值並幫助轉變業務的地方。

數據編目和治理

Data Lake架構揭秘

在傳統商業架構中數據目錄經常被忽略。在大數據領域中,數據目錄是非常重要的方面。讓我們舉個例子來說明他的重要性。

當我要求我的客戶在不提供目錄信息的情況下猜測這幅畫的潛在成本時,答案從100美元到100,000美元不等。當我提供目錄信息時,答案更接近於實際情況。順便說一句,這幅畫被巴勃羅·畢加索(Pablo Picasso)稱為“舊吉他手”,創作於1903年。估計造價超過1億美元。

數據目錄非常相似。不同的數據塊具有不同的值,並且該值根據數據的沿襲,數據的質量,創建的來源等而變化。需要對數據進行分類,以便數據分析師或數據科學家可以自己決定指向哪個數據用於特定分析。

數據目錄圖

Data Lake架構揭秘

目錄圖提供了可以分類的元數據。編目是捕獲有價值的元數據的過程,因此可以將其用於確定數據的特徵並決定是否使用它。基本上有兩種類型的元數據:業務和技術。業務元數據更多地與定義,邏輯數據模型,邏輯實體等有關,而技術元數據則是捕獲與數據結構的物理實現有關的元數據。它包括數據庫,質量得分,列,架構等。

根據目錄信息,分析人員可以選擇在正確的上下文中使用特定的數據點。讓我給你舉個例子。想象一下,數據科學家想要對庫存週轉率及其在ERP和庫存系統中的定義方式進行探索性分析。如果對術語進行了分類,則數據科學家可以根據上下文決定使用ERP還是清單系統中的列。

數據湖和傳統數倉對比

Data Lake架構揭秘

這是一張試圖解釋差異的對比表格。

  • 首先,哲學是不同的。在數據湖體系結構中,我們首先要原始加載數據,然後決定應如何處理。在傳統的DWH體系結構中,我們必須首先了解數據,對其進行建模,然後再將其加載。
  • 數據湖中的數據以原始格式存儲,而DWH中的數據以結構化格式存儲。
  • Data Lake支持各種用戶。
  • 分析項目確實是敏捷項目。這些項目的本質是,一旦您看到輸出,便會思考更多並想要更多。 Data Lake本質上是敏捷的。由於他們將所有數據存儲在目錄中,因此可以確保在出現新需求時可以輕鬆地對其進行調整

Azure上構建數據湖

Data Lake架構揭秘

雲平臺最適合於實施數據湖架構。它們具有大量可組合的服務,可以將它們組合在一起以實現所需的可伸縮性。微軟的Cortana Intelligence Suite提供了一個或多個可以映射以實現Data Lake Architecture的組件。

原文鏈接: https://medium.com/@rpradeepmenon/demystifying-data-lake-architecture-30cf4ac8aa07


分享到:


相關文章: