去年底的2024 AWS re:Invent大會(huì),新任CEO Matt Garman發(fā)布了一眾與AI相關(guān)的新服務(wù)。在這些新服務(wù)中,新的Amazon S3 Tables服務(wù)看似不起眼,卻對(duì)于未來數(shù)據(jù)存儲(chǔ)有著深遠(yuǎn)影響。
在當(dāng)時(shí)的發(fā)布現(xiàn)場(chǎng),筆者與多位技術(shù)專家進(jìn)行交流,均認(rèn)為Amazon S3 Tables的發(fā)布是以Apache Iceberg為代表的開放表格發(fā)展歷程的重要時(shí)刻,不僅僅標(biāo)志著AI時(shí)代下基于對(duì)象存的開放表格在湖倉(cāng)一體的霸主地位,更意味著對(duì)象存儲(chǔ)作為主存儲(chǔ)的時(shí)代正加速到來。
那么,開放表格目前市場(chǎng)情況如何?三大開放表格彼此之間的競(jìng)爭(zhēng)情況如何?為什么開放表格格式是對(duì)象存儲(chǔ)的理想選擇?開放表格的流行為什么會(huì)像當(dāng)初Hadoop的崛起一樣,在未來的AI世界中占據(jù)數(shù)據(jù)分析的霸主地位?
近日,數(shù)據(jù)庫(kù)和數(shù)據(jù)湖技術(shù)專家Brenna Buuck對(duì)此進(jìn)行了深度分析。對(duì)此,大數(shù)據(jù)在線進(jìn)行編譯與解讀。
開放表格:湖倉(cāng)一體的關(guān)鍵組件
現(xiàn)代化的湖倉(cāng)一體架構(gòu)建立在三個(gè)關(guān)鍵組件之上:存儲(chǔ)層、開放表格式式和計(jì)算引擎。
這其中,開放表格格式(Open Table Formats)和對(duì)象存儲(chǔ)(Object Storage)正在重新定義構(gòu)建數(shù)據(jù)系統(tǒng)的方式,成為可擴(kuò)展、高效且面向未來的現(xiàn)代化湖倉(cāng)一體架構(gòu)的基石。
現(xiàn)代化湖倉(cāng)一體架構(gòu)采用模塊化設(shè)計(jì),且充分利用對(duì)象存儲(chǔ)的可擴(kuò)展性、靈活性和成本效益等優(yōu)勢(shì),以及開放表格的高級(jí)元數(shù)據(jù)管理功能和跨不同計(jì)算引擎的互操作性,幫助企業(yè)與組織滿足現(xiàn)代工作負(fù)載的需求。
在存儲(chǔ)層,現(xiàn)代化湖倉(cāng)一體架構(gòu)通常采用對(duì)象存儲(chǔ)作,以方便存儲(chǔ)結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。而開放表格則充當(dāng)元數(shù)據(jù)抽象層,提供類似數(shù)據(jù)庫(kù)的功能,包括 Schema、分區(qū)和版本控制,以及 ACID 事務(wù)、Schema 演變和時(shí)間旅行等高級(jí)功能。最后,Spark、Presto、Trino 和 Dremio 等計(jì)算引擎與開放表格式交互,以大規(guī)模處理和分析數(shù)據(jù),使用戶能夠靈活地選擇最適合其工作負(fù)載的工具。
![]()
現(xiàn)代化湖倉(cāng)一體架構(gòu)的核心設(shè)計(jì)思路是算和存儲(chǔ)的分解,充分利用對(duì)象存儲(chǔ)、開放表格和各種計(jì)算引擎進(jìn)行交互,既滿足大規(guī)模處理和分析數(shù)據(jù)的需求,又具備足夠的靈活性和擴(kuò)展性,不會(huì)受制于供應(yīng)商。
在AI應(yīng)用蓬勃發(fā)展和高級(jí)分析需求日漸增多的大趨勢(shì)下,打造現(xiàn)代的湖倉(cāng)一體架構(gòu)依然成為企業(yè)與組織在數(shù)字化轉(zhuǎn)型中的必選項(xiàng)。
數(shù)據(jù)架構(gòu)的演變
企業(yè)的數(shù)據(jù)架構(gòu)最早要追溯到在線事務(wù)處理 (OTLP) 數(shù)據(jù)庫(kù)等早期系統(tǒng)。由于OLTP數(shù)據(jù)并不具備分析功能,所以在線分析處理 (OLAP) 系統(tǒng)隨后開始出現(xiàn),針對(duì)查詢結(jié)構(gòu)化數(shù)據(jù)進(jìn)行優(yōu)化,但無法有效處理半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。
隨著互聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)成為數(shù)據(jù)增長(zhǎng)的主力軍,如何在數(shù)據(jù)分析中納入半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)就成為很多企業(yè)與組織的必須,這推動(dòng)了數(shù)據(jù)湖的出現(xiàn),數(shù)據(jù)湖為各種數(shù)據(jù)類型提供可擴(kuò)展的存儲(chǔ)和 Schema-on-Read 功能,但數(shù)據(jù)湖也缺乏事務(wù)保證。
![]()
最終,數(shù)據(jù)湖與數(shù)據(jù)倉(cāng)庫(kù)開始走向融合,推動(dòng)了湖倉(cāng)一體的數(shù)據(jù)架構(gòu)發(fā)展,將數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)的優(yōu)勢(shì)集中到統(tǒng)一架構(gòu)之中。Lakehouse 基于開放表格式和對(duì)象存儲(chǔ)構(gòu)建,并且完全解耦,這意味著它們由模塊化組件構(gòu)成。這種分解式架構(gòu)既提供了數(shù)據(jù)庫(kù)的事務(wù)一致性,又提供了對(duì)象存儲(chǔ)的可擴(kuò)展性。
如果想詳細(xì)了解數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)湖、湖倉(cāng)一體的區(qū)別與特點(diǎn),可以參考大數(shù)據(jù)在線之前發(fā)布的技術(shù)稿件《》,技術(shù)專家張友東詳細(xì)解讀了數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)湖和湖倉(cāng)一體的演進(jìn)過程。
為什么開放表格是對(duì)象存儲(chǔ)的理想選擇
湖倉(cāng)一體的數(shù)據(jù)架構(gòu)架構(gòu)經(jīng)過專門設(shè)計(jì),旨在利用對(duì)象存儲(chǔ)系統(tǒng)的可擴(kuò)展性和成本效益,例如 Amazon Web Services (AWS) S3、Google Cloud Storage 和 Azure Blob Storage。這種集成支持在一個(gè)統(tǒng)一的平臺(tái)中無縫管理各種數(shù)據(jù)類型(結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化)。
對(duì)象存儲(chǔ)上的數(shù)據(jù)湖倉(cāng)一體架構(gòu)的主要功能包括:
01
統(tǒng)一存儲(chǔ)層:通過利用對(duì)象存儲(chǔ),數(shù)據(jù)湖倉(cāng)一體可以以其原生格式存儲(chǔ)大量數(shù)據(jù),無需在存儲(chǔ)前進(jìn)行復(fù)雜的數(shù)據(jù)轉(zhuǎn)換。這種方法簡(jiǎn)化了數(shù)據(jù)攝取,并實(shí)現(xiàn)了與各種數(shù)據(jù)源的兼容性。
02
可擴(kuò)展性:對(duì)象存儲(chǔ)系統(tǒng)本質(zhì)上具有可擴(kuò)展性,使數(shù)據(jù)湖倉(cāng)一體能夠容納不斷增長(zhǎng)的數(shù)據(jù)量,而無需對(duì)基礎(chǔ)設(shè)施進(jìn)行重大更改。這種可擴(kuò)展性使組織能夠有效地管理不斷擴(kuò)大的數(shù)據(jù)集和不斷變化的分析要求。
03
靈活性:一流的對(duì)象存儲(chǔ)可以部署在任何地方 - 本地、私有云、公共云、主機(jī)托管設(shè)施、數(shù)據(jù)中心和邊緣。這種靈活性使組織能夠根據(jù)特定的運(yùn)營(yíng)和地理需求定制其數(shù)據(jù)基礎(chǔ)設(shè)施。
通過集成這些元素,數(shù)據(jù)湖倉(cāng)一體架構(gòu)提供了一個(gè)全面的解決方案,結(jié)合了數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)的優(yōu)勢(shì)。這種設(shè)計(jì)有助于高效的數(shù)據(jù)存儲(chǔ)、管理和分析,所有這些都建立在可擴(kuò)展且靈活的對(duì)象存儲(chǔ)系統(tǒng)的基礎(chǔ)上。
開放表格格式的定義
開放表格格式(Open Table Formats)是一種標(biāo)準(zhǔn)化的開源框架,旨在高效管理大規(guī)模分析數(shù)據(jù)集。它作為數(shù)據(jù)文件之上的元數(shù)據(jù)層運(yùn)行,促進(jìn)跨各種處理引擎的無縫數(shù)據(jù)管理和訪問。在目前的市場(chǎng)中,主要有以下三種開放表格式(Iceberg、Delta Lake 和 Hudi):
Apache Iceberg
Apache Iceberg 是一種高性能表格格式,專為海量數(shù)據(jù)集而設(shè)計(jì)。其架構(gòu)優(yōu)先考慮高效的讀取操作和可擴(kuò)展性,使其成為現(xiàn)代分析工作負(fù)載的基石。其定義功能之一是將元數(shù)據(jù)與數(shù)據(jù)分離,從而允許基于快照的高效隔離和規(guī)劃。這種設(shè)計(jì)消除了成本高昂的元數(shù)據(jù)操作,支持跨大型數(shù)據(jù)集的并行查詢規(guī)劃。
![]()
Iceberg 生態(tài)系統(tǒng)的最新進(jìn)展凸顯了它在整個(gè)行業(yè)的日益普及。S3 表使查詢引擎能夠直接訪問存儲(chǔ)在 S3 兼容系統(tǒng)中的表元數(shù)據(jù)和數(shù)據(jù)文件,從而減少延遲并提高互操作性,從而簡(jiǎn)化數(shù)據(jù)管理。與此同時(shí),Databricks 對(duì) Tabular 的收購(gòu)?fù)癸@了 Iceberg 在開放式湖倉(cāng)一體平臺(tái)中的首要作用,并強(qiáng)調(diào)了其對(duì)性能和治理的關(guān)注。
此外,Snowflake 將 Polaris 開源的決定表明了該行業(yè)對(duì)開放性和互操作性的承諾,進(jìn)一步鞏固了 Iceberg 作為領(lǐng)先表格格式的地位。
目前Apache Iceberg的主要支持者包括Snowflake、Databricks、Cloudera、Google Cloud、AWS、阿里云、微軟等。
Delta Lake
Delta Lake 最初由 Databricks 開發(fā),與 Apache Spark 密切相關(guān)。它與 Spark API 完全兼容,并與 Spark 的結(jié)構(gòu)化流式處理集成,允許批處理和流式處理操作。
Delta Lake 的一個(gè)關(guān)鍵功能是它使用事務(wù)日志來記錄對(duì)數(shù)據(jù)所做的所有更改,從而確保一致的視圖和寫入隔離。此設(shè)計(jì)支持并發(fā)數(shù)據(jù)操作,使其適用于高吞吐量環(huán)境。
目前Delta Lake主要支持者包括Databricks、微軟、SAP等。
Apache Hudi
Apache Hudi 旨在應(yīng)對(duì)實(shí)時(shí)數(shù)據(jù)攝取和分析的挑戰(zhàn),尤其是在需要頻繁更新的環(huán)境中。其架構(gòu)支持用于高效數(shù)據(jù)攝取的寫入優(yōu)化存儲(chǔ) (WOS) 和用于查詢的讀取優(yōu)化存儲(chǔ) (ROS),從而實(shí)現(xiàn)數(shù)據(jù)集的最新視圖。
![]()
通過逐步處理數(shù)據(jù)流中的更改,Hudi 促進(jìn)了大規(guī)模實(shí)時(shí)分析。篩選條件和全局索引等功能可優(yōu)化 I/O 操作,從而提高查詢和寫入性能。此外,Hudi 還包括用于集群、壓縮和清理的工具,這些工具有助于維護(hù)表的組織和性能。它處理記錄級(jí)更新和刪除的能力使其成為高速數(shù)據(jù)流和需要合規(guī)性和嚴(yán)格數(shù)據(jù)管理的場(chǎng)景的實(shí)用選擇。
目前Apache Hudi主要支持者包括:騰訊云、阿里云、華為云等。
三大開放表格的不同
Apache Iceberg、Delta Lake 和 Apache Hudi 都為數(shù)據(jù)湖倉(cāng)一體架構(gòu)帶來了獨(dú)特的優(yōu)勢(shì)。以下是基于主要特征的這些格式的比較概述:
ACID 事務(wù):所有三種格式都符合 ACID 要求,確保可靠的數(shù)據(jù)操作。Iceberg 采用快照隔離來實(shí)現(xiàn)事務(wù)完整性,Delta Lake 利用事務(wù)日志實(shí)現(xiàn)一致的視圖和寫入隔離,Hudi 為高并發(fā)場(chǎng)景提供文件級(jí)并發(fā)控制。
架構(gòu)演變:每種格式都支持架構(gòu)更改,允許添加、刪除或修改列。Iceberg 提供靈活的架構(gòu)演變,而無需重寫現(xiàn)有數(shù)據(jù),Delta Lake 在運(yùn)行時(shí)強(qiáng)制執(zhí)行架構(gòu)以保持?jǐn)?shù)據(jù)質(zhì)量,而 Hudi 提供預(yù)提交轉(zhuǎn)換以提高靈活性。
分區(qū)演變:Iceberg 支持分區(qū)演變,無需重寫現(xiàn)有數(shù)據(jù)即可無縫更新分區(qū)方案。Delta Lake 允許分區(qū)更改,但可能需要手動(dòng)干預(yù)才能獲得最佳性能,而 Hudi 提供精細(xì)集群作為傳統(tǒng)分區(qū)的替代方案。
時(shí)間旅行:這三種格式都提供時(shí)間旅行功能,允許用戶查詢歷史數(shù)據(jù)狀態(tài)。此功能對(duì)于審計(jì)和調(diào)試目的非常有用。
廣泛采用:Iceberg 是數(shù)據(jù)社區(qū)最廣泛采用的開放表格式。從 Databricks 到 Snowflake 再到 AWS,許多大型平臺(tái)都投資了 Iceberg。如果您已經(jīng)是這些生態(tài)系統(tǒng)的一部分或正在考慮加入它們,那么 Iceberg 可能會(huì)自然而然地脫穎而出。
索引:Hudi 提供多模式索引功能,包括 Bloom 過濾器和記錄級(jí)索引,可以提高查詢性能。Delta Lake 和 Iceberg 依賴于元數(shù)據(jù)優(yōu)化,但不提供相同級(jí)別的索引靈活性。
并發(fā)和流式處理:Hudi 專為實(shí)時(shí)分析而設(shè)計(jì),具有高級(jí)并發(fā)控制和內(nèi)置工具(如 DeltaStreamer)用于增量攝取。Delta Lake 支持通過更改數(shù)據(jù)源進(jìn)行流式處理,而 Iceberg 提供基本的增量讀取功能。
這些區(qū)別突出表明,雖然這三種格式都為現(xiàn)代數(shù)據(jù)架構(gòu)提供了強(qiáng)大的基礎(chǔ),但最佳選擇取決于特定的工作負(fù)載要求和組織需求。
性能預(yù)期
在數(shù)據(jù)湖倉(cāng)一體架構(gòu)中實(shí)現(xiàn)最佳性能對(duì)于充分利用開放表格式的功能至關(guān)重要。這種性能取決于存儲(chǔ)層和計(jì)算層的效率。
存儲(chǔ)層必須提供低延遲和高吞吐量,以滿足大規(guī)模分析需求。對(duì)象存儲(chǔ)解決方案應(yīng)有助于快速訪問數(shù)據(jù)并支持高速傳輸,即使在高工作負(fù)載下也能確保平穩(wěn)運(yùn)行。此外,高效的IOPS對(duì)于處理大量并發(fā)數(shù)據(jù)請(qǐng)求至關(guān)重要,可實(shí)現(xiàn)無瓶頸的響應(yīng)式數(shù)據(jù)交互。
![]()
計(jì)算層性能同樣重要,它直接影響數(shù)據(jù)處理和查詢執(zhí)行速度。計(jì)算引擎必須可擴(kuò)展,才能在不影響性能的情況下管理不斷增長(zhǎng)的數(shù)據(jù)量和用戶查詢。采用優(yōu)化的查詢執(zhí)行計(jì)劃和資源管理策略可以進(jìn)一步提高處理效率。此外,計(jì)算引擎需要與開放表格式無縫集成,以充分利用 ACID 事務(wù)、架構(gòu)演變和時(shí)間旅行等高級(jí)功能。
開放式表格式還包含旨在提高性能的功能。這些也需要正確配置并用于完全優(yōu)化的堆棧。其中一項(xiàng)功能是高效的元數(shù)據(jù)處理,其中元數(shù)據(jù)與數(shù)據(jù)分開管理,從而可以更快地進(jìn)行查詢規(guī)劃和執(zhí)行。數(shù)據(jù)分區(qū)將數(shù)據(jù)組織成子集,通過減少操作期間掃描的數(shù)據(jù)量來提高查詢性能。對(duì)架構(gòu)演變的支持使表格式能夠適應(yīng)數(shù)據(jù)結(jié)構(gòu)的變化,而無需進(jìn)行大量的數(shù)據(jù)重寫,從而確保靈活性,同時(shí)最大限度地減少處理開銷。
通過關(guān)注存儲(chǔ)和計(jì)算層的這些性能方面,組織可以確保其數(shù)據(jù)湖倉(cāng)一體環(huán)境高效、可擴(kuò)展,并且能夠滿足現(xiàn)代分析和 AI 工作負(fù)載的需求。這些考慮因素使開放式表格格式能夠充分發(fā)揮其潛力,提供實(shí)時(shí)洞察和決策所需的高性能。
開放數(shù)據(jù)湖倉(cāng)一體和互操作性
數(shù)據(jù)湖倉(cāng)一體架構(gòu)基于開放表格式構(gòu)建,可提供統(tǒng)一的數(shù)據(jù)管理方法。但是,實(shí)現(xiàn)真正的開放性需要的不僅僅是采用開放的表格格式。開放數(shù)據(jù)湖倉(cāng)一體必須集成模塊化、可互操作的開源組件,例如存儲(chǔ)引擎、目錄和計(jì)算引擎,以實(shí)現(xiàn)跨不同平臺(tái)的無縫運(yùn)行。
開放表格式是開放標(biāo)準(zhǔn),并且根據(jù)其設(shè)計(jì),支持整個(gè)堆棧的互操作性和開放性。然而,實(shí)際挑戰(zhàn)仍然存在,例如確保目錄互操作性和避免依賴專有服務(wù)進(jìn)行表管理。最近推出的 Apache XTable 等工具展示了通用兼容性的進(jìn)展,為一次編寫、隨處查詢的系統(tǒng)提供了一條途徑。需要注意的是,XTable 不允許你以多種開放的表格格式寫入,只允許讀取。希望未來互操作性的創(chuàng)新將繼續(xù)建立在這些項(xiàng)目和其他圍繞開放表格格式的項(xiàng)目之上。
開放表格的未來
隨著數(shù)據(jù)湖倉(cāng)一體的不斷發(fā)展,一些新的趨勢(shì)開始顯現(xiàn)。
一個(gè)重要的發(fā)展趨勢(shì)就是將 AI 和機(jī)器學(xué)習(xí) (ML) 工作負(fù)載直接集成到湖倉(cāng)一體架構(gòu)中。對(duì)于存儲(chǔ)層,這可能看起來像是與 Hugging Face 和 OpenAI 等關(guān)鍵 AI 平臺(tái)直接集成的平臺(tái)。對(duì)于計(jì)算層,AI 集成可能會(huì)導(dǎo)致創(chuàng)建針對(duì) ML 算法優(yōu)化的專用計(jì)算引擎,從而提高湖倉(cāng)一體生態(tài)系統(tǒng)中訓(xùn)練和推理過程的效率。
![]()
另一個(gè)重要的發(fā)展領(lǐng)域回是開源社區(qū)。當(dāng) Databricks、Snowflake 和 AWS 等大型公司開始大展拳腳時(shí),人們很容易忘記開放表格格式是真正的開放標(biāo)準(zhǔn)。Iceberg、Hudi 和 Delta Lake 可供任何貢獻(xiàn)者、協(xié)作或集成到開源工具和平臺(tái)中。換句話說,它們是充滿活力且不斷發(fā)展的開放標(biāo)準(zhǔn)數(shù)據(jù)生態(tài)系統(tǒng)的一部分,開源應(yīng)用程序、附加組件、目錄和創(chuàng)新等會(huì)持續(xù)激增。
最后,隨著企業(yè)與組織為 AI 和其他高級(jí)分析應(yīng)用構(gòu)建大規(guī)模、高性能的數(shù)據(jù)湖倉(cāng)一體,開放表格式的采用率將繼續(xù)上升。一些行業(yè)專業(yè)人士已經(jīng)將開放表的流行等同于十多年前Hadoop 的崛起,開放表格未來有望實(shí)現(xiàn)大數(shù)據(jù)的霸主地位。隨著Hadoop逐漸走向沒落,開放表格的崛起,正所謂是大數(shù)據(jù)已死、亦將永存。
大數(shù)據(jù)在線是聚焦人工智能、大數(shù)據(jù)、云計(jì)算等前沿科技領(lǐng)域深度觀察的深度媒體。目前,大數(shù)據(jù)在線在微信公眾號(hào)、今日頭條號(hào)、新浪財(cái)經(jīng)、36氪、雪球號(hào)、觀察號(hào)等主流自媒體平臺(tái)均有入駐,積累粉絲超過20W;并榮獲今日頭條十大科技新銳媒體、商業(yè)新知十大人工智能媒體等多項(xiàng)殊榮。商務(wù)聯(lián)系請(qǐng)?zhí)砑游⑿牛篛wen_Inter,添加請(qǐng)備注具體信息。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.