您的位置:首頁(yè) > 軟件教程 > 教程 > Lakehouse 還是 Warehouse?(1/2)

Lakehouse 還是 Warehouse?(1/2)

來(lái)源:好特整理 | 時(shí)間:2024-05-27 08:49:10 | 閱讀:82 |  標(biāo)簽: house 2 K S AR   | 分享到:

Onehouse 創(chuàng)始人/首席執(zhí)行官 Vinoth Chandar 于 2022 年 3 月在奧斯汀數(shù)據(jù)委員會(huì)發(fā)表了這一重要演講。奧斯汀數(shù)據(jù)委員會(huì)是“世界上最大的獨(dú)立全棧數(shù)據(jù)會(huì)議”,這是一個(gè)由社區(qū)驅(qū)動(dòng)的活動(dòng),包括數(shù)據(jù)科學(xué)、數(shù)據(jù)工程、分析、機(jī)器學(xué)習(xí) (ML)、人工智能 (AI) 等。 Vinoth C

Onehouse 創(chuàng)始人/首席執(zhí)行官 Vinoth Chandar 于 2022 年 3 月在 奧斯汀數(shù)據(jù)委員會(huì) 發(fā)表了這一重要演講。奧斯汀數(shù)據(jù)委員會(huì)是“世界上最大的獨(dú)立全棧數(shù)據(jù)會(huì)議”,這是一個(gè)由社區(qū)驅(qū)動(dòng)的活動(dòng),包括數(shù)據(jù)科學(xué)、數(shù)據(jù)工程、分析、機(jī)器學(xué)習(xí) (ML)、人工智能 (AI) 等。

Vinoth Chandar 在 Uber 工作期間發(fā)起了數(shù)據(jù)湖倉(cāng)一體架構(gòu),他是 Apache Hudi 項(xiàng)目的項(xiàng)目管理委員會(huì) (PMC) 主席。Hudi 最初被描述為“事務(wù)性數(shù)據(jù)湖”,現(xiàn)在被認(rèn)為是 Databricks 在 2020 年引入該術(shù)語(yǔ)后的第一個(gè),也是三個(gè)領(lǐng)先的數(shù)據(jù)湖倉(cāng)一體項(xiàng)目之一。

在本次演講中 Vinoth 比較了數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)湖和數(shù)據(jù)湖倉(cāng)一體的過(guò)去、現(xiàn)在和未來(lái)用途。最后呼吁采用開(kāi)放的、湖倉(cāng)一體優(yōu)先的架構(gòu),大多數(shù)工作負(fù)載直接由統(tǒng)一的數(shù)據(jù)湖倉(cāng)一體提供服務(wù)。在此體系結(jié)構(gòu)中,湖倉(cāng)一體服務(wù)于多個(gè)不同的引擎,這些引擎專注于報(bào)告、商業(yè)智能、預(yù)測(cè)分析、數(shù)據(jù)科學(xué)和 ML/AI 等領(lǐng)域。

我們將演講分為兩篇博文:

  • 第一篇博文(這篇文章)描述了數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖倉(cāng)一體的演變,并指出了兩者之間的架構(gòu)差異。
  • 第二篇文章比較了數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖倉(cāng)一體架構(gòu)的功能和性價(jià)比特征。最后描述一種面向未來(lái)的、湖倉(cāng)一體優(yōu)先的架構(gòu)。

目標(biāo)

Hudi 是我在 Uber 工作時(shí)開(kāi)始的一個(gè)項(xiàng)目,在過(guò)去的五年里一直在與 Apache 軟件基金會(huì)一起發(fā)展社區(qū)。有了 Onehouse,我們做了更多與我在 Uber 工作時(shí)相同的分布式數(shù)據(jù)倉(cāng)庫(kù)/數(shù)據(jù)庫(kù)類型的工作。
Hudi 有很多很好的材料,我們總是可以通過(guò) Hudi Slack 進(jìn)行連接。今天不談 Hudi,而是列出每個(gè)人都熟悉的數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)湖和數(shù)據(jù)湖倉(cāng)一體之間的區(qū)別,后者較新。我將描述整體架構(gòu),如何思考問(wèn)題,以及應(yīng)該留在當(dāng)前的架構(gòu)中還是繼續(xù)演進(jìn)。
演講的目標(biāo)包括:

  • 描述數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖的融合
  • 澄清常見(jiàn)問(wèn)題和爭(zhēng)論點(diǎn)
  • 指出細(xì)微但重要的技術(shù)差異

那么為什么現(xiàn)在要做這樣的演講呢?幾個(gè)原因:

  • 多元化的背景。數(shù)據(jù)社區(qū)擁有具有非常多樣化背景的人。我有一個(gè)更面向數(shù)據(jù)庫(kù)的背景;我相信你們中的許多人都來(lái)自 Spark 世界、流、Flink、Python 等。
  • 很多選擇。現(xiàn)代數(shù)據(jù)基礎(chǔ)架構(gòu)有很多選擇,其中包括數(shù)據(jù)倉(cāng)庫(kù),然后是數(shù)據(jù)湖,以及最近的數(shù)據(jù)湖倉(cāng)一體。
  • 了解權(quán)衡取舍。這給了我們一個(gè)很好的機(jī)會(huì)來(lái)了解我們?nèi)绾翁暨x,以及我們?nèi)绾我黄鹄斫鈾?quán)衡。

首先,我們將勾勒出這些技術(shù)的演變以及我們是如何走到這一步的弧線。然后我們將嘗試從這三個(gè)不同的方面來(lái)理解和研究它們:架構(gòu)、功能和性價(jià)比。最后我將給大家描述我所看到的模式,提煉我在 Hudi 社區(qū)中看到的模式,以一種更平衡、更面向未來(lái)的方式來(lái)構(gòu)建核心數(shù)據(jù)基礎(chǔ)設(shè)施和架構(gòu)。

以更平衡、更面向未來(lái)的方式來(lái)構(gòu)建核心數(shù)據(jù)基礎(chǔ)架構(gòu)和架構(gòu)

技術(shù)的演變

本地?cái)?shù)據(jù)倉(cāng)庫(kù)(下面幻燈片中的第一個(gè)弧線)現(xiàn)在可以看作是用于分析的專用數(shù)據(jù)庫(kù)。很長(zhǎng)一段時(shí)間以來(lái)這就是我們所擁有的一切。然后2012年推出了BigQuery(無(wú)服務(wù)器查詢),現(xiàn)在圍繞倉(cāng)儲(chǔ)領(lǐng)域發(fā)生了許多創(chuàng)新。

Lakehouse 還是 Warehouse?(1/2)

在我看來(lái) Redshift 確實(shí)使云倉(cāng)庫(kù)成為主流,因?yàn)樵贫@得了很大的發(fā)展勢(shì)頭。當(dāng)然 Snowflake 以分離存儲(chǔ)和計(jì)算而聞名并且具有出色的可用性,因此今天云倉(cāng)儲(chǔ)非常成熟,它們?yōu)榉治鲂枨筇峁┝朔(wěn)定的資源。

如果看一下另一個(gè)弧線,數(shù)據(jù)湖實(shí)際上最初是一種架構(gòu)模式,而不是可以下載和使用的有形軟件,就像RDBMS或數(shù)據(jù)倉(cāng)庫(kù)一樣。數(shù)據(jù)湖從支持搜索和社交開(kāi)始:大規(guī)模數(shù)據(jù)用例。

我曾經(jīng)在LinkedIn工作,當(dāng)時(shí)我們使用所有這些方法來(lái)處理大量數(shù)據(jù)并構(gòu)建數(shù)據(jù)驅(qū)動(dòng)的產(chǎn)品。Spark 不斷發(fā)展壯大徹底改變了數(shù)據(jù)處理方式。云增長(zhǎng) – 對(duì)于許多工作負(fù)載,云存儲(chǔ)無(wú)處不在。數(shù)據(jù)湖逐漸成為云存儲(chǔ)之上的文件的代名詞。

在 2016 年的 Uber 我們?cè)噲D構(gòu)建一個(gè)教科書(shū)式的數(shù)據(jù)架構(gòu):一個(gè)數(shù)據(jù)湖架構(gòu),我們可以從數(shù)據(jù)庫(kù)中獲取運(yùn)營(yíng)數(shù)據(jù),并將一些外部資源流式傳輸?shù)皆紝,然后能夠進(jìn)行任何類型的 ETL 或后處理,并從中派生出更多數(shù)據(jù)集。

需要的事務(wù)處理核心能力在數(shù)據(jù)湖上缺失

我們發(fā)現(xiàn)構(gòu)建這種教科書(shū)式的架構(gòu)幾乎是不可能的,因?yàn)閿?shù)據(jù)湖上缺乏我們需要的核心功能,例如事務(wù),Hudi項(xiàng)目就是在這樣的背景下誕生的。

我們添加了更新、刪除、事務(wù);我們甚至在數(shù)據(jù)湖之上添加了數(shù)據(jù)庫(kù) CDC 樣式的變更流,這就是我們所說(shuō)的事務(wù)性數(shù)據(jù)湖。

Lakehouse 還是 Warehouse?(1/2)

湖倉(cāng)一體現(xiàn)已在技術(shù)上得到驗(yàn)證,包括以下公司用例:

  • Uber
  • Robinhood
  • Amazon
  • Bytedance
  • Walmart
  • Disney
  • GE

技術(shù)基礎(chǔ) - 湖倉(cāng)一體技術(shù)在現(xiàn)有數(shù)據(jù)湖之上添加的內(nèi)容已經(jīng)得到了充分的證明。因此只要通過(guò)這個(gè)鏡頭來(lái)觀察 Apache Hudi 社區(qū)就可以看到這些是日常的服務(wù),在這里可以看到大型企業(yè),如果你把它們加在一起會(huì)看到EB級(jí)別數(shù)據(jù)是使用Apache Hudi等湖倉(cāng)一體技術(shù)管理的。

使用 Apache Hudi 等湖倉(cāng)一體技術(shù)管理 EB 級(jí)別數(shù)據(jù)

作為一個(gè)從觀察數(shù)據(jù)庫(kù)大戰(zhàn)開(kāi)始職業(yè)生涯的人發(fā)現(xiàn)一些有趣的頭條新聞:

  • Databricks 創(chuàng)下官方數(shù)據(jù)倉(cāng)庫(kù)性能記錄
  • Snowflake 聲稱與 Databricks 具有相似的性價(jià)比,但沒(méi)有那么快! - databricks
  • 行業(yè)標(biāo)桿和誠(chéng)信競(jìng)爭(zhēng) - Snowflake

Lakehouse 還是 Warehouse?(1/2)

如何理解這一切?數(shù)據(jù)倉(cāng)庫(kù)已經(jīng)非常容易理解也已經(jīng)很成熟了。而從2018年到2020年,數(shù)據(jù)湖一直處于低谷。

而圍繞數(shù)據(jù)工程有很多挫敗感,那里有太多的移動(dòng)部件。湖倉(cāng)一體是一個(gè)新興的類別,它可以通過(guò)添加我所描述的一些核心缺失功能來(lái)挽回?cái)?shù)據(jù)湖。

但我們需要謹(jǐn)慎,因?yàn)檫@不是我們第一次看到解決所有問(wèn)題的靈丹妙藥,不幸的是經(jīng)歷了Hadoop時(shí)代的承諾(Hadoop企業(yè)數(shù)據(jù)倉(cāng)庫(kù)將接管數(shù)據(jù)倉(cāng)庫(kù))。

對(duì)我來(lái)說(shuō)它有點(diǎn)超前于時(shí)代,重點(diǎn)不再是解決核心用戶問(wèn)題。在我看來(lái)像Hudi這樣的東西應(yīng)該早寫(xiě)五年。因此我們需要以謹(jǐn)慎樂(lè)觀的態(tài)度對(duì)待這個(gè)問(wèn)題。

因此我將分享我對(duì)當(dāng)今情況的誠(chéng)實(shí)評(píng)估以及如何看待演變。我們將涵蓋三個(gè)方面:

  • 體系結(jié)構(gòu)設(shè)計(jì)注意事項(xiàng)。主要工作負(fù)載是什么?我們還將討論開(kāi)放性,因?yàn)槊慨?dāng)談?wù)摷軜?gòu)時(shí),都會(huì)經(jīng)常提到這一點(diǎn)。
  • 核心技術(shù)能力。這些東西的平臺(tái)化程度如何;管理層是什么樣的?應(yīng)該在團(tuán)隊(duì)建設(shè)中規(guī)劃多少基礎(chǔ)設(shè)施,而已經(jīng)內(nèi)置了多少基礎(chǔ)設(shè)施?需要多大的靈活性,而解決方案中有多少是預(yù)構(gòu)建的?諸如此類的事情。如今在DevOps和運(yùn)營(yíng)精益數(shù)據(jù)組織方面,這一點(diǎn)非常重要。
  • 成本/性能杠桿。有各種各樣的工作負(fù)載,工作負(fù)載的類型、設(shè)計(jì)選擇以及它們?cè)谒袟I系奈恢谩?

比較數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖倉(cāng)一體:體系結(jié)構(gòu)

讓我們快速了解一下基礎(chǔ)知識(shí),首先是:什么是本地倉(cāng)庫(kù)?

Lakehouse 還是 Warehouse?(1/2)

有一堆有強(qiáng)大的磁盤(pán)和CPU的節(jié)點(diǎn),運(yùn)行SQL,它在節(jié)點(diǎn)上運(yùn)行并訪問(wèn)本地?cái)?shù)據(jù);它只是一個(gè)集群數(shù)據(jù)庫(kù)架構(gòu)。同樣很難真正描繪封閉系統(tǒng)的架構(gòu) - 但我認(rèn)為從高層次上講,它們看起來(lái)像這樣,另一方面擁有可無(wú)限擴(kuò)展的云存儲(chǔ)。
本地倉(cāng)庫(kù)的問(wèn)題在于存儲(chǔ)和計(jì)算是耦合的,因此無(wú)法獨(dú)立擴(kuò)展它們。但是在云倉(cāng)庫(kù)模型中他們很好地解決了這個(gè)問(wèn)題 - 可以在云存儲(chǔ)上存儲(chǔ)任意數(shù)量的數(shù)據(jù),隨后可以啟動(dòng)按需計(jì)算。

這些是托管服務(wù)、平臺(tái)服務(wù),例如優(yōu)化查詢、事務(wù)管理、元數(shù)據(jù),這些有助于服務(wù)更具彈性,可以做很多全局最優(yōu)的處理,可能正在同一張表上啟動(dòng)虛擬倉(cāng)庫(kù),并且可以通過(guò)這種方式進(jìn)行大量交叉優(yōu)化。這就是我們所看到的架構(gòu)。

Lakehouse 還是 Warehouse?(1/2)

有趣的是傳統(tǒng)的數(shù)據(jù)湖總是有存儲(chǔ)和計(jì)算分離的。從字面上看他們就是這樣出生的,但傳統(tǒng)的數(shù)據(jù)湖上有很多文件,然后就混合了 JSON 和其他任何東西。有 SQL 引擎 - 本質(zhì)上是一堆可以在它們之上執(zhí)行 SQL 的節(jié)點(diǎn) - 并且根據(jù)使用的引擎和供應(yīng)商可能有緩存。
對(duì)于湖倉(cāng)一體,我們真正做的是在中間插入一個(gè)層并跟蹤更多元數(shù)據(jù)。然后會(huì)看到它變得更加結(jié)構(gòu)化。現(xiàn)在LakeHouse中的世界更加結(jié)構(gòu)化。

可以看到這些架構(gòu)是如何相互接近的

從本質(zhì)上講,我們添加了一個(gè)事務(wù)管理層,一堆可以優(yōu)化表的東西,類似于在倉(cāng)庫(kù)中找到的東西,比如對(duì)表進(jìn)行聚簇,架構(gòu)管理或統(tǒng)計(jì)信息,只是跟蹤表的更具可擴(kuò)展性的文件級(jí)統(tǒng)計(jì)信息,架構(gòu)的其余部分幾乎相同。可以從云倉(cāng)庫(kù)模型和湖倉(cāng)一體模型中了解體系結(jié)構(gòu)如何相互接近。

Lakehouse 還是 Warehouse?(1/2)

開(kāi)放性是一個(gè)很大的話題 - 它并不止于開(kāi)放數(shù)據(jù)格式,遠(yuǎn)遠(yuǎn)超出了架構(gòu)。因此開(kāi)放數(shù)據(jù)格式當(dāng)然是可互操作且面向未來(lái)的,但是數(shù)據(jù)倉(cāng)庫(kù)或多或少使用專有數(shù)據(jù)格式。
互操作性是另一回事,如果解決方案真的很受歡迎,那么很多工具都會(huì)集成,但是對(duì)于開(kāi)放的文件和表格格式真正得到的是:生態(tài)系統(tǒng)可以自行發(fā)展。不必依賴供應(yīng)商添加對(duì) X、Y、Z 格式的支持。這就是擁有開(kāi)放數(shù)據(jù)格式的關(guān)鍵力量。

不需要供應(yīng)商增加對(duì) X、Y、Z 格式的支持

數(shù)據(jù)位置和訪問(wèn)實(shí)際上因供應(yīng)商而異,甚至在倉(cāng)庫(kù)之間也是如此。在某些情況下將數(shù)據(jù)存儲(chǔ)在倉(cāng)儲(chǔ)供應(yīng)商處,在某些方面它就像云提供商/運(yùn)營(yíng)商倉(cāng)庫(kù),所以它各不相同。數(shù)據(jù)湖主要將數(shù)據(jù)存儲(chǔ)在自己的存儲(chǔ)桶中,但需要注意一些注意事項(xiàng) - 如何在存儲(chǔ)桶上設(shè)置權(quán)限,以便可以保持已寫(xiě)入對(duì)象的所有者。

數(shù)據(jù)服務(wù)是關(guān)鍵差異所在

數(shù)據(jù)服務(wù)是主要區(qū)別所在,在倉(cāng)庫(kù)中維護(hù)或管理表的大多數(shù)東西都是專有的。即使在湖上也有一種模式可以保留開(kāi)放數(shù)據(jù)格式,但將其他所有內(nèi)容鎖定到供應(yīng)商運(yùn)行時(shí),這是我們?cè)?Hudi 項(xiàng)目上做得更好的地方,在那里可以獲得攝取服務(wù)、表優(yōu)化能力——所有這些服務(wù)都是開(kāi)源的。至少在我們看來(lái)這種組合鎖定了開(kāi)放性,因?yàn)檫@樣一來(lái)格式就是一種被動(dòng)的東西。問(wèn)題是你用它做什么?
那么在代碼和社區(qū)方面,你能影響這個(gè)項(xiàng)目嗎?即使有一個(gè)團(tuán)隊(duì),大型企業(yè)也要與供應(yīng)商的路線圖聯(lián)系在一起。即使在數(shù)據(jù)湖上也因項(xiàng)目而異,無(wú)論是草根開(kāi)源項(xiàng)目還是由一家公司驅(qū)動(dòng)的供應(yīng)商。
關(guān)于數(shù)據(jù)網(wǎng)格:很多人告訴我,“我正在構(gòu)建一個(gè)網(wǎng)格,而不是一個(gè)數(shù)據(jù)湖”。這是一個(gè)非常正交的概念。如果你還記得我說(shuō)過(guò)數(shù)據(jù)湖是一個(gè)架構(gòu)概念。它主要討論如何組織數(shù)據(jù),而不是數(shù)據(jù)基礎(chǔ)架構(gòu)。如果你看一下關(guān)于這個(gè)主題的介紹性文章,它主張將數(shù)據(jù)基礎(chǔ)設(shè)施標(biāo)準(zhǔn)化作為我們?nèi)绾螌?shí)現(xiàn)數(shù)據(jù)網(wǎng)格的關(guān)鍵點(diǎn)。

Lakehouse 還是 Warehouse?(1/2)

總結(jié)一下我們的架構(gòu)討論:我今天看到的是數(shù)據(jù)倉(cāng)庫(kù)實(shí)際上是為商業(yè)智能 (BI) 而構(gòu)建,其中的問(wèn)題在于掃描盡可能少的數(shù)據(jù)量。那是因?yàn)樗麄冇懈咝阅艿脑獢?shù)據(jù)管理,長(zhǎng)時(shí)間運(yùn)行的服務(wù)器。通常數(shù)據(jù)倉(cāng)庫(kù)旨在更好地支持這些更具交互性的工作負(fù)載。

如果看一下數(shù)據(jù)湖就會(huì)發(fā)現(xiàn)這些湖支持可擴(kuò)展的 AI。這真正意味著它們是經(jīng)過(guò)掃描優(yōu)化的,他們可以掃描大量數(shù)據(jù),因?yàn)樗鼈兌荚谠拼鎯?chǔ)上——也就是說(shuō)沒(méi)有中間服務(wù)器,所以它們可以直接訪問(wèn)云存儲(chǔ)。開(kāi)放格式意味著我們剛才在主題演講中談到的那種生態(tài)系統(tǒng),這些生態(tài)系統(tǒng)可以發(fā)展得更快,因?yàn)榭梢猿霈F(xiàn)更小的項(xiàng)目,它們可以建立在這些數(shù)據(jù)之上,而且很容易做到,作為一個(gè)社區(qū)發(fā)展和迭代。

從某種意義上說(shuō) LakeHouse 試圖將兩者融合在一起,但挑戰(zhàn)也存在,這些進(jìn)步是必要的。如果在谷歌上搜索任何“數(shù)據(jù)湖與數(shù)據(jù)倉(cāng)庫(kù)”的比較,它會(huì)告訴你區(qū)別在于非結(jié)構(gòu)化數(shù)據(jù)與結(jié)構(gòu)化數(shù)據(jù)——但湖倉(cāng)一體仍然主要處理結(jié)構(gòu)化數(shù)據(jù),還有很多標(biāo)準(zhǔn)化的數(shù)據(jù)管理工作要做,這些都是需要解決的挑戰(zhàn)。

小編推薦閱讀

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

K
K
類型:角色扮演  運(yùn)營(yíng)狀態(tài):封測(cè)  語(yǔ)言:中文   

游戲攻略

游戲禮包

游戲視頻

游戲下載

游戲活動(dòng)

《K》是由樂(lè)次元開(kāi)發(fā)的一款日系動(dòng)漫RPG游戲,游戲根據(jù)同名動(dòng)漫改編而來(lái),高水準(zhǔn)的漫畫(huà)和音樂(lè)是這款游戲的

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)