成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

「詳談 Delta Lake」系列技術專題 之 湖倉一體(Lakehouse)

大數據
本文翻譯自大數據技術公司 Databricks 針對數據湖 Delta Lake 系列技術文章。眾所周知,Databricks 主導著開源大數據社區 Apache Spark、Delta Lake 以及 ML Flow 等眾多熱門技術,而 Delta Lake 作為數據湖核心存儲引擎方案給企業帶來諸多的優勢。

前言

本文翻譯自大數據技術公司 Databricks 針對數據湖 Delta Lake 系列技術文章。眾所周知,Databricks 主導著開源大數據社區 Apache Spark、Delta Lake 以及 ML Flow 等眾多熱門技術,而 Delta Lake 作為數據湖核心存儲引擎方案給企業帶來諸多的優勢。

此外,阿里云和 Apache Spark 及 Delta Lake 的原廠 Databricks 引擎團隊合作,推出了基于阿里云的企業版全托管 Spark 產品——Databricks 數據洞察,該產品原生集成企業版 Delta Engine 引擎,無需額外配置,提供高性能計算能力。

Delta Lake技術系列 - 湖倉一體(Lakehouse)

——整合數據湖和數據倉庫的最佳優勢

目錄

Chapter-01 什么是湖倉一體?
Chapter-02 深入探討 Lakehouse 和 Delta Lake 的內部工作原理
Chapter-03 探究 Delta Engine

本文介紹內容

Delta Lake 系列電子書由 Databricks 出版,阿里云計算平臺事業部大數據生態企業團隊翻譯,旨在幫助領導者和實踐者了解 Delta Lake 的全部功能以及它所處的場景。在本文中,Delta Lake 系列-湖倉一體( Lakehouse ),重點介紹湖倉一體。

后續

讀完本文后,您不僅可以了解 Delta Lake 提供了什么特性,還可以理解這些特性是如何帶來實質性的性能改進的。

什么是數據湖?

Delta Lake 是一個統一的數據管理系統,可為云數據湖帶來數據可靠性和快速分析能力。Delta Lake 可以在現有數據湖之上運行,并且與 Apache Spark API 完全兼容。

在Databricks 公司內部,我們已經看到了 Delta Lake 如何為數據湖帶來可靠性保證,性能優化和生命周期管理。 使用 Delta Lake 可以解決以下問題:數據格式錯誤,數據合規性刪除或對個別數據進行修改。同時,借助 Delta Lake,高質量數據可以快速寫入數據湖,通過云服務(安全且可擴展)部署以提高數據的利用效率。

[[409792]]

Chapter-01 什么是湖倉一體?

在過去的幾年里,Lakehouse 作為一種新的數據管理范式,已獨立出現在 Databricks的許多用戶和應用案例中。在這篇文章中,我們將闡述這種新范式以及它相對于之前方案的優勢。

數據倉庫在決策支持和商業智能應用程序方面擁有悠久的歷史。 自1980年代末創建以來,數據倉庫技術一直在發展,MPP 架構使得系統能夠處理更大規模的數據量。

盡管倉庫非常適合結構化數據,但是許多現代企業必須處理非結構化數據,半結構化數據以及具有高多樣性、高速度和高容量的數據。數據倉庫不適用于許多此類場景,并且成本效益并非最佳。

隨著公司開始從許多不同的來源收集大量數據,架構師們開始構想一個單一的系統來容納許多不同的分析產品和工作任務產生的數據。

大約十年前,我們開始建立數據湖——一種多種格式的原始數據的存儲數據庫。數據湖雖然適合存儲數據,但缺少一些關鍵功能:它們不支持事務處理,不保證數據質量,并且缺乏一致性/隔離性,從而幾乎無法實現混合追加和讀取數據,以及完成批處理和流式作業。 由于這些原因,數據湖的許多功能尚未實現,并且在很多時候喪失了數據湖的優勢。

很多公司對各類數據應用包括 SQL 分析、實時監控、數據科學和機器學習的靈活性、高性能系統的需求并未減少。AI 的大部分最新進展是基于更好地處理非結構化數據(如 text、images、video、audio )的模型,但這些恰恰是數據倉庫未針對優化的數據類型。一種常見的解決方案是使用融合數據湖、多個數據倉庫以及其他的如流、時間序列、圖和圖像數據庫的系統。但是,維護這一整套系統是非常復雜的(維護成本相對較高)。此外,數據專業人員通常需要跨系統進行數據的移動或復制,這又會導致一定的延遲。

湖倉一體整合了數據湖和數據倉庫二者的優勢

Lakehouse 是一種結合了數據湖和數據倉庫優勢的新范式,解決了數據湖的局限性。Lakehouse 使用新的系統設計:直接在用于數據湖的低成本存儲上實現與數據倉庫中類似的數據結構和數據管理功能。如果你現在需要重新設計數據倉庫,現在有了廉價且高可靠(以對象存儲的格式)的存儲可用,不妨考慮使用 Lakehouse。

Lakehouse有如下關鍵特性:

事物支持:Lakehouse 在企業級應用中,許多數據管道通常會同時讀取和寫入數據。通常多方同時使用 SQL 讀取或寫入數據,Lakehouse 保證支持ACID事務的一致性。
模式實施和治理:Lakehouse 應該有一種支持模式實施和演變的方法,支持 DW 模式規范,例如 star /snowflake-schemas。該系統應該能夠推理數據完整性,并且應該具有健壯的治理和審核機制。
BI支持:Lakehouse 可以直接在源數據上使用BI工具。這樣可以減少陳舊度和等待時間,提高新近度,并且降低必須在數據湖和倉庫中操作兩個數據副本的成本。
存儲與計算分離:事實上,這意味著存儲和計算使用單獨的群集,因此這些系統能夠擴展到更多并發用戶和更大數據量。 一些現代數據倉庫也具有這種屬性。
兼容性:Lakehouse 使用的存儲格式是開放式和標準化的,例如 Parquet,并且它提供了多種 API,包括機器學習和 Python/R 庫,因此各種工具和引擎都可以直接有效地訪問數據。
支持從非結構化數據到結構化數據的多種數據類型:Lakehouse 可用于存儲,優化,分析和訪問許多新數據應用程序所需的數據類型,包括圖像,視頻,音頻,半結構化數據和文本。
支持各種工作場景:包括數據科學,機器學習和 SQL 分析。這些可能依賴于多種工具來支持的工作場景,它們都依賴于相同的數據存儲庫。
端到端流式任務:實時報告是許多企業的日常需要。對流處理的支持消除了對專門服務于實時數據應用程序的單獨系統的需求。
這些是 Lakehouse 的關鍵特征。企業級系統需要更多功能。安全和訪問控制工具是基本需求。尤其是根據最近的隱私法規,包括審核,保留和沿襲在內的數據治理功能已變得至關重要,諸如數據目錄和數據使用量度等數據發現工具也需要被啟用。使用Lakehouse,上述企業特點只需要在單套系統中被部署、測試和管理。

閱讀以下研究 Delta Lake:基于云對象存儲的高性能 ACID 表存儲

摘要:

云對象存儲(例如阿里云 OSS)是一些現有的最大、最具成本效益的存儲系統,它是存儲大型數據倉庫和數據湖的主要選擇。具有局限性的是,它們作為鍵值存儲的實現方式使其很難實現 ACID 事務和高性能,因為元數據操作(例如列出對象)非常昂貴,并且一致性保證受到限制。在本文中,我們介紹了 Delta Lake,這是最初由Databricks 開發的基于云對象存儲的開源 ACID 表存儲層。 Delta Lake 使用 Apache Parquet 壓縮格式的事務日志來為大型表格數據集提供 ACID 屬性,時間旅行和快速的元數據操作(例如,能夠快速在數十億個分區中搜索查詢)。它還利用此設計來提供高級功能,例如自動數據布局優化、更新、緩存和審核日志。我們可以從 Apache Spark,Hive,Presto,Redshift 和其他系統訪問 Delta Lake 表。Delta Lake 部署在數以千計的 Databricks 客戶中,這些客戶每天處理 EB 級數據,最大的實例管理 EB 級數據集和數十億個對象。

作者:Michael Armbrust, Tathagata Das, Liwen Sun, Burak Yavuz, Shixiong Zhu, Mukul Murthy, Joseph Torres, Herman van Hvell, Adrian Ionescu, Alicja uszczak, Micha Szafra ń ski, Xiao Li, Takuya Ueshin, Mostafa Mokhtar, Peter Boncz, Ali Ghodsi, Sameer Paranjpye, Pieter Senster, Reynold Xin, Matei Zaharia

原文 Inner workings of the lakehouse.

早期案例

Databricks 統一數據平臺在架構上支持 lakehouse。阿里巴巴的 DDI 服務,已經與Databricks 集成,實現了類似 Lakehouse 的模式。其他托管服務(例如 BigQuery 和Redshift Spectrum)具有上面列出的一些 LakeHouse 功能特性,但它們是主要針對 BI和其他 SQL 應用。對于想要構建和實現自己系統的公司,可參考適合構建 Lakehouse的開源文件格式( Delta Lake,Apache Iceberg,Apache Hudi )。

將數據湖和數據倉庫合并到一個系統中意味著數據團隊可以更快地移動數據,因為他們能夠使用數據而無需訪問多個系統。在這些早期的 Lakehouse中,SQL 支持以及與BI 工具的集成通常足以滿足大多數企業數據倉庫的需求。實例化視圖和存儲過程是可以使用的,但是用戶可能需要采用其他機制,這些機制與傳統數據倉庫中的機制不同。后者對于“升降場景”尤為重要,“升降場景”要求系統所具有的語義與舊的商業數據倉庫的語義幾乎相同。

對其他類型的數據應用程序的支持是怎樣的呢? Lakehouse 的用戶可以使用各種標準工具( Apache Spark,Python,R,機器學習庫)來處理非 BI 工作,例如數據科學和機器學習。 數據探索和完善是許多分析和數據科學應用程序的標準。Delta Lake 旨在讓用戶逐步改善 Lakehouse 中的數據質量,直到可以使用為止。

盡管可以將分布式文件系統用于存儲層,但對象存儲更適用于 Lakehouse。對象存儲提供了低成本,高可用性的存儲,在大規模并行讀取方面表現出色,這是現代數據倉庫的基本要求。

從BI到AI

Lakehouse 是一種新的數據管理體系結構,在機器學習覆蓋各行各業的時代,它可以從根本上簡化企業數據基礎架構并加速創新。過去,公司產品或決策中涉及的大多數數據都是來自操作系統的結構化數據。而如今,許多產品都以計算機視覺和語音模型,文本挖掘等形式集成了AI。 為什么要使用 Lakehouse 而不是數據湖來進行AI? Lakehouse 可為您提供數據版本控制、治理、安全性和 ACID 屬性,即使對于非結構化數據也是如此。

當前 Lakehouse 降低了成本,但是它們的性能仍然落后于實際投入和部署多年的專用系統(例如數據倉庫)。用戶可能會偏愛某些工具( BI工具,IDE,notebook ),因此 Lakehouse 還需要改進其 UX 以及與流行工具的連接器來吸引更多用戶。隨著技術的不斷成熟和發展,這些問題都將得到解決。 隨著技術進步,Lakehouse 將縮小這些差距,并且同時保留更簡單,更具成本效益和更能服務于各種數據應用程序的核心屬性。

Chapter02 深入探討 Lakehouse 和 Delta Lake 的內部工作原理

Databricks 寫了一篇博客,概述了越來越多的企業采用 Lakehouse 模式。該博客引起了技術愛好者的極大興趣。盡管許多人稱贊它為下一代數據體系結構,但有些人認為湖倉一體與數據湖是一回事。最近,我們的幾位工程師和創始人寫了一篇研究論文,描述了使湖倉一體架構與數據湖區分開的一些核心技術挑戰和解決方案,該論文已在The International Conference on Very Large Databases (VLDB) 2020接受并發表,“Delta Lake: High-Performance ACID Table Storage Over Cloud Object Stores”。

十多年前,云為數據存儲開辟了新的發展方向。像 Amazon S3 這樣的云對象存儲已成為世界上一些最大,最具成本效益的存儲系統,這使它們成為更有吸引力的數據存儲倉庫和數據湖平臺。但是,它們作為鍵值存儲的性質使得許多公司所需的 ACID 事物特性變得困難。而且,昂貴的元數據操作(例如列出對象)和受限的一致性保證也影響了性能。

基于云對象存儲的特點,出現了三種方案:

Data lakes (數據湖)

Data lakes 將表存儲為對象集合的文件目錄(即數據湖),通常使用列式(例如Apache Parquet )存儲。 這是一種獨特的方法。因為表只是一組對象,可以通過多種工具進行訪問,而無需使用其他數據存儲系統,但是這樣會導致性能和一致性問題。 性能上由于事務執行失敗導致隱藏的數據損壞的情況時有發生,最終導致查詢不一致,等待時間長,并且基本的管理功能(如表版本控制和審核日志)不可用。

Custom storage engines (自定義存儲引擎)

第二種方法是定制存儲引擎,例如為云構建的專有系統,如 Snowflake 數據倉庫。 這些系統可以提供單一的數據源,通過在獨立且高度一致的服務中管理元數據,從而可以避免數據湖的一致性挑戰。 但是,所有 I/O 操作都需要連接到此元數據服務,這可能會增加云資源成本并降低性能和可用性。 此外,要實現現有計算引擎(例如 Apache Spark,Tensorflow 和 Pytorch )的連接器還需要進行大量工程化工作,這對于使用各種計算引擎的數據處理團隊而言可能是一個挑戰。非結構化數據會加劇工程上的挑戰,因為這些系統通常針對傳統的結構化數據類型進行了優化。最令人不能接受的是,專有元數據服務將客戶鎖定在特定的服務提供商中,如果客戶將來決定采用新服務,他們將不得不面對始終高昂的價格和費時的遷移成本。

Lakehouse (湖倉一體)

Delta Lake 是一種云對象存儲之上的開源 ACID 表存儲層。好比我們尋求建造一輛汽車,而不是尋找更快的馬。湖倉一體是一種新架構,結合了數據湖和數據倉庫的優勢。它不僅擁有更好的數據存儲性能,而且在存儲和使用數據的方式上發生了根本性的變化。新的系統設計支持 Lakehouse:直接在用于數據湖的低成本存儲上實現與數據倉庫中類似的數據結構和數據管理功能。如果您想要設計新的存儲引擎,那么這種價格低廉且可靠性高的存儲(以對象存儲的形式)就是您所想要的。

Delta Lake 使用壓縮到 Parquet 中的預寫日志,以 ACID 方式維護數據表的部分對象信息,該日志也會存儲在云對象存儲中。這種設計允許客戶端一次更新多個對象,以可串行化的方式用另一個對象替換對象的一個子集,從而可以獲得很高的并行讀/寫性能。該日志還為大型表格數據集提供了顯著更快的元數據操作。

Delta Lake 還提供了:時間旅行(數據版本控制支持回滾),自動優化小文件,更新支持,緩存和審核日志。這些功能共同提高了在云對象存儲中處理數據的可管理性和性能,最終為 Lakehouse 架構打開了大門。該架構結合了數據倉庫和數據湖的關鍵功能,創建了更好,更簡單的數據架構。

如今,Delta Lake 已被成千上萬的 Databricks 客戶以及開源社區中的許多組織所使用,每天處理數十億字節的結構化和非結構化數據。這些用例涵蓋了各種數據源和應用程序。存儲的數據類型包括來自企業OLTP系統的更改數據捕獲( CDC )日志,應用程序日志,時間序列數據,圖形,用于報告的聚合表以及用于機器學習的圖像或特征數據。這些應用程序包括 SQL 分析工作(最常見),商業智能化,流處理,數據科學,機器學習和圖形分析。總體而言,Delta Lake已證明它非常適合大多數使用結構化存儲格式(例如 Parquet 或 ORC )和許多傳統數據倉庫工作負載的數據湖應用程序。

在這些用例中,我們發現客戶經常使用 Delta Lake 來大幅簡化其數據架構,他們直接針對云對象存儲運行更多工作負載。更多時候,他們通過創建具有數據湖和事務功能的 Lakehouse 來替換消息隊列(例如 Apache Kafka ),數據湖或云數據倉庫(例如 Snowflake,Amazon Redshift )提供的部分或全部功能。

在上述這篇文章的研究中,作者還提供了以下介紹:

對象存儲的特征和挑戰

Delta Lake 的存儲格式和訪問協議

Delta Lake 目前的特征,優勢和局限性

當下常用的核心用例和專用用例

性能實驗,包括 TPC-DS 性能

通過本文,您將更好地了解 Delta Lake,以及它如何為低成本云存儲中的數據啟用類似于 DBMS 的性能和管理功能。您還將了解到 Delta Lake 的存儲格式和訪問協議是如何幫助它變得易于操作,高可用并能夠提供對象存儲的高帶寬訪問。

[[409797]]

Chapter03 探究 Delta Engine

Delta 引擎將與 Apache Spark 100%兼容的矢量化查詢引擎聯系在一起,通過利用現代CPU體系結構對 Spark 3.0的查詢優化器和緩存功能進行了優化,這些功能是作為Databricks Runtime 7.0的一部分推出的。這些功能加在一起,可以顯著提高數據湖(尤其是由 Delta Lake 支持的數據湖)上的查詢性能,從而使客戶可以更輕松地采用和擴展 Lakehouse 體系結構。

擴展執行性能

過去幾年中最大的硬件變化趨勢之一是 CPU 時鐘速度已趨于平穩。 其具體原因不在本章的討論范圍之內,但重要的是,我們必須找到新的方法來以超出原始計算能力的速度去更快地處理數據。 一個最有效的方法是提高可以并行處理的數據量。 但是,數據處理引擎需要專門設計以利用這種并行性。

此外,隨著業務步伐的加快,留給研發團隊提供良好的數據建模的時間越來越少。為了更好的業務敏捷性而進行的較差的建模會導致較差的查詢性能。因此,這不是理想的狀態,我們希望找到使敏捷性和性能最大化的方法。

提出高查詢性能的 Delta Engine

Delta Engine 通過三個組件來提高 Delta Lake 的 SQL 和 DataFrame 工作負載的性能:一個改良好的查詢優化器,一個位于執行層和云對象存儲之間的緩存層,一個用C++ 編寫的本機矢量執行引擎。

改進的查詢優化器通過更優化的統計信息擴展了 Spark 3.0中已有的功能(基于成本的優化器,自適應查詢執行和動態運行時過濾器),從而使星型架構工作負載的性能提高了18倍。

Delta Engine 的緩存層會自動選擇要為用戶緩存的輸入數據,并以更高效的 CPU 格式對代碼進行轉碼,從而更好地利用NVMe SSD的更高存儲速度。幾乎所有工作負載的掃描性能最高可提高5倍。

事實上,Delta Engine 的最大創新點是本地執行引擎,它解決了當今數據團隊所面臨的挑戰,我們將其稱為 Photon(眾所周知,它是一個引擎中的引擎)。這個完全重構的 Databricks 執行引擎的構建旨在最大限度地提高現代云硬件中新變化帶來的性能。它為所有工作負載類型帶來了性能改進,同時仍與開源 Spark API 完全兼容。

Delta Engine 入門

通過將這三個組件鏈接在一起,客戶將更容易理解 Databricks 是如何將多個部分的代碼聚合在一起進行改進,從而大大提高在數據湖上進行分析的工作負載的性能。

我們對 Delta Engine 為客戶帶來的價值感到興奮。它在時間和成本的節約方面具有很大價值。更重要的是在 Lakehouse 模式中,它支持數據團隊設計數據體系結構以提高統一性和簡化性,并取得很多新進展。

有關 Delta Engine 詳情,請觀看 Spark + AI Summit 2020上的主題演講:Delta Engine: High-Performance Query Engine for Delta Lake。

后續

您已經了解了 Delta Lake 及其特性,以及如何進行性能優化,本系列還包括其他內容:

Delta Lake 技術系列-基礎和性能
Delta Lake 技術系列-特性
Delta Lake 技術系列-Streaming
Delta Lake 技術系列-客戶用例(Use Case)

責任編輯:梁菲 來源: 阿里云云棲號
相關推薦

2022-12-13 17:42:47

Arctic存儲湖倉

2023-08-30 07:14:27

MaxCompute湖倉一體

2022-09-29 09:22:33

數據倉

2024-09-03 14:59:00

2021-06-07 11:22:38

大數據數據倉庫湖倉一體

2024-02-20 07:55:48

數據平臺架構湖倉一體Alluxio

2022-07-06 09:53:04

開源數據湖

2023-06-28 07:28:36

湖倉騰訊架構

2023-12-14 13:01:00

Hudivivo

2023-06-19 07:13:51

云原生湖倉一體

2021-06-11 14:01:51

數據倉庫湖倉一體 Flink

2024-03-05 08:21:23

湖倉一體數據湖數據倉庫

2025-01-21 17:02:14

谷歌多模態AI

2022-08-18 11:12:51

Cloudera?數據湖倉SaaS

2023-03-27 21:24:18

架構數據處理分析服務

2021-06-07 10:45:16

大數據數據倉庫數據湖

2022-08-16 16:22:18

湖倉一體網易數帆開源
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久草院线| 99pao成人国产永久免费视频 | 国产成人精品免费 | 一本色道精品久久一区二区三区 | 国产精华一区 | 一区二区三区中文字幕 | 伦理二区| 欧美最猛黑人xxxx黑人 | 99热.com| 亚洲精品久久久久久一区二区 | 成年人黄色免费视频 | 国产高清视频在线观看 | 亚洲色图婷婷 | 伊人超碰在线 | 欧美福利久久 | 亚洲激情一区二区 | 国产黄色大片 | 久久爱黑人激情av摘花 | 中文精品久久 | 综合网中文字幕 | 久久久久久久国产 | 正在播放亚洲 | 日韩视频精品在线 | 欧美极品视频在线观看 | 亚洲国产精品久久 | 亚洲一区二区在线电影 | 一区在线视频 | www.色五月.com | 91精品久久久久久久 | 亚洲97| 四虎最新 | 欧美成年人视频在线观看 | 美女福利网站 | 精品亚洲视频在线 | 日韩欧美一区二区三区免费观看 | 亚洲精品中文字幕中文字幕 | 特级丰满少妇一级aaaa爱毛片 | 免费福利视频一区二区三区 | 国产精品一级 | 久久久久久久电影 | 7777在线视频 |