資料湖是什麼?

Data Lake 是記憶體存放庫,其原生原始格式會保存大量數據。 Data Lake 存放區已針對調整為數 TB 和 PB 的數據進行優化。 資料通常來自多個異質來源,而且可能是結構化、半結構化或非結構化。 資料湖的構想,是將其內所有項目儲存於其原始、未轉換的狀態內。 這種方法與傳統 的數據倉儲不同,它會在擷取時轉換和處理數據。

A diagram that shows the different data lake use cases.

以下是重要的 Data Lake 使用案例:

  • 雲端和IoT資料移動
  • 巨量資料處理
  • 分析
  • 報表
  • 內部部署數據移動

Data Lake 的優點:

  • 數據永遠不會擲回,因為數據會以原始格式儲存。 這在巨量數據環境中特別有用,當您可能事先不知道哪些深入解析可從數據取得時。
  • 使用者可以探索數據並建立自己的查詢。
  • 可能比傳統的 ETL 工具快。
  • 比數據倉儲更有彈性,因為它可以儲存非結構化和半結構化的數據。

完整的 Data Lake 解決方案包含記憶體和處理。 Data Lake Storage 專為容錯、無限延展性和高輸送量擷取具有不同形狀和大小的數據而設計。 數據湖處理牽涉到一或多個以這些目標為目的所建置的處理引擎,而且可以大規模操作儲存在 Data Lake 中的數據。

使用 Data Lake 的時機

數據湖的典型用法包括數據探索、數據分析和機器學習。

Data Lake 也可以作為數據倉儲的數據源。 使用此方法時,原始數據會內嵌至 Data Lake,然後轉換成結構化的可查詢格式。 此轉換通常會使用 ELT (extract-load-transform) 管線,其中數據會就地內嵌和轉換。 已經關係型的源數據可能會直接進入數據倉儲,使用 ETL 程式略過數據湖。

Data Lake 存放區通常用於事件串流或 IoT 案例,因為它們可以保存大量的關係型和非關係型數據,而不需要轉換或架構定義。 其建置目的是要以低延遲處理大量小型寫入,並針對大量輸送量進行優化。

下表比較數據湖和數據倉儲:

A table that compares data lake features with data warehouse features.

挑戰

  • 缺少架構或描述性元數據,可能會使數據難以取用或查詢。
  • 在整個數據中缺乏語意一致性,除非使用者對數據分析非常熟練,否則對數據執行分析可能會很困難。
  • 很難保證數據進入數據湖的品質。
  • 如果沒有適當的治理,訪問控制和隱私權問題可能是問題。 哪些資訊會進入 Data Lake、誰可以存取該數據,以及哪些用途?
  • 數據湖可能不是整合已關係型數據的最佳方式。
  • 根據本身,Data Lake 不會在整個組織中提供整合或整體檢視。
  • 數據湖可能會變成數據傾印地面,這些數據永遠不會實際分析或挖掘以取得深入解析。

技術選擇

使用 Azure 所提供的下列服務建置 Data Lake 解決方案:

A diagram that shows the key data lake services.

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

下一步