Skip to Content

什麼是Delta Lake? 總覽

Delta Lake 是開放原始碼資料儲存框架,旨在優化資料湖泊的可靠性和效能。它解決了資料湖泊面臨的一些常見問題,例如資料一致性、資料品質和缺乏交易性。其目標是提供資料儲存解決方案,以便在資料驅動的業務中處理可擴充的大數據工作負載。 

Delta Lake 起源

Delta Lake 由 Apache Spark 旗下的 Databricks 於 2019 年推出,其雲端表格格式建立在開放式標準與部分開放式來源之上,以支援現代資料平台所請求的功能,例如 ACID 保證、並行重寫器、資料變異性等。 

Delta Lake 的目的或主要用途為何?

Delta Lake 專為支援及強化資料湖泊的使用而打造,資料湖泊同時擁有大量的結構化與非結構化資料。 

資料科學家和資料分析師使用資料湖泊來操作並從這些龐大的資料集中擷取有價值的深度資訊。雖然資料湖泊徹底改變了我們管理資料的方式,但也有一些限制,包括資料品質、資料一致性,以及主要限制,缺乏強制方案,這使得難以對原始資料執行機器學習和複雜的分析作業。 

2021 年,學術界和技術部門的資料科學家認為,由於這些限制,資料湖泊很快就會被“湖房”取代,“湖房”是整合資料倉儲和進階分析的開放平台。

資料湖泊系統設計

圖 1:由 Michael Armbrust、Ali Ghodsi、Reynold Xin 和 Matei Zaharia 撰寫的論文中,資料湖泊系統設計的範例。Delta Lake 以開放格式在檔案上新增交易、版本化和輔助資料結構,並可透過多種 API 和引擎進行查詢。 

Delta Lake 提供關鍵的資料儲存層,是任何湖泊式基礎架構的重要部分。 

Delta Lake定義如下: 

  • 開放度: 它是一個快速擴展的整合生態系統,由社群驅動。
  • 簡單:它提供單一格式,以整合您湖房的 ETL、資料倉儲和機器學習。
  • 生產就緒: 經過 10,000 多個生產環境的戰鬥測試。
  • 不依賴平台:您可以搭配任何雲端、就地部署或本機上的查詢引擎使用。


Delta Lake vs. 資料湖泊 vs. 資料倉儲 vs. 資料湖倉

在資料中心的廣泛環境中,Delta Lake 最受廣泛理解,尤其是它如何與資料湖泊、資料倉儲和資料湖倉並存。讓我們仔細看看: 

Delta Lake

Delta Lake 是開放原始碼儲存層,可維持原始資料的完整性,同時不影響即時分析、人工智慧(AI)和機器學習(ML)應用程式所需的效能和靈活性。

資料湖泊

資料湖泊是多種格式的原始資料儲存庫。資料湖泊中的資料量和各種資訊可能使分析變得困難,並危及資料品質和可靠性。 

資料倉儲

資料倉儲從多個來源收集資訊,然後重新格式化並組織成大量、整合的結構化資料,並針對分析和報告進行最佳化。專有軟體和無法儲存非結構化資料可能會限制其實用性。

資料湖倉

資料湖倉是現代化的資料平台,將資料湖泊的彈性與可擴充性,與資料倉儲的結構與管理功能結合在一個簡單、開放的平台中。

線上體驗 FlashBlade

體驗 Pure1® 的自助實例來管理 Pure FlashBlade™,Pure FlashBlade™ 是業界最先進的解決方案,可提供原生橫向擴展的檔案式及物件式儲存功能。

申請試用

Delta Lake 如何運作?

Delta Lake 的運作原理是在原始資料與處理引擎之間建立一層額外的抽象層。它位於資料湖泊的頂端,並使用其儲存系統。它會將資料分割為批次,然後在批次上方新增 ACID 交易。Delta Lake 也在資料新增至湖泊之前,讓架構得以執行資料驗證。

Delta Lake以 Parquet 格式儲存資料,並使用 Hadoop Distributed File System (HDFS) 或 Amazon S3 作為儲存層。儲存層將資料儲存在不可變的 Parquet 檔案中,這些檔案經過修改,可進行架構演進。

Delta Lake 如何透過索引來提升資料效能?

Delta Lake 透過在經常存取的資料上建立索引來改善資料效能。這些索引可加快資料擷取時間,並協助最佳化效能。雖然每個資料庫都使用索引,但 Delta Lake 的獨特之處在於它結合了自動中繼資料解析和實體資料配置,以減少掃描的檔案數量,以滿足任何查詢。

Delta Lake 架構

Delta Lake 是新增的資料層,代表了 lambda 架構的演變,在此過程中並行處理串流和批次處理,結果合併,以提供查詢回應。這種方法增加了維護和操作串流和批次流程的複雜性和難度。

Delta Lake 採用持續的資料基礎架構,透過連結管道,在共享檔案儲存中結合串流與批次工作流程。儲存的資料檔案有三層,稱為多躍點架構,在資料流向下游時,資料會變得更精細:

  • 銅牌表格包含從物聯網(IoT) 系統、CRM、RDBMS 和 JSON 檔案等多個來源擷取的原始資料。
  • 銀級表格包含了我們經過轉型與特色工程流程後的資料更精確的檢視。
  • 金色表格是供終端使用者用於 BI 報告、分析或機器學習流程。
Delta Lake 的架構

圖 2:Delta Lake 的架構。

Delta Lake 的優勢

Delta Lake 能為任何仰賴健全大數據解決方案的公司帶來好處,包括金融、醫療和零售業。

Delta Lake 的主要權益包括:

  • 更佳的資料可靠性:Delta Lake 提供交易保證和快照隔離,提高資料可靠性。此外,使用者可以復原失敗的交易,而不會影響其他成功的交易。Delta Lake 使用版本控制機制,在不影響現有資料的情況下,將新資料加入資料湖泊。
  • 支援架構演變:Delta Lake 可支援資料集的架構演進。它透過儲存資料架構的版本歷程來處理架構變更,並讓使用者在寫入資料前更新架構。Delta Lake 在寫入資料前也會檢查資料架構驗證。
  • 相容性:Delta Lake 與各種大數據處理引擎相容,包括 Apache Spark、Hadoop 和 Amazon EMR。Delta Lake 也整合了類似 SQL 的查詢,讓使用者能夠操作資料集並從中擷取深度資訊。

所有這些優勢都有助於讓 Delta Lake 成為重要的資料儲存解決方案。

Delta Lake 的缺點

雖然 Delta Lake 有許多好處,但也有一些缺點,包括:

  • 不適合非結構化資料: 如果您不處理大量非結構化資料,或需要少量資料儲存,Delta Lake 可能不是最適合您的解決方案。傳統的雲端資料儲存方案:可能更易於實施,且更具成本效益。
  • 不易學習:雖然 Delta Lake 是大數據工作負載的極佳解決方案,但可能需要額外的開發資源和時間來實作。此外,對於平台新手的使用者而言,學習曲線非常陡峭。

如何取得並部署 Delta Lake

您可以從多種來源取得 Delta Lake,包括來自 GitHub 的 Apache Spark 儲存庫、Delta Lake 網站,以及熱門的第三方應用程式,例如 Databricks。Delta Lake 的實作方式是將其作為處理引擎加入現有的大數據叢集,如 Apache Spark、Hadoop 或 Amazon EMR。

結論

Delta Lake 是大數據工作負載的極佳解決方案,能讓使用者可靠地管理非結構化資料集。它提供 ACID 交易、架構驗證和 API 整合等功能。雖然 Delta Lake 有一些高架儲存的需求,但它可以有效處理資料驅動業務的擴展。Delta Lake 提供健全的架構,可提升資料品質與可靠性,對於任何大數據平台而言都是非常有用的附加功能。

正在尋找能夠快速支援 Delta Lake 的物件式資料儲存基礎架構嗎? 繼續閱讀,了解如何使用 Delta Lake 和 FlashBlade ® 建立開放的資料湖泊

01/2026
Strengthening healthcare cyber resilience with an assume-breach approach
Organizations fall victim to ransomware attacks every 14 seconds, and healthcare is a top target. Attackers recognize that system uptime is critical for providers, making them prime targets for extortion. In this primer, learn on how healthcare data storage decisions help combat cyber attacks.
電子書
8 頁

查看重要資訊與活動

影片
觀看影片:企業級資料雲端的價值。

Charlie Giancarlo 討論管理為何管理資料才是未來趨勢,而非儲存設備。發掘整合式做法如何革新企業級 IT 作業。

立即觀看
資源
傳統儲存裝置無法驅動未來。

現代化工作負載需求必須達到 AI 級速度、安全性與規模。您的技術棧準備好了嗎?

進行評估
PURE360 示範
探索、認識、體驗 Pure Storage。

存取隨取隨用影片與示範,了解 Pure Storage 的強大功效。

觀賞示範影片
精神領袖
創新競賽

儲存創新最前線的產業領導者最新深度資訊與觀點。

了解更多資訊
您的瀏覽器已不受支援!

較舊版的瀏覽器通常存在安全風險。為讓您使用我們網站時得到最佳體驗,請更新為這些最新瀏覽器其中一個。