了解 Delta Lake

已完成

Delta Lake 是開放原始碼儲存層,可將關聯式資料庫語意新增至 Spark 型資料湖處理。 Microsoft Fabric Lakehouses 中的表格是 Delta 表格,它在 Lakehouse 使用者介面中的表格上會以三角形 Delta (Δ) 圖示表示。

在 Microsoft Fabric 的 Lakehouse 總管中所檢視的 salesorders 表格的螢幕擷取畫面。

Delta 表格是對以 Delta 格式儲存的資料檔的結構描述抽象表示。 對於每個表格,Lakehouse 會儲存一個包含 Parquet 資料檔的資料夾,以及一個在其中交易詳細資料會以 JSON 格式記錄的 _delta_Log 資料夾。

檔案檢視的螢幕擷取畫面,其中顯示透過 Lakehouse 總管檢視的 salesorder 表格中的 parquet 檔案。

使用 Delta 表格的優點包括:

  • 支援查詢與資料修改的關聯式資料表。 透過 Apache Spark,您可以將資料儲存在支援 CRUD (建立、讀取、更新和刪除) 作業的 Delta 表格中。 換句話說,您可以「選取」、「插入」、「更新」及「刪除」資料列,就像在關聯式資料庫系統中一樣。
  • 支援 ACID 交易。 關聯式資料庫的設計訴求是支援交易資料修改,其提供「不可部分完成的作業」(以單一工作單位完成的交易)、「一致性」(交易讓資料庫保持一致狀態)、「隔離」(同處理序交易無法干擾彼此),以及「持久性」(在交易完成時,其所做的變更會持續)。 Delta Lake 藉由實作交易記錄並實施並行作業的可序列化隔離,為 Spark 帶來相同的交易支援。
  • 資料版本設定與「時間移動」。 因為所有交易都會記錄在交易記錄中,所以您可以追蹤每個資料表資料列的多個版本,甚至使用「時間移動」功能來擷取查詢中前一版本的資料列。
  • 支援批次與串流資料。 雖然大部分關聯式資料庫包含儲存靜態資料的資料表,但 Spark 包含透過 Spark 結構化串流 API 來串流資料的原生支援。 Delta Lake 資料表可以作為「接收器」(目的地) 與串流資料的「來源」
  • 標準格式與互通性。 Delta 表格的基礎資料會以 Parquet 格式儲存,該格式通常用於資料湖擷取管線中。 此外,您也可以使用 Microsoft Fabric Lakehouse 的 SQL 分析端點來以 SQL 查詢 Delta 表格。