什麼是 Data Lakehouse?

Data Lakehouse 是一種數據管理系統,結合了數據湖和數據倉儲的優點。 本文說明 Lakehouse 架構模式,以及您可以在 Azure Databricks 上執行哪些動作。

A diagram of the lakehouse architecture using Unity Catalog and delta tables.

Data Lakehouse 的用途為何?

Data Lakehouse 為新式組織提供可調整的記憶體和處理功能,這些組織想要避免隔離系統來處理不同的工作負載,例如機器學習 (ML) 和商業智慧 (BI)。 Data Lakehouse 可協助建立單一事實來源、消除備援成本,並確保數據新鮮度。

Data Lakehouse 通常會使用數據設計模式,以累加方式改善、擴充和精簡數據,因為它會隨著暫存和轉換層移動。 湖屋的每一層都可以包含一或多個圖層。 這種模式通常稱為獎章架構。 如需詳細資訊,請參閱 什麼是獎章湖屋架構?

Databricks Lakehouse 如何運作?

Databricks 建置在 Apache Spark 上。 Apache Spark 可讓大規模擴充的引擎在與記憶體分離的計算資源上執行。 如需詳細資訊,請參閱 Azure Databricks 上的 Apache Spark

Databricks Lakehouse 使用兩種額外的關鍵技術:

  • Delta Lake:支援 ACID 交易和架構強制執行的優化儲存層。
  • Unity 目錄:適用於數據和 AI 的統一、精細的治理解決方案。

資料擷取

在擷取層中,批次或串流數據會從各種來源和各種格式抵達。 第一個邏輯層提供該數據以原始格式登陸的位置。 當您將這些檔案轉換成 Delta 數據表時,您可以使用 Delta Lake 的架構強制執行功能來檢查遺失或未預期的數據。 您可以使用 Unity 目錄,根據您的資料控管模型和必要的數據隔離界限來註冊數據表。 Unity 目錄可讓您追蹤數據經過轉換和精簡的歷程,以及套用統一的治理模型,讓敏感數據保持私密且安全。

數據處理、策展和整合

驗證之後,您就可以開始策劃和精簡您的數據。 數據科學家和機器學習從業者經常在這個階段使用數據,以開始結合或建立新功能並完成數據清理。 一旦徹底清理數據,就可以將其整合並重新組織成專為符合特定業務需求而設計的數據表。

結合 Delta 架構演進功能之架構 on-write 方法,表示您可以變更此層,而不一定需要重寫為使用者提供數據的下游邏輯。

數據服務

最後一層會為終端使用者提供乾淨、擴充的數據。 最後的數據表應該設計成為所有使用案例提供數據。 統一的治理模型表示您可以追蹤數據譜系回到單一事實來源。 數據配置已針對不同的工作優化,可讓使用者存取機器學習應用程式、數據工程和商業智慧和報告的數據。

若要深入瞭解 Delta Lake,請參閱 什麼是 Delta Lake? 若要深入瞭解 Unity 目錄,請參閱 什麼是 Unity 目錄?

Databricks Lakehouse 的功能

以 Databricks 為基礎的 Lakehouse 取代了新式數據公司目前對數據湖和數據倉儲的相依性。 您可以執行的一些重要工作包括:

  • 實時數據處理: 即時處理串流數據,以進行立即分析和動作。
  • 數據整合: 將您的數據統一到單一系統中,以啟用共同作業,併為組織建立單一事實來源。
  • 架構演進: 隨著時間修改數據架構以適應不斷變化的業務需求,而不會中斷現有的數據管線。
  • 數據轉換: 使用 Apache Spark 和 Delta Lake 可為您的數據帶來速度、延展性和可靠性。
  • 數據分析和報告: 使用針對數據倉儲工作負載優化的引擎來執行複雜的分析查詢。
  • 機器學習和 AI: 將進階分析技術套用至所有數據。 使用 ML 擴充您的資料並支援其他工作負載。
  • 數據版本設定和譜系: 維護數據集的版本歷程記錄,並追蹤譜系,以確保數據源和可追蹤性。
  • 數據控管: 使用單一統一系統來控制數據的存取,並執行稽核。
  • 數據共享: 允許跨小組共享策劃的數據集、報表和深入解析,以協助共同作業。
  • 作業分析: 藉由將機器學習套用至 Lakehouse 監視數據,以監視數據品質計量、模型品質計量和漂移。

Lakehouse 與 Data Lake 與數據倉儲

數據倉儲為商業智慧(BI)決策提供約 30 年的動力,已演變為一組控制數據流的系統設計指導方針。 企業數據倉儲會將 BI 報表的查詢優化,但可能需要幾分鐘甚至數小時才能產生結果。 針對不太可能以高頻率變更的數據而設計,數據倉儲會尋求防止同時執行查詢之間的衝突。 許多數據倉儲都依賴專屬格式,這些格式通常會限制對機器學習的支援。 Azure Databricks 上的數據倉儲會利用 Databricks Lakehouse 和 Databricks SQL 的功能。 如需詳細資訊,請參閱 什麼是 Azure Databricks 上的數據倉儲?

由數據儲存的技術進步以及數據類型和數量指數增加所驅動,在過去十年中,數據湖已普遍使用。 Data Lake 會以廉價且有效率的方式儲存和處理數據。 數據湖通常定義於反對數據倉儲:數據倉儲會為 BI 分析提供乾淨的結構化數據,而數據湖會永久且廉價地以任何格式儲存任何性質的數據。 許多組織會使用 Data Lake 進行數據科學和機器學習,但不會因為其未經驗證的性質而使用 BI 報告。

Data Lakehouse 結合了 Data Lake 和數據倉儲的優點,並提供:

  • 開啟,直接存取以標準數據格式儲存的數據。
  • 針對機器學習和數據科學優化的索引通訊協定。
  • BI 和進階分析的低查詢延遲和高可靠性。

藉由結合優化元數據層與儲存在雲端物件記憶體中標準格式的已驗證數據,Data Lakehouse 可讓數據科學家和 ML 工程師從相同的數據驅動 BI 報表建置模型。

後續步驟

若要深入瞭解使用 Databricks 實作及操作 Lakehouse 的原則和最佳做法,請參閱 妥善架構的 Data Lakehouse 簡介