偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

前言

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

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

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

——整合數(shù)據(jù)湖和數(shù)據(jù)倉庫的最佳優(yōu)勢

目錄

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

本文介紹內(nèi)容

Delta Lake 系列電子書由 Databricks 出版,阿里云計(jì)算平臺(tái)事業(yè)部大數(shù)據(jù)生態(tài)企業(yè)團(tuán)隊(duì)翻譯,旨在幫助領(lǐng)導(dǎo)者和實(shí)踐者了解 Delta Lake 的全部功能以及它所處的場景。在本文中,Delta Lake 系列-湖倉一體( Lakehouse ),重點(diǎn)介紹湖倉一體。

后續(xù)

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

什么是數(shù)據(jù)湖?

Delta Lake 是一個(gè)統(tǒng)一的數(shù)據(jù)管理系統(tǒng),可為云數(shù)據(jù)湖帶來數(shù)據(jù)可靠性和快速分析能力。Delta Lake 可以在現(xiàn)有數(shù)據(jù)湖之上運(yùn)行,并且與 Apache Spark API 完全兼容。

在Databricks 公司內(nèi)部,我們已經(jīng)看到了 Delta Lake 如何為數(shù)據(jù)湖帶來可靠性保證,性能優(yōu)化和生命周期管理。 使用 Delta Lake 可以解決以下問題:數(shù)據(jù)格式錯(cuò)誤,數(shù)據(jù)合規(guī)性刪除或?qū)€(gè)別數(shù)據(jù)進(jìn)行修改。同時(shí),借助 Delta Lake,高質(zhì)量數(shù)據(jù)可以快速寫入數(shù)據(jù)湖,通過云服務(wù)(安全且可擴(kuò)展)部署以提高數(shù)據(jù)的利用效率。

[[409792]]

Chapter-01 什么是湖倉一體?

在過去的幾年里,Lakehouse 作為一種新的數(shù)據(jù)管理范式,已獨(dú)立出現(xiàn)在 Databricks的許多用戶和應(yīng)用案例中。在這篇文章中,我們將闡述這種新范式以及它相對于之前方案的優(yōu)勢。

數(shù)據(jù)倉庫在決策支持和商業(yè)智能應(yīng)用程序方面擁有悠久的歷史。 自1980年代末創(chuàng)建以來,數(shù)據(jù)倉庫技術(shù)一直在發(fā)展,MPP 架構(gòu)使得系統(tǒng)能夠處理更大規(guī)模的數(shù)據(jù)量。

盡管倉庫非常適合結(jié)構(gòu)化數(shù)據(jù),但是許多現(xiàn)代企業(yè)必須處理非結(jié)構(gòu)化數(shù)據(jù),半結(jié)構(gòu)化數(shù)據(jù)以及具有高多樣性、高速度和高容量的數(shù)據(jù)。數(shù)據(jù)倉庫不適用于許多此類場景,并且成本效益并非最佳。

隨著公司開始從許多不同的來源收集大量數(shù)據(jù),架構(gòu)師們開始構(gòu)想一個(gè)單一的系統(tǒng)來容納許多不同的分析產(chǎn)品和工作任務(wù)產(chǎn)生的數(shù)據(jù)。

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

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

湖倉一體整合了數(shù)據(jù)湖和數(shù)據(jù)倉庫二者的優(yōu)勢

Lakehouse 是一種結(jié)合了數(shù)據(jù)湖和數(shù)據(jù)倉庫優(yōu)勢的新范式,解決了數(shù)據(jù)湖的局限性。Lakehouse 使用新的系統(tǒng)設(shè)計(jì):直接在用于數(shù)據(jù)湖的低成本存儲(chǔ)上實(shí)現(xiàn)與數(shù)據(jù)倉庫中類似的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)管理功能。如果你現(xiàn)在需要重新設(shè)計(jì)數(shù)據(jù)倉庫,現(xiàn)在有了廉價(jià)且高可靠(以對象存儲(chǔ)的格式)的存儲(chǔ)可用,不妨考慮使用 Lakehouse。

Lakehouse有如下關(guān)鍵特性:

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

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

摘要:

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

作者: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 統(tǒng)一數(shù)據(jù)平臺(tái)在架構(gòu)上支持 lakehouse。阿里巴巴的 DDI 服務(wù),已經(jīng)與Databricks 集成,實(shí)現(xiàn)了類似 Lakehouse 的模式。其他托管服務(wù)(例如 BigQuery 和Redshift Spectrum)具有上面列出的一些 LakeHouse 功能特性,但它們是主要針對 BI和其他 SQL 應(yīng)用。對于想要構(gòu)建和實(shí)現(xiàn)自己系統(tǒng)的公司,可參考適合構(gòu)建 Lakehouse的開源文件格式( Delta Lake,Apache Iceberg,Apache Hudi )。

將數(shù)據(jù)湖和數(shù)據(jù)倉庫合并到一個(gè)系統(tǒng)中意味著數(shù)據(jù)團(tuán)隊(duì)可以更快地移動(dòng)數(shù)據(jù),因?yàn)樗麄兡軌蚴褂脭?shù)據(jù)而無需訪問多個(gè)系統(tǒng)。在這些早期的 Lakehouse中,SQL 支持以及與BI 工具的集成通常足以滿足大多數(shù)企業(yè)數(shù)據(jù)倉庫的需求。實(shí)例化視圖和存儲(chǔ)過程是可以使用的,但是用戶可能需要采用其他機(jī)制,這些機(jī)制與傳統(tǒng)數(shù)據(jù)倉庫中的機(jī)制不同。后者對于“升降場景”尤為重要,“升降場景”要求系統(tǒng)所具有的語義與舊的商業(yè)數(shù)據(jù)倉庫的語義幾乎相同。

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

盡管可以將分布式文件系統(tǒng)用于存儲(chǔ)層,但對象存儲(chǔ)更適用于 Lakehouse。對象存儲(chǔ)提供了低成本,高可用性的存儲(chǔ),在大規(guī)模并行讀取方面表現(xiàn)出色,這是現(xiàn)代數(shù)據(jù)倉庫的基本要求。

從BI到AI

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

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

Chapter02 深入探討 Lakehouse 和 Delta Lake 的內(nèi)部工作原理

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

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

基于云對象存儲(chǔ)的特點(diǎn),出現(xiàn)了三種方案:

Data lakes (數(shù)據(jù)湖)

Data lakes 將表存儲(chǔ)為對象集合的文件目錄(即數(shù)據(jù)湖),通常使用列式(例如Apache Parquet )存儲(chǔ)。 這是一種獨(dú)特的方法。因?yàn)楸碇皇且唤M對象,可以通過多種工具進(jìn)行訪問,而無需使用其他數(shù)據(jù)存儲(chǔ)系統(tǒng),但是這樣會(huì)導(dǎo)致性能和一致性問題。 性能上由于事務(wù)執(zhí)行失敗導(dǎo)致隱藏的數(shù)據(jù)損壞的情況時(shí)有發(fā)生,最終導(dǎo)致查詢不一致,等待時(shí)間長,并且基本的管理功能(如表版本控制和審核日志)不可用。

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

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

Lakehouse (湖倉一體)

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

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

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

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

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

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

對象存儲(chǔ)的特征和挑戰(zhàn)

Delta Lake 的存儲(chǔ)格式和訪問協(xié)議

Delta Lake 目前的特征,優(yōu)勢和局限性

當(dāng)下常用的核心用例和專用用例

性能實(shí)驗(yàn),包括 TPC-DS 性能

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

[[409797]]

Chapter03 探究 Delta Engine

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

擴(kuò)展執(zhí)行性能

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

此外,隨著業(yè)務(wù)步伐的加快,留給研發(fā)團(tuán)隊(duì)提供良好的數(shù)據(jù)建模的時(shí)間越來越少。為了更好的業(yè)務(wù)敏捷性而進(jìn)行的較差的建模會(huì)導(dǎo)致較差的查詢性能。因此,這不是理想的狀態(tài),我們希望找到使敏捷性和性能最大化的方法。

提出高查詢性能的 Delta Engine

Delta Engine 通過三個(gè)組件來提高 Delta Lake 的 SQL 和 DataFrame 工作負(fù)載的性能:一個(gè)改良好的查詢優(yōu)化器,一個(gè)位于執(zhí)行層和云對象存儲(chǔ)之間的緩存層,一個(gè)用C++ 編寫的本機(jī)矢量執(zhí)行引擎。

改進(jìn)的查詢優(yōu)化器通過更優(yōu)化的統(tǒng)計(jì)信息擴(kuò)展了 Spark 3.0中已有的功能(基于成本的優(yōu)化器,自適應(yīng)查詢執(zhí)行和動(dòng)態(tài)運(yùn)行時(shí)過濾器),從而使星型架構(gòu)工作負(fù)載的性能提高了18倍。

Delta Engine 的緩存層會(huì)自動(dòng)選擇要為用戶緩存的輸入數(shù)據(jù),并以更高效的 CPU 格式對代碼進(jìn)行轉(zhuǎn)碼,從而更好地利用NVMe SSD的更高存儲(chǔ)速度。幾乎所有工作負(fù)載的掃描性能最高可提高5倍。

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

Delta Engine 入門

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

我們對 Delta Engine 為客戶帶來的價(jià)值感到興奮。它在時(shí)間和成本的節(jié)約方面具有很大價(jià)值。更重要的是在 Lakehouse 模式中,它支持?jǐn)?shù)據(jù)團(tuán)隊(duì)設(shè)計(jì)數(shù)據(jù)體系結(jié)構(gòu)以提高統(tǒng)一性和簡化性,并取得很多新進(jìn)展。

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

后續(xù)

您已經(jīng)了解了 Delta Lake 及其特性,以及如何進(jìn)行性能優(yōu)化,本系列還包括其他內(nèi)容:

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

責(zé)任編輯:梁菲 來源: 阿里云云棲號
相關(guān)推薦

2022-12-13 17:42:47

Arctic存儲(chǔ)湖倉

2023-08-30 07:14:27

MaxCompute湖倉一體

2022-09-29 09:22:33

數(shù)據(jù)倉

2024-09-03 14:59:00

2021-06-07 11:22:38

大數(shù)據(jù)數(shù)據(jù)倉庫湖倉一體

2022-07-06 09:53:04

開源數(shù)據(jù)湖

2024-02-20 07:55:48

數(shù)據(jù)平臺(tái)架構(gòu)湖倉一體Alluxio

2023-06-28 07:28:36

湖倉騰訊架構(gòu)

2023-12-14 13:01:00

Hudivivo

2023-06-19 07:13:51

云原生湖倉一體

2021-06-11 14:01:51

數(shù)據(jù)倉庫湖倉一體 Flink

2024-03-05 08:21:23

湖倉一體數(shù)據(jù)湖數(shù)據(jù)倉庫

2025-01-21 17:02:14

谷歌多模態(tài)AI

2023-03-27 21:24:18

架構(gòu)數(shù)據(jù)處理分析服務(wù)

2022-08-18 11:12:51

Cloudera?數(shù)據(jù)湖倉SaaS

2021-06-07 10:45:16

大數(shù)據(jù)數(shù)據(jù)倉庫數(shù)據(jù)湖

2022-08-16 16:22:18

湖倉一體網(wǎng)易數(shù)帆開源
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號