編者按
在2021年底,我曾應科技媒體InfoQ的邀請,總結了2021年的數據平台架構(詳見: ),提出了的2021年的5個熱點、4個趨勢和3個挑戰。在過去的兩年,數據架構領域發生了很多重大變化(很多是拐點級變化),例如大模型技術突破、向量檢索成為熱點、半/非結構化類Dark Data開始被關註等等。作為數據平台從業者,我經常被問到「下一代數據平台發展趨勢?」或者「AI平台和數據平台是否應該一體」等問題。我想這是一個很好的時間點,談談對數據平台發展趨勢的判斷,特別是當AI這樣的「完美風暴」來襲之時,數據平台該做怎樣的選擇,停泊在港口躲避,還是盡快入局追風而行?
因此,本文試從系統架構的角度, 回顧2021年預測/展望的落地情況(見下圖),總結2021到2023年數據平台體系架構的三個演進熱點,展望面向未來的三個數據平台發展趨勢,以及三個未解的難題。
圖1:對「2021年數據平台趨勢預測」的回顧
2024年,數據平台領域發展到哪一階段
數據架構自70年代由關系型資料庫開始發展,前後經歷了三個階段:
數據平台最早來自資料庫技術,1970年關系型資料庫釋出,以事務數據處理技術為主,以Oracle,SQLServer為代表,已經發展50年。總體市場規模最大,增長放緩。
數據平台二次革命來自大數據技術,2000年因大搜尋需求提出(規模帶來質變),並前進演化成數據平台2.0,以大規模數據分析技術為主,以Snowflake/BigQuery/Hadoop體系為代表,已經發展20年。總體市場規模中等,增長仍然迅速。
第三次革命來自AI(深度學習/LLM)帶來的突破(規模帶來質變),擴充套件能處理的數據的種類(從結構化,到半/非結構化),也擴充套件計算引擎(從關系型數據分析計算到基於大模型的內容理解與邏輯推理)。
圖2:數據平台發展三次革命
數據分析領域仍然保持增長,但產品/廠商逐步收斂。AI成為數據架構的新驅動力
一項技術是成功還是失敗,關鍵期往往在低谷期到普惠期之間,一旦進入成熟期,它會以普惠產品的形態保持持續的發展。因為已經被普遍采用,變成事實標準,在沒有跳變類技術出現的情況下,會一直發展下去。我們身邊的內燃機技術、行動通訊技術、資料庫技術等都持續發展。
但相比資料庫技術,大數據技術處在成熟早期,仍然有較大市場空間,並保持高速增長。上圖同時對比了資料庫領域的領軍企業Oracle和大數據領軍企業Snowflake,成立46年的Oracle在2023年有48B$的營收規模,是成立12年的Snowflake 2B$營收的20x,但Snowflake有50%的同比增長率,是Oracle 5%增長率的10x。如果雙方保持當前增長率,Snowflake會在7-8年後超越Oracle。
相比2021年火熱的數據類新公司成立和融資(2021年Kafka背後商業公司Confluent上市,Clickhouse、Iceberg商業公司成立,Databricks7月內兩輪融資26億美元),2024年數據平台領域投資趨於冷靜,廠商和產品逐步開始收斂,這也帶動了技術架構的收斂(下節展開)。
數據分析架構趨同,但Lambda架構遠不夠完美。數據AI架構新興,高速叠代中
大數據技術為代表的數據分析架構發展20年,總結 當前典型的數據平台架構是計算部份采用Lamdba架構,儲存層由數據湖或者資料倉儲構建。AI相關元件尚在發展成熟中,沒有確定性的架構。
以下透過幾個不同場景不同使用者的數據架構例項,來總結當下數據平台的典型架構:
圖3:目前典型的大數據系統架構案例
數據分析部份架構趨同,從數據采集開始,到多種不同的儲存體系,再向上形成了「離線計算」和「即時計算」的兩種計算模式,最上層是數據的消費部份,形成「互動分析」的計算模式。特別的,醫療系統的案例中,存有大量影像與視訊數據,因此整個架構的底部會有一層面向非結構化數據儲存的儲存體系,以及右側還有面向醫療領域機器學習的智慧圖片辨識能力。
基於上述,我們將當前數據平台簡化為如下典型架構圖,其中「不變」的部份用黑底來表示,「變化發展」的部份用灰底來表示,如圖下可見。
圖4:當前數據平台典型架構圖(簡化版)
鑒於數據平台整體分成分析/AI兩部份,且兩部份的發展階段不同(數據分析平台進入成熟期,數據AI平台剛起步),因此後文分開闡述這兩部份。
數據分析領域的三個趨勢
當前數據分析平台的典型架構是Lamdba架構(由三層系統組成:批次處理BatchLayer,流處理層SpeedLayer,服務層ServingLayer),隨批、流、互動三種引擎誕生和成熟組裝而成。其本質是透過三個不同的引擎分別滿足數據三要素(效能、成本和數據新鮮度)設計方向。每個引擎向單一目標最佳化且最佳化方向各不相同(如下圖),但組合起來就形成整體架構缺陷。 其主要缺陷包括如下幾個方面:
組裝式數據架構復雜 - 整個平台包括多種引擎,不同引擎可能自包含儲存和後設資料系統,導致整個系統存在多套異構儲存,多套後設資料,帶來大量的計算和儲存冗余和管理成本。極高的數據管理成本和開發成本。
儲存層,數據湖和資料倉儲尚未真正統一。受多種引擎/多套異構儲存影響,真正的湖倉一體很難在Lambda架構下實作。
組裝式數據架構缺乏滿足業務變化的靈活性。多種引擎的介面、語法、語意均不統一,做不到無縫切換,調整業務邏輯代價高。
筆者認為, 數據分析領域的三個發展趨勢,與上述缺陷密切相關。
趨勢一:計算引擎的一體化
組裝式 Lambda 架構存在的問題是業界普遍有深刻體感的,為了解決上述Lambda架構的問題,業界很早就提出Kappa架構的概念,並一直尋求一體化的實作和產品。很多已有產品也都曾經嘗試過一體化的方向(例如Apache Flink提出的「流批一體」概念和實作,Google BigQuery推出BIEngine嘗試離線即時一體化的方向)。應該說,「一體化」是數據分析領域長久以來的趨勢共識。
但截至到目前,都不是很成功,為什麽實作「一體化」的架構那麽難?這主要有兩個原因:批、流、互動計算的 計算形態 不同, 最佳化方向 也不同。如果「批、流、互動計算」三種傳統計算模型均不能完成計算引擎的統一化,就需要新的計算形態來統一。
圖5:批、流、互動三種計算形態的差異
從工業界的角度看,2022-2023年,Databricks基於之前的Delta Table和Live Table提出統一的Delta Live Table的概念和實作,Snowflake提出Dynamic Table的新概念,當前處於Preview的階段,均是為了實作流批統一。2023年,筆者所在的創業公司「雲器科技」提出基於「通用增量計算(Generic Incremental Compute, GIC)」新計算形態,致力於用於構建一體化引擎(Single Engine)。受限於篇幅原因,對計算形態統一的細化分析以及新的計算形態選型和能力評估,在此不再展開,讀者可以參考 了解更多細節。
趨勢二:湖倉一體成為主流架構,Iceberg成為事實標準
湖倉一體(Lakehouse)的概念最初由Databricks在2019年提出,經過4年的發展,已經成為主流架構。(湖倉一體的概念和詳細介紹可以參考筆者的 )。
當前,湖倉一體概念得到認可,但架構實作仍然多樣。實際上湖倉一體架構兩個流派,第一個流派是以數倉這種方式誕生的,它是一個左右派,左邊是一個資料倉儲,右邊是一個數據湖,中間以高速網路相連形成聯邦查詢能力;第二個流派是從數據湖向數倉演進,整體架構是在數據湖上搭建資料倉儲。這兩個流派的代表分別是 AWS Redshift/ 阿裏雲 MaxCompute,以及 Databricks,目前這兩個流派都還在開發中。在2023年,為了統一湖倉一體的架構,部份企業提出「湖倉一體」的設計標準,例如偶數科技提出ANCHOR的標準,Databricks提出Open、Unfied、Scalable三標準等等。
圖6:Lakehouse架構演進
目前公認的設計標準總結為如下三條:
一套數據,統一的後設資料中心,具備*一致*性(其他層次上的數據用Cache抽象)
開放性,數據格式公開可存取
可插拔性,上層引擎/套用可以靈活的插在Lakehouse上(這對於新興的AI引擎/套用至關重要)
數據的開放性是標準的核心,它同時被數據格式決定。最初的數據湖僅支持簡單檔格式,目前Apache Parquet和Apache ORC是檔格式的事實標準。但單純的檔很難表達復雜的表特性(例如對數據更新的表達),作為數據湖向湖倉一體的一部份,這就有了數據湖表格式,過去幾年誕生了Apache Hudi、Apache Delta、Apache Iceberg三種標準。 2023年下半年,Snowflake/Databricks同期宣布旗下數據平台支持Iceberg的湖倉架構,至此數據湖三大表格式的爭論告一段落,Iceberg開始成為事實標準。 但Lakehouse上的統一後設資料模組部份尚待挖掘和整合,Databricks的UnityCatalog是一個好的參考。
趨勢三:「雲原生」從雲的概念變成一個架構設計概念
雲原生的概念隨雲端運算誕生,最初是雲端運算概念的一部份,特指標對雲的特點設計的架構能力。過去20年雲端運算的發展推動了包括大規模儲存、虛擬化技術和大規模網路技術的發展,也極大的影響了軟體架構的設計。
如下圖所示, 系統和軟體架構呈現橫行分層發展的趨勢, 並逐步切換出更多的層次,帶來更低的開發成本和更好的資源共享能力,當前的套用開發者僅僅需要關註數據和套用邏輯即可。
圖7:系統和軟體架構呈現橫行分層發展的趨勢
上述架構演進不僅僅影響雲, 「雲原生」從雲的概念變成一個架構概念。 私有化部署和本地IT開發也遵循「雲原生」架構。例如:
儲存/資源/網路的統一化/池化
存算分離
計算資源共享(混部)
套用的微服務化和無服務化
數據平台,處於系統架構的PaaS層,「雲原生」也成為標準設計模式,對下依賴IaaS能力,對上與客戶套用解耦。 新一代的計算平台基於「雲原生」架構設計更符合發展趨勢。
同時, 每個層次開始標準化(例如IaaS層)並各自前進演化。 模組間進一步解耦開,並在能力/效率/成本上獨立持續前進演化。例如:AWS2023年推出S3 Express OneZone,提升10xIO延遲的同時降低40%的成本。VastData推出基於NVMe over Fabric的分離式全共享架構儲存,提供了大規模可延伸性和強大效能,並降低儲存成本。這些能力前進演化既有獨立廠商推動,也有雲廠商推動。考慮到雲廠商在IaaS層和部份PaaS層的規模效益(規模、業務量、投入),公共雲平台持續帶來更高的價效比。 盡量下雲VS上雲的爭執一直持續,從2024年看,選擇公共雲是絕大多數公司的選擇,「下雲帶來高價效比」僅對於規模在百億美金以上的公司才是真命題。
數據AI平台領域的三個展望
隨OpenAI在2022年底釋出GPT3.5,大模型和AGI開始得到廣泛認可,企業對這個領域的投資開始大大加速。 「Data Centric AI」概念開始進入大家的視野,稀缺、優質的數據成為AGI時代最大的Differentiator。 這主要是因為:
在AGI三要素:模型、算力、數據,前兩者高度同質化,數據是最大的變化。 海量+高品質數據,是預訓練模型效果的前提(包含各種行業模型,比如BloombergGPT針對新聞財經類)。很多國內基礎模型廠商嘗試在中文這一特定領域形成針對ChatGPT和原生Llama模型的差異化競爭力。
私有數據的有效組織和管理,是模型最終落地到企業的前提(構建RAG的核心)。 企業核心的經營數據和文件天然具有高度保密性,只存在於企業的私域環境中,同時因為這一類數據具有強認證和許可權管控特性,並不適合Pre-train或者Fine-tune到模型中(即使模型是私有部署的,也不能滿足安全需求),所以構建企業私有知識庫是AGI落地企業的關鍵一步。實際上,數據平台本質上就是企業私有知識庫的一部份,但主要儲存和處理結構化數據,在AGI時代數據的種類和處理能力將被極大擴充套件了。
基於數據的AI訓練/服務過程,大多數工作仍然是傳統數據處理,模型訓練僅占一部份。 下圖是對AI全流程task的統計,大多數task都是數據處理。
圖8:AI全流程裏面,數據處理占據大量比例
基於上述,我們給出面向未來的數據AI平台的三個展望。
展望一:數據與計算的關系從1:1向3:N演變
資料庫和數據分析平台,盡量引入數據湖以及NoSQL的能力,其重點仍然是儲存和計算結構化數據(Aka可以被結構化的數據表格),儲存與計算被認為是1對1的。而最近十年,特別是隨著深度學習技術的發展,ML/AI 拓寬了數據平台需處理的數據型別,底層引擎模式隨之改變:
改變一,引擎以往只能處理結構化數據二維表,現在可以透過 AI 處理包括 text 、json 在內的半結構化數據,以及處理非結構化數據(音檢視數據);
改變二,引擎模式的頂層計算架構也在改變,類似生成式AI對文本和數據的直接理解和解讀,類似code interpreter透過理解數據語意做大模型的外掛程式式、多語言融合式查詢分析,是除SQL的二維關系表達和分析引擎外,將AI的計算能力納入到引擎。
圖9:數據平台架構從一對一演進到三對N
這種架構演進,也回應為什麽數據湖/湖倉一體成為主流架構,以及數據開放性變得至關重要。
展望二:*部份*數據架構重回搜尋架構時代
前文已經論述的企業私域RAG產生的原因和必要性,達到一定水準的RAG是大模型落地的必選項。相比資料庫或者資料倉儲,RAG實際上是個更大的概念,面向未來看,所有數據都可以被抽象成知識庫,結構化數據和分析僅僅是RAG的一部份。
而RAG的數據平台構建,與搜尋引擎原理和流程非常類似。下圖左右分別展示大模型+RAG架構鏈路和搜尋引擎架構鏈路。對比會發現,流程非常相似:
相似的流程:「收集>索引建立=>索引服務=>召回=>排序=>處理=>輸出」
相似的核心指標:Relevance(相關性)、召回率(Recall)和準確率(Precision)當作最核心指標。效能是基礎指標但不是最關鍵的。
圖10:數據平台架構從一對一演進到三對N
大數據時代,搜尋對數據平台架構帶來革命性的影響:
10X-100X的數據量,帶來分布式化和低成本,Scale-out成為主流。
傳統資料庫對ACID/transaction的要求被放松,不關註嚴格建模,數據的儲存和處理都更粗放。
大量Impretive編程模式被引入,Dataframe、User-Defined-Function(UDF)被大量使用。
數據AI時代,通用RAG的需求將重塑數據平台,並將(部份)數據平台架構轉型搜尋/推薦模式。
特別值得一提的是,最近有個問題被反復問到: 數據處理/分析平台和AI平台是一體的還是割裂的? 回顧歷史,是搜尋需求驅動了大數據平台的誕生和發展(數據平台的第二次革命),但搜尋平台與數據平台從來都是一體的,就用阿裏巴巴為例,阿裏所有的數據(包括搜尋/推薦日誌)都匯總進數據中台,統一處理。搜尋推薦業務是數據中台業務的一個分支,是生長在數據平台之上,其數據處理、搜尋/推薦演算法也跑在數據中台的數據上。僅有線上服務部份(索引召回、排序)是與線上服務一起。 因此,我們可以透過類比傳統搜尋平台來回答上述問題,數據平台和AI平台自下而上是一體的,僅有上層套用不同會差異。
展望三:增強後設資料(Augmented MetaData),重要性提升10倍,構建難度也提升10倍
Dark Data 是Gartner提出的概念,用來指代數據資產裏面沒有被利用起來的部份。在資料庫和數據平台發展的50年歷史裏,關註點都在結構化數據上, 占比更高的(普遍認知是80%)的半/非結構化數據被認為是DarkData。 之前傳統深度學習帶來的NLP和Image/Vidoe Recognition能力( DL2Tag )僅能做到辨識,理解深度不夠。最近1年的大模型能力提升,使得半/非結構化數據有機會被理解和使用。一句話總結趨勢: Dark Data (80%) can be bright。
圖11:非結構化數據通常被劃分為DarkData
但半/非結構化數據的資訊抽取、管理和使用,面臨很多不同的挑戰:
半非結構化數據,知識抽取和理解困難且昂貴,大模型的推理速率和頻寬遠達不到普惠的水平。
使用者知識庫(RAG)是個大概念,包含結構化、半結構化、非結構化三類數據。 結構化數據不應該被忽略(比如使用者報表數據),但目前RAG+LLM和數據分析割裂。
向量表達做到了 多種模態數據到數學表達的統一(用Vector表達所有數據),因此VectorSearch+LMM 成為當前流行架構,但僅有向量檢索並不足夠,向量檢索僅能回答相似度的問題。
從架構角度看,儲存層,三類數據的儲存可以被湖倉一體架構天然統一,計算層 ,關系計算與大模型計算模式和原理不同因此無法統一,但計算結果可以透過混合向量+純量+標簽的方式統一起來,在後面做融合計算。 增強後設資料層(Augmented MetaData)是三類數據被發現、並融合計算的核心,也是整合的關鍵, 但難度巨大:
三類數據融合後,數據量提升一個數量級。
結構化數據本身已經是Schematized,後設資料表達簡單低成本,但半非結構化數據很難直觀描述,如何抽取、如何表達都難的多。
結構化數據上常見的數據安全、數據治理與存取控制,同樣適用於三類數據,而面向AI的governance是擺在從業者面前的顯著問題。
增強後設資料領域,在過去兩年有很多投入,微軟大力推動 Data Fabric ,試圖打造「一個 AI 支持的分析平台,可將你的數據和服務(包括數據科學和數據湖)整合在一起,從數據中獲取更多價值。」。Databricks推動Unity Catalog,目標是「Unified governance for data and AI」。我們相信這一領域在未來會成為趨勢和熱點。
三個未解的難題
如上所述,數據分析領域保持高速發展,數據AI領域有革命性變化。在筆者看來,有如下未解問題擺在從業者面前。
疑問 1:SQL VS Python,當自動程式碼生成成為主流,贏家會是誰?
SQL作為關系型數據分析計算的官方語言,是資料庫時代的唯一編程標準。到了大數據時代,從MapReduce開始,到Spark DataFrame,Java/Scala/Python成為數據分析編程標準的挑戰者。但在數據分析領域,SQL以聲明式程式語言(Declarative Language)天然的易用性和普適性最終保持了主流程式語言的地位,Spark/Flink等大數據處理平台最終都增加了SQL介面,新一代數據平台Clickhouse/Snowflake等僅支持SQL。
但隨著大模型/AGI發展,編程開始走到輔助編程(Copilot)階段,最終會發展到全自動程式碼生成的階段。編程介面最終不再面向人而是面向模型和Agent,這種情況下SQL的劣勢開始逐漸顯露出來,例如SQL編程自解釋能力不足,需要依賴更多外部模組(比如後設資料系統),表達能力受限等等。筆者經驗也印證,同樣的RAG+Prompt能力,大模型生成的Python程式碼品質高於SQL。
特別值得一提的,Databricks在2023年推出 English SDK for Spark 的能力,得益於Spark廣泛可獲取的資料,在不需要額外RAG和Prompt的情況下,直連ChatGPT4即可獲得不錯的編程效果。概念和能力都給業界帶來啟發。
圖12:以自然語言為編程入口的架構和例子(by Databricks)
疑問 2:數據平台的「自動駕駛」多久能實作
AGI在重塑搜尋、內容生產、輔助編程、智慧客服等多個行業和領域。數據相關領域也有智慧化的巨大潛力。AI4Data的概念已經被提出多年,在資料庫頂會SigMod21上的論文 【AI Meets Database: AI4DB and DB4AI】 對這個領域做了詳細的闡述。
但多年來,數據開發和數據套用開發仍然以人工的方式為主(如下圖)
圖13: 我們好奇並期待:何時AI能夠讓數據平台進入「自動駕駛」時代?
圖14: 類比自動駕駛,自動化數據平台的一個分級
疑問 3:誰會成為「第六大數據平台 The sixth Data Platform」?
過去20年大數據技術的興起和高速發展,誕生了當前的「五大」數據平台供應商:亞馬遜(Redshift為代表技術)、微軟Azure(Azure Synapse為代表)、谷歌(BigQuery為代表),以及Snowflake和Databricks。他們是當下的Big Five。
進入AI時代,我們堅定的相信,新一代數據平台會湧現出來,他們可能來自BigFive自身的叠代,也可能來自新興創業公司。新技術帶來新的機會,並持續塑造新商業。讓我們期待第六大數據平台在不遠的未來誕生。
筆者大膽預測,新一代平台會具備如下5個特性:AI Native、Data+AI Converged、SingleEngine For Analytics,Lakehouse and Cloud Native 。
寫在最後
圖15:2024年數據架構趨勢預測總結
企業數據平台這艘巨輪應該停泊等待或順風起航?以 Hadoop 為基礎的大數據體系架構已逐步陳舊,新一代的分析平台以及更發揮AI能力的數據平台架構仍有非常多的疑問還沒有得到解答。盡管充滿著不確定,我們確定的是,不應停留不前,揚帆才可感知風的力度和方向!值此2024年初,期待能和所有的讀者 / 從業者一起,把數據平台體系向新一代推進。
特別聲明,數據平台領域仍然處於發展期,部份技術收斂,但新方向和新領域層出不窮。本文內容和個人經歷相關,是個人的視角,難免有缺失或者偏頗,同時限於篇幅,也很難全面。僅作拋磚引玉,希望和從業者共同探討。
END
關於雲器
雲器Lakehouse 作為面向企業的全托管一體化數據平台,只需註冊帳戶即可管理和分析數據,無需關心復雜的平台維護和管理問題。新一代 增量計算 引擎實作了批次處理、流計算和互動式分析的統一,適用於多種雲端運算環境,幫助企業簡化數據架構,消除數據冗余。
點選文末「 閱讀原文 」,前往雲器官網申請試用,了解更多產品細節!
官網:yunqi.tech
B 站:雲器科技
知乎:雲器科技
▼點選關註雲器科技公眾號,優先試用雲器Lakehouse!
往期推薦