共用方式為


數據標準化

數據會以各種格式抵達 Data Lake 帳戶。 這些格式包括人類可讀取的格式,例如 JSON、 。CSV 或 XML 檔案,以及壓縮的二進位格式,例如 .tar 或 .gz。 抵達數據也有許多大小,從幾個已編輯的檔案到整個 SQL 數據表的導出。 數據也可以是大量的小型檔案,這些檔案是一些 kbs,例如來自IoT解決方案的即時事件。

雖然 Azure Data Lake 儲存體 Gen2 不支援各種數據的記憶體,但您應該仔細考慮您的數據格式,以確保處理管線效率並優化成本。

許多組織現在會標準化其內嵌格式,並將計算與記憶體分開。 因此,Delta Lake 格式已成為將數據擷取到擴充層的慣用標準。 從擴充層,您的數據應用程式小組可以將數據提供成反映其使用案例的格式。

注意

使用 Delta Lake 支援批次和串流使用案例,以初始數據擷取至擴充層。

本文提供 Delta Lake 的概觀、其效能,以及其如何協助您達成合規性支援,以及如何在數據從來源流向擴充層時標準化數據。

Delta Lake

Delta Lake 是開放原始碼儲存層,可為巨量數據工作負載和 Apache Spark 帶來 ACID(不可部分完成性、一致性、隔離和持久性)交易。 Azure Synapse Analytics 和 Azure Databricks 都與 Linux Foundation Delta Lake 兼容。

Delta Lake 主要功能

功能 描述
ACID 交易 數據湖通常會透過多個進程和管線來填入,其中有些會同時寫入數據與讀取。 數據工程師用來進行手動且容易出錯的程式,以確保在 Delta Lake 和交易使用之前的數據完整性。 Delta Lake 會將熟悉的 ACID 交易帶入 Data Lake。 它提供最強的隔離等級、可串行化性。 如需詳細資訊,請參閱 跳入 Delta Lake:解除封裝事務歷史記錄
可調整的元數據處理 在巨量數據中,即使是元數據也可以是「巨量數據」。 Delta Lake 會將元數據視為與其他數據相同。 它會使用Spark的分散式處理能力來處理所有元數據。 因此,Delta Lake 可以輕鬆地處理具有數十億個分割區和檔案的 PB 級別數據表。
時間移動 (資料版本控制) 「復原」變更或回到舊版的能力是交易的主要功能。 Delta Lake 提供數據的快照集,可讓您還原為舊版的數據以進行稽核、復原或重現實驗。 在介紹 Delta Lake Time Travel for Large Scale Data Lake深入瞭解。
開啟格式 Delta Lake 的基準格式 Apache Parquet 可讓您套用有效率的壓縮和編碼配置。
整合批次和串流來源和接收 Delta Lake 中的數據表同時是批次數據表和串流來源和接收。 數據擷取串流、批次歷程記錄回填和互動式查詢全都已現成運作。
架構強制執行 架構強制執行可協助您確定您有正確的數據類型和必要的數據行,以防止數據不一致發生不良數據。 如需詳細資訊,請參閱 跳入 Delta Lake:架構強制執行和演進
架構演進 Delta Lake 可讓您對數據表架構進行自動套用的變更,而不需要撰寫移轉 DDL。 如需詳細資訊,請參閱 跳入 Delta Lake:架構強制執行和演進
稽核歷程記錄 Delta Lake 事務歷史記錄會記錄您對數據所做的每項變更的詳細數據。 這些記錄提供所有變更的完整稽核線索。
更新和刪除 Delta Lake 支援適用於各種功能的 Scala、Java、Python 和 SQL API。 合併、更新和刪除作業支援可協助您符合合規性需求。 如需詳細資訊,請參閱宣佈 Delta Lake 0.6.1 版本、宣佈 Delta Lake 0.7 版本,以及使用 Python API 在 Delta Lake 數據表上簡單、可靠的 Upserts 和 Deletes(其中包括合併、更新和刪除 DML 命令的代碼段)。
100% 與 Apache Spark API 相容 您的開發人員可以使用 Delta Lake 來變更其現有的數據管線,因為它與現有的 Spark 實作完全相容。

如需詳細資訊,請參閱 Delta Lake Project

如需完整檔,請流覽 Delta Lake 檔頁面

效能

使用許多小型檔案,通常會導致讀取/列表作業增加而產生次佳的效能和更高的成本。 Azure Data Lake 儲存體 Gen2 已針對較大的檔案進行優化,讓您的分析作業執行速度更快且成本較低。

Delta Lake 包含許多功能,可協助您 使用檔案管理將效能優化。

範例包含:

  • 事務歷史記錄會將昂貴的 LIST 作業降到最低。
  • Z 排序 (多維度叢集) 可讓您針對查詢篩選條件啟用優化的述詞下推。
  • 原生快取和查詢優化可減少所需的記憶體掃描量。 如需詳細資訊,請參閱 使用快取優化效能。
  • 優化會將小型檔案合併成較大的檔案。

讓這些優化成為數據載入程式的一部分,以維護數據新鮮度和效能。

Data Lake 數據分割

數據分割牽涉到在數據存放區中組織數據,讓您可以管理大規模的數據並控制數據存取。 資料分割可以改善延展性、減少爭用,以及最佳化效能。

分割資料湖時,請確定您的設定:

  • 不會危害安全性
  • 具有清楚的隔離,並與您的數據授權模型保持一致
  • 妥善配合您的數據擷取程式
  • 具有定義完善的路徑,以獲得最佳數據存取
  • 支援管理和維護工作

一般作法

數據分割設計的一般作法如下:

  • 儘早專注於您的安全性影響,並搭配授權設計數據分割。
  • 您可能想要允許資料備援以交換安全性。- 定義命名慣例並遵守它。
  • 您可以巢狀多個資料夾,但一律會保持一致。
  • 在您的資料夾結構和檔名中包含時間元素。
  • 請勿使用日期分割來啟動資料夾結構。 最好將日期保持在較低資料夾層級。
  • 請勿在單一資料夾結構中結合混合檔格式或不同的數據產品。

提示

您的資料夾結構應該有可優化存取模式和適當檔案大小的分割策略。 在策劃區域中,根據最佳擷取來規劃結構,請謹慎選擇具有高基數的數據分割索引鍵,這會導致過度分割,進而導致次佳的檔案大小。

如需 Data Lake 區域的詳細資訊,請參閱 Data Lake 區域和容器

合規性支援

Delta Lake 會新增交易層,以提供數據湖之上的結構化數據管理。 此新增功能可大幅簡化並加快您在消費者要求下尋找和移除個人資訊(也稱為「個人資料」的能力。 交易層支援 DELETE、UPDATE 和 MERGE 等作業。 如需詳細資訊,請參閱 最佳做法:使用 Delta Lake 的 GDPR 合規性。

摘要

將本文所列的數據標準化套用至您的平臺。 以 Delta Lake 格式開始,然後開始新增優化與合規性的程式。 您可以決定建立依排程執行某些優化路由的服務,或建立移除個人資訊的合規性服務。

下一步