Data Lakehouse的未來-開放

Cloudera 客戶運行著地球上一些最大的數(shù)據(jù)湖。這些數(shù)據(jù)湖為關鍵任務大規(guī)模數(shù)據(jù)分析、商業(yè)智能 (BI) 和機器學習用例(包括企業(yè)數(shù)據(jù)倉庫)提供動力。近年來,創(chuàng)造了“數(shù)據(jù)湖倉(Data Lakehouse)”一詞來描述這種對數(shù)據(jù)湖中的數(shù)據(jù)進行表格分析的架構模式。在急于擁有這個術語的過程中,許多供應商忽略了這樣一個事實,即數(shù)據(jù)架構的開放性是其持久性和壽命的保證。

1. 關于數(shù)據(jù)倉庫和數(shù)據(jù)湖

數(shù)據(jù)湖和數(shù)據(jù)倉庫將大量和各種數(shù)據(jù)統(tǒng)一到一個中心位置。但是有著截然不同的建筑世界觀。數(shù)據(jù)倉庫是為 SQL 分析垂直集成的,而數(shù)據(jù)湖優(yōu)先考慮 SQL 之外的分析方法的靈活性。


為了實現(xiàn)這兩個世界的好處——數(shù)據(jù)湖分析的靈活性和數(shù)據(jù)倉庫中簡單快速的 SQL——公司經(jīng)常部署數(shù)據(jù)湖來補充他們的數(shù)據(jù)倉庫,最后一步是數(shù)據(jù)湖為數(shù)據(jù)倉庫系統(tǒng)提供數(shù)據(jù)提取、轉(zhuǎn)換、加載 (ETL) 或 ELT 管道。在這樣做的過程中,他們已經(jīng)接受了數(shù)據(jù)在倉庫中的鎖定。
但是有一個更好的方法:進入 Hive Metastore,這是過去十年數(shù)據(jù)平臺的沉睡者之一。隨著用例的成熟,我們看到需要高效的交互式 BI 分析和事務語義來修改數(shù)據(jù)。

2. 數(shù)據(jù)湖倉的迭代

第一代 Hive Metastore 試圖解決在數(shù)據(jù)湖上高效運行 SQL 的性能考慮。它提供了數(shù)據(jù)庫、模式和表的概念,用于描述數(shù)據(jù)湖的結(jié)構,讓 BI 工具可以有效地遍歷數(shù)據(jù)。它添加了描述數(shù)據(jù)邏輯和物理布局的元數(shù)據(jù),支持基于成本的優(yōu)化器、動態(tài)分區(qū)修剪以及針對 SQL 分析的一些關鍵性能改進。
第二代 Hive Metastore 添加了對使用 Hive ACID 的事務更新的支持。湖倉雖然尚未命名,但非常興旺。事務啟用了持續(xù)攝取和插入/更新/刪除(或 MERGE)的用例,從而打開了數(shù)據(jù)倉庫樣式的查詢、功能以及從其他倉儲系統(tǒng)到數(shù)據(jù)湖的遷移。這對我們的許多客戶來說非常有價值。
Delta Lake 等項目采用了不同的方法來解決這個問題。Delta Lake 為湖中的數(shù)據(jù)添加了事務支持。這允許數(shù)據(jù)管理,并為數(shù)據(jù)湖帶來了運行數(shù)據(jù)倉庫式分析的可能性。
在這個時間線的某個地方,“數(shù)據(jù)湖倉”這個名稱是為這種架構模式創(chuàng)造的。我們相信 Lakehouses 是簡潔地定義這種模式的好方法,并且很快在客戶和行業(yè)中獲得了共識。

3. 客戶告訴我們什么?

在過去的幾年里,隨著新數(shù)據(jù)類型的誕生和新的數(shù)據(jù)處理引擎的出現(xiàn)以簡化分析,公司開始期望兩全其美的真正需要分析引擎的靈活性。如果對企業(yè)的大而有價值的數(shù)據(jù)進行管理,那么企業(yè)必須開放以選擇不同的分析引擎,甚至是供應商。
湖倉模式在實施過程中存在一個嚴重的矛盾:雖然數(shù)據(jù)湖是開放的,但數(shù)據(jù)湖倉卻不是。
在添加 Impala、Spark 等引擎之前,Hive Metastore一直遵循著 Hive-first 的演變。而Delta lake是一個Spark密集型的演變;如果客戶需要自由選擇不同的引擎,而不是以某種表格式為主,他們的選擇會迅速減少。
客戶從一開始就要求更多。更多格式、更多引擎、更多互操作性。今天,Hive 元存儲被多個引擎和多個存儲選項使用。當然包括 Hive 和 Spark,還有 Presto、Impala 等等。Hive Metastore 有機地發(fā)展以支持這些用例,因此集成通常很復雜且容易出錯。
為滿足互操作性需求而設計的開放數(shù)據(jù)湖倉從根本上解決了這一架構問題。這會讓那些在一個平臺上“全力以赴”的人感到不舒服,但社區(qū)驅(qū)動的創(chuàng)新是關于使用同類最佳工具以務實的方式解決現(xiàn)實世界的問題,并克服供應商鎖定,無論他們是否批準。

4. 一個開放的湖倉,以及Apache Iceberg的誕生

從一開始構建Apache Iceberg的目標是在多個分析引擎和云原生規(guī)模上輕松互操作。Netflix是這項創(chuàng)新誕生地,可能是需要將100 PB 規(guī)模的 S3 數(shù)據(jù)湖構建到數(shù)據(jù)倉庫中的最佳示例。云原生的表格格式由其創(chuàng)建者開源到 Apache Iceberg 中。
Apache Iceberg 真正的超級大國是它的社區(qū)。在過去三年中,Apache Iceberg 有組織的與蓬勃發(fā)展的社區(qū)增加了令人印象深刻的一流集成名冊:

  • 數(shù)據(jù)處理和 SQL 引擎 Hive、Impala、Spark、PrestoDB、Trino、Flink
  • 多種文件格式:Parquet、AVRO、ORC
  • 社區(qū)中的大型采用者:Apple、LinkedIn、Adobe、Netflix、Expedia 等
  • 使用 AWS Athena、Cloudera、EMR、Snowflake、騰訊、阿里巴巴、Dremio、Starburst 提供的托管服務
    使這個多樣化的社區(qū)蓬勃發(fā)展的原因是數(shù)千家公司的集體需求,以確保數(shù)據(jù)湖可以演變?yōu)榘瑪?shù)據(jù)倉庫,同時保持跨引擎的分析靈活性和開放性。這使得開放式湖倉成為可能:為未來提供無限的分析靈活性。


5. 我們?nèi)绾螕肀ceberg?

在 Cloudera,我們?yōu)槲覀兊拈_源根源感到自豪,并致力于豐富社區(qū)。自 2021 年以來,我們?yōu)槿找鎵汛蟮?Iceberg 社區(qū)做出了貢獻,在 Impala、Hive、Spark 和 Iceberg 做出了數(shù)百項貢獻。我們擴展了 Hive Metastore 并將集成添加到我們的許多開源引擎中以利用 Iceberg 表。2022 年初,我們在 Cloudera 數(shù)據(jù)平臺中啟用了 Apache Iceberg 的技術預覽,使 Cloudera 客戶能夠在我們的數(shù)據(jù)倉庫、數(shù)據(jù)工程和機器學習服務中實現(xiàn) Iceberg 的模式演變和時間旅行能力的價值。
我們的客戶一直告訴我們,無論是現(xiàn)代 BI、AI/ML、數(shù)據(jù)科學還是更多,分析需求都在迅速發(fā)展。選擇由 Apache Iceberg 提供支持的開放數(shù)據(jù)湖庫讓公司可以自由選擇分析。
原文作者:Ram Venkatesh, and Priyank Patel
原文鏈接:https://blog.cloudera.com/the-future-of-the-data-lakehouse-open/

本文由mdnice多平臺發(fā)布

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容