融合架構(gòu)的高時效可擴(kuò)展大數(shù)據(jù)分析平臺
研究背景:
大數(shù)據(jù)應(yīng)用的多樣化
需要的計算模型、數(shù)據(jù)模型多樣化;
目前每類模型需要單獨(dú)的開源系統(tǒng)來支持(如HDFS、HBase、Neo4j、MongoDB,F(xiàn)link,Spark,Tensorflow等)。
多系統(tǒng)導(dǎo)致大數(shù)據(jù)分析平臺非常復(fù)雜、效率低下。
研究目標(biāo):
研究和開發(fā)面向新型多計算模型融合架構(gòu)的、高時效、可擴(kuò)展的新 一代大數(shù)據(jù)分析支撐系統(tǒng)與工具平臺FAST(Fusion-Architecture, Scalable, Time-efficient big data analysis platform)。
針對目前大數(shù)據(jù)分析平臺復(fù)雜、效率低下的痛點(diǎn),該系統(tǒng)具有三個 方面的優(yōu)勢:首先,這套系統(tǒng)采用融合架構(gòu),一方面實(shí)現(xiàn)關(guān)系、圖、鍵 值、文檔等多種數(shù)據(jù)模型的高效融合,另一方面實(shí)現(xiàn)批處理計算、流計 算的深度融合,并可以通過SQL擴(kuò)展語言來進(jìn)行多模型的統(tǒng)一查詢,實(shí)現(xiàn)高效的跨模型查詢。其次,對于復(fù)雜系統(tǒng)來說,時效性非常重要,這 套系統(tǒng)采用融合架構(gòu)提高效率是實(shí)現(xiàn)高時效的基礎(chǔ),更重要的是,我們 對大數(shù)據(jù)分析從數(shù)據(jù)到用戶進(jìn)行了端到端的全棧時效優(yōu)化。最后,對于 大數(shù)據(jù)應(yīng)用來說,系統(tǒng)擴(kuò)展性非常重要,本系統(tǒng)在資源層、存儲層和計 算層進(jìn)行了全面的擴(kuò)展性優(yōu)化。下面在融合架構(gòu)、高時效和可擴(kuò)展這三 個方面,分別詳細(xì)介紹FAST系統(tǒng)的三個主要亮點(diǎn)。
融合架構(gòu)
FAST系統(tǒng)的第一個亮點(diǎn)是融合架構(gòu),我們在技術(shù)方面的創(chuàng)新主要包 括多數(shù)據(jù)模型融合和多計算模型融合兩方面。
多數(shù)據(jù)模型融合:
設(shè)計和研發(fā)了多模型數(shù)據(jù)管理與查詢引擎,支持關(guān)系、圖、鍵值、 文檔等多種數(shù)據(jù)模型,實(shí)現(xiàn)了查詢解析、查詢優(yōu)化、元數(shù)據(jù)管理、數(shù)據(jù) 分布等功能,將多種數(shù)據(jù)模型進(jìn)行統(tǒng)一管理和深度融合。同時擴(kuò)展了SQL語言,通過統(tǒng)一的查詢接口支持對關(guān)系、鍵值、圖、文檔等數(shù)據(jù)進(jìn)行獨(dú)立訪問或者跨模型查詢。
經(jīng)過試驗(yàn),多模型數(shù)據(jù)融合查詢,比Spark 2.3.4的查詢時間能平均減少70.7%。目前spark等現(xiàn)有系統(tǒng)還需要手工編程方式來實(shí)現(xiàn)跨模型查 詢,所以FAST系統(tǒng)在易用性上也表現(xiàn)良好,降低使用門檻,提高開發(fā)效率。
多計算模型融合:
在計算層實(shí)現(xiàn)了最常見的批處理計算和流計算深度融合,批流融合的核心方法是在系統(tǒng)內(nèi)部實(shí)現(xiàn)批和流的統(tǒng)一表達(dá),批是對有限數(shù)據(jù)集 的運(yùn)算,流是對無限數(shù)據(jù)流的計算,我們設(shè)計了UCollection結(jié)構(gòu)對批和 流數(shù)據(jù)進(jìn)行統(tǒng)一表達(dá),通過識別的bounded標(biāo)志,來確定是批、流、或批流融合。有了統(tǒng)一表達(dá),可以開展一系列融合優(yōu)化來提升系統(tǒng)性能。 并且對上通過Unified API統(tǒng)一用戶的批、流接口,實(shí)現(xiàn)二者在編程范式上的統(tǒng)一表達(dá)。對于批流混合的計算,融合架構(gòu)系統(tǒng)的查詢延遲比Flink 1.4.2能減少57%,吞吐量平均可以提升到6.72倍。
高時效
FAST系統(tǒng)的第二個亮點(diǎn)是高時效,即縮短大數(shù)據(jù)分析的時間消耗, 提高效率。由于大數(shù)據(jù)分析平臺是一個非常復(fù)雜的系統(tǒng),為了做到高時效,系統(tǒng)不能存在性能短板,因此需要對大數(shù)據(jù)分析的整個過程進(jìn)行端到端的全棧時效優(yōu)化。如圖中所示,自下而上,需要在多模態(tài)存儲、批流融合、機(jī)器學(xué)習(xí)、人工操作各層都進(jìn)行優(yōu)化。
對于多模態(tài)存儲,面向應(yīng)用負(fù)載和異構(gòu)硬件特征進(jìn)行自適應(yīng)優(yōu)化;
對于批流融合計算,在統(tǒng)一表達(dá)基礎(chǔ)上,進(jìn)行系列融合優(yōu)化技術(shù), 包括DAG優(yōu)化、迭代優(yōu)化、部署優(yōu)化、操作符優(yōu)化等;
在機(jī)器學(xué)習(xí)層面,進(jìn)行模型優(yōu)化、消息優(yōu)化、梯度優(yōu)化、概率優(yōu)化 等來提高時效;
而且我們也考慮到大數(shù)據(jù)分析過程中用戶人工操作的時效性問題, 通過智能地進(jìn)行大數(shù)據(jù)分析方法和模型的推薦,來縮減人工操作的 時間。
可擴(kuò)展
FAST系統(tǒng)的第三個亮點(diǎn)是可擴(kuò)展,由于大數(shù)據(jù)應(yīng)用規(guī)模很大,數(shù)據(jù)增速快,對系統(tǒng)可擴(kuò)展性的要求非常高,為此我們在系統(tǒng)的資源層、 存儲層和計算層進(jìn)行了全面的擴(kuò)展性優(yōu)化。
在資源層,系統(tǒng)都部署在云計算的虛擬化資源之上,利用了云計算資源的彈性機(jī)制進(jìn)行系統(tǒng)擴(kuò)展。并在系統(tǒng)中實(shí)現(xiàn)了可伸縮調(diào)整模塊, 能實(shí)時監(jiān)控軟硬件系統(tǒng)的狀態(tài),按照應(yīng)用需求來自適應(yīng)地進(jìn)行彈性伸縮。
在存儲層,分布式存儲系統(tǒng)擴(kuò)展性的關(guān)鍵在于分布式共識和一致性 協(xié)議(Raft),因此提出了KV-Raft、vRaft等進(jìn)行Raft的擴(kuò)展優(yōu)化。
在計算層,我們擴(kuò)展了機(jī)器學(xué)習(xí)模型的參數(shù)規(guī)模,使系統(tǒng)可以支持 到百億級別的超大規(guī)模機(jī)器學(xué)習(xí)模型訓(xùn)練,并且性能方面有明顯提 升。
亮點(diǎn)成果:
融合架構(gòu)大數(shù)據(jù)分析平臺目前已經(jīng)在阿里巴巴雙十一進(jìn)行示范應(yīng)用。 從2020年11月10日至11月16日一周的時間,在阿里的生產(chǎn)環(huán)境中,研發(fā) 的系統(tǒng)一直連續(xù)穩(wěn)定運(yùn)行,基于淘寶和天貓的實(shí)際用戶信息進(jìn)行大數(shù)據(jù) 分析,綜合運(yùn)用了本系統(tǒng)的存儲、計算、機(jī)器學(xué)習(xí)等多個模塊的能力, 累計進(jìn)行了184億件商品推薦。
同時在雙十一期間,基于智能交互向?qū)Ъ夹g(shù),也面向電子商務(wù)應(yīng)用 的賣家提供了“生意參謀”應(yīng)用,基于大數(shù)據(jù)分析,幫助賣家分析產(chǎn)品 銷量變化的原因,以及促銷的有效手段等。
中國人民大學(xué)
2021-05-09