如何基于MaxCompute快速打通數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖的湖倉(cāng)一體實(shí)踐
本文主要分為四個(gè)部分:
一、湖倉(cāng)融合的趨勢(shì)分析
二、阿里云湖倉(cāng)一體
三、客戶案例分析
四、湖倉(cāng)一體演示
一、 湖倉(cāng)融合的趨勢(shì)分析
現(xiàn)在很多企業(yè)說(shuō)不清楚現(xiàn)有大數(shù)據(jù)系統(tǒng)是數(shù)據(jù)湖還是數(shù)據(jù)倉(cāng)庫(kù),所以先帶著大家一起回顧一下。過(guò)去20年,整個(gè)大數(shù)據(jù)技術(shù)發(fā)展的過(guò)程,通過(guò)這樣一個(gè)剖析,希望能夠讓大家理解,數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)到底是一個(gè)什么樣的系統(tǒng),它們是因?yàn)槭裁丛虍a(chǎn)生的,并且今天我們提的湖倉(cāng)一體,它出現(xiàn)的一個(gè)背景是什么??v觀整個(gè)計(jì)算機(jī)科學(xué)技術(shù)領(lǐng)域,對(duì)于數(shù)據(jù)處理的技術(shù)主要分為四個(gè)階段,數(shù)據(jù)庫(kù)階段、大數(shù)據(jù)技術(shù)探索階段、大數(shù)據(jù)技術(shù)發(fā)展階段、大數(shù)據(jù)普惠階段。
數(shù)據(jù)庫(kù)階段主要是在上個(gè)世紀(jì)70年代至90年代期間,這個(gè)階段主要是數(shù)據(jù)庫(kù)加單機(jī)的黃金時(shí)代。數(shù)據(jù)庫(kù)系統(tǒng)主要是面向操作,面向事務(wù),面向在線業(yè)務(wù)系統(tǒng)的一個(gè)數(shù)據(jù)系統(tǒng)。其實(shí)在90年代左右,數(shù)據(jù)倉(cāng)庫(kù)概念就已經(jīng)出現(xiàn)了。數(shù)據(jù)倉(cāng)庫(kù)面向的是歷史全量數(shù)據(jù)分析,探查,但因?yàn)楫?dāng)時(shí)的整體數(shù)據(jù)量并不大,所以用一些數(shù)據(jù)庫(kù)技術(shù)的擴(kuò)展,能夠支持當(dāng)時(shí)數(shù)據(jù)倉(cāng)庫(kù)的需求。
2000年左右,隨著互聯(lián)網(wǎng)技術(shù)的爆發(fā),我們迎來(lái)了大數(shù)據(jù)時(shí)代。在這個(gè)階段,我們用傳統(tǒng)數(shù)據(jù)庫(kù)的技術(shù)是很難滿足海量數(shù)據(jù)處理的需求。大家應(yīng)該都知道,Google的三篇論文,分布式存儲(chǔ)、調(diào)度、計(jì)算,奠定了整個(gè)大數(shù)據(jù)技術(shù)的基礎(chǔ)?;旧显谕粋€(gè)時(shí)期,2006年出現(xiàn)了Hadoop的系統(tǒng),阿里巴巴在2009年發(fā)展出了飛天系統(tǒng),包括微軟等頭部公司都發(fā)展出了比較優(yōu)秀的分布式系統(tǒng)。整個(gè)這個(gè)階段,整個(gè)大數(shù)據(jù)的技術(shù),其實(shí)是把數(shù)據(jù)做起來(lái),數(shù)據(jù)大起來(lái)再說(shuō)。
2010年左右,進(jìn)入了大數(shù)據(jù)的一個(gè)蓬勃發(fā)展階段,這個(gè)階段是之前我們希望大數(shù)據(jù)技術(shù)從能用轉(zhuǎn)變?yōu)楹糜?。這個(gè)階段出現(xiàn)了一系列以SQL表達(dá)為主的一些引擎,包括Hadoop體系發(fā)展出來(lái)Hive、Flink、Presto等一系列引擎。這個(gè)時(shí)候,逐漸形成了以HDFS為統(tǒng)一的存儲(chǔ),以O(shè)RC、Parquet 為開(kāi)放的文件格式,上面有很多開(kāi)放引擎為主的一個(gè)體系,這個(gè)體系像我們今天講的數(shù)據(jù)湖系統(tǒng)。這個(gè)階段,Hadoop的本質(zhì)其實(shí)是一個(gè)數(shù)據(jù)湖系統(tǒng)。那數(shù)據(jù)湖的本質(zhì)是什么?本質(zhì)是統(tǒng)一的存儲(chǔ),能夠存儲(chǔ)原始的數(shù)據(jù),能夠支持多種計(jì)算范式,這就是數(shù)據(jù)湖的本質(zhì)。
同一時(shí)期,阿里巴巴在飛天系統(tǒng)的基礎(chǔ)上發(fā)布了 MaxCompute ,Google 發(fā)布了Big Query,AWS 發(fā)布了Redshift。這幾個(gè)系統(tǒng)可以稱之為大數(shù)據(jù)時(shí)代下的云數(shù)據(jù)倉(cāng)庫(kù)。那云數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)跟上述Hadoop體系有什么區(qū)別呢?云數(shù)據(jù)倉(cāng)庫(kù)并不對(duì)外暴露文件系統(tǒng),暴露的是對(duì)數(shù)據(jù)的描述,用表的方式,用視圖的方式暴露出來(lái)。存儲(chǔ)引擎,計(jì)算引擎是被屏蔽在系統(tǒng)里面的,所以存儲(chǔ)引擎,計(jì)算引擎可以進(jìn)行深度的優(yōu)化,然而用戶是沒(méi)有辦法感知的。這個(gè)階段可以看出來(lái),整個(gè)大數(shù)據(jù)技術(shù)已經(jīng)開(kāi)始細(xì)分,已經(jīng)初步的形成了湖的形態(tài)和倉(cāng)的形態(tài)。
現(xiàn)在我們所處的這個(gè)階段,也就是2015年左右,我們進(jìn)入了大數(shù)據(jù)普惠階段。這個(gè)階段我們有觀察到兩個(gè)趨勢(shì)。第一個(gè)趨勢(shì),大數(shù)據(jù)技術(shù)的發(fā)展除了追求規(guī)模,性能之外。更多的是看數(shù)據(jù)安全、數(shù)據(jù)治理、穩(wěn)定性、低成本等企業(yè)級(jí)能力。我們也可以看出來(lái),阿里巴巴 基于MaxCompute ,構(gòu)建出了非常有阿里特色的數(shù)據(jù)中臺(tái)系統(tǒng)。開(kāi)源體系,也發(fā)展出了Atlas和Ranger,主要圍繞血緣、治理、安全等開(kāi)源項(xiàng)目。第二個(gè)趨勢(shì),隨著AI、IOT、云原生技術(shù)的發(fā)展,對(duì)于非結(jié)構(gòu)化數(shù)據(jù)處理的需求越來(lái)越強(qiáng)烈。使用云上對(duì)象存儲(chǔ)作為統(tǒng)一存儲(chǔ)的趨勢(shì)越來(lái)越明顯。Hadoop的體系也逐漸由HDFS為統(tǒng)一存儲(chǔ),發(fā)展為云上像S3、OSS這樣的云存儲(chǔ),做為統(tǒng)一存儲(chǔ)的數(shù)據(jù)湖體系。與此同時(shí),出現(xiàn)了很多數(shù)據(jù)湖構(gòu)建,像AWS Lake Formation以及阿里云發(fā)布的DLF這樣的產(chǎn)品。倉(cāng)的這條線,也在為了適應(yīng)這樣一個(gè)趨勢(shì),我們也在跟數(shù)據(jù)湖做很密切的聯(lián)動(dòng),發(fā)展出了外表,通過(guò)外表的方式,可以對(duì)數(shù)據(jù)庫(kù)里面的數(shù)據(jù)進(jìn)行聯(lián)邦計(jì)算。
縱觀整個(gè)20年的發(fā)展,隨著大數(shù)據(jù)技術(shù)的演進(jìn),其實(shí)是發(fā)展出來(lái)了倉(cāng)跟湖的兩種體系。
我們可以用下圖這張表來(lái)對(duì)比一下數(shù)據(jù)湖跟數(shù)據(jù)倉(cāng)庫(kù)到底有什么區(qū)別。
整體上來(lái)說(shuō),數(shù)據(jù)湖是一個(gè)寬進(jìn)寬出,相對(duì)協(xié)同比較松耦合的系統(tǒng)。數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)嚴(yán)進(jìn)嚴(yán)出,比較嚴(yán)格緊耦合的系統(tǒng)。數(shù)據(jù)湖是數(shù)據(jù)先進(jìn)來(lái),然后再開(kāi)始用,所以是屬于事后建模??梢源鎯?chǔ)結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)。數(shù)據(jù)湖是提供了一套標(biāo)準(zhǔn)的開(kāi)放接口,來(lái)支持更多的引擎,像插拔式的插到這個(gè)體系里面,所以它是向所有的引擎開(kāi)放。但是這里要注意了,正是因?yàn)樗遣灏问降倪@種方式,計(jì)算跟存儲(chǔ)其實(shí)是獨(dú)立的兩套系統(tǒng)。它們彼此之間,其實(shí)是不能夠相互理解的,也沒(méi)有辦法做到深度的優(yōu)化。這樣其實(shí)導(dǎo)致,引擎的優(yōu)化只能做到適度有限優(yōu)化。數(shù)據(jù)湖易于啟動(dòng),但是隨著數(shù)據(jù)規(guī)模的增長(zhǎng),一系列的治理管理的問(wèn)題出現(xiàn),后期是比較難以運(yùn)維的。因?yàn)閿?shù)據(jù)湖不做Schema的強(qiáng)一致的數(shù)據(jù)檢查,所以數(shù)據(jù)治理比較低,難管理使用。因?yàn)閿?shù)據(jù)湖的數(shù)據(jù)是先進(jìn)來(lái)再使用,所以它更適合解決未知的問(wèn)題,比如探查類的分析,科學(xué)計(jì)算,數(shù)據(jù)挖掘等計(jì)算處理。
數(shù)據(jù)倉(cāng)庫(kù)在對(duì)比維度里基本都是相反的狀態(tài),數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)嚴(yán)格的系統(tǒng),所以需要事前建模,數(shù)據(jù)經(jīng)過(guò)轉(zhuǎn)化清洗進(jìn)到倉(cāng)里面,存儲(chǔ)類型變?yōu)榻Y(jié)構(gòu)化或者半結(jié)構(gòu)化。因?yàn)閿?shù)據(jù)倉(cāng)庫(kù)是一個(gè)相對(duì)封閉的系統(tǒng),是一個(gè)自閉環(huán)的系統(tǒng),所以數(shù)據(jù)倉(cāng)庫(kù)向特定引擎開(kāi)放,但是恰恰因?yàn)閿?shù)據(jù)倉(cāng)庫(kù)是一個(gè)自閉環(huán)系統(tǒng),它的計(jì)算引擎、存儲(chǔ)引擎、元數(shù)據(jù)之間是可以做到非常深度、垂直的優(yōu)化,可以獲得一個(gè)非常好的性能。數(shù)據(jù)倉(cāng)庫(kù)因?yàn)槭虑敖#瑪?shù)據(jù)才能進(jìn)來(lái),所以難啟動(dòng),相對(duì)來(lái)講啟動(dòng)成本較高。但一旦數(shù)據(jù)進(jìn)入數(shù)倉(cāng)之后,整個(gè)數(shù)據(jù)的高質(zhì)量,方便做治理,這個(gè)時(shí)候它的整體成本會(huì)降低,甚至達(dá)到一個(gè)免運(yùn)維的狀態(tài)。數(shù)據(jù)倉(cāng)庫(kù)的Schema會(huì)做強(qiáng)一致的檢查,所以數(shù)據(jù)質(zhì)量很高,易于使用。所以數(shù)據(jù)倉(cāng)庫(kù)的計(jì)算負(fù)載天然的適合做離線計(jì)算,交互式計(jì)算以及BI和可視化。
整體上來(lái)講,數(shù)據(jù)湖更偏靈活性,數(shù)據(jù)倉(cāng)庫(kù)更偏企業(yè)級(jí)能力。那么這兩種特點(diǎn)對(duì)于企業(yè)到底意味著什么呢?我們用下面這張圖來(lái)表示。
橫軸是代表企業(yè)的業(yè)務(wù)規(guī)模,縱軸是代表企業(yè)搭建一套大數(shù)據(jù)系統(tǒng)所需要的成本。在企業(yè)初創(chuàng)的時(shí)候,整個(gè)業(yè)務(wù)規(guī)模還不大,數(shù)據(jù)從產(chǎn)生到消費(fèi)的整個(gè)鏈路,是一個(gè)探索和創(chuàng)新的階段。在這個(gè)階段使用數(shù)據(jù)湖是非常容易啟動(dòng),成本也是比較低的。但是隨著業(yè)務(wù)的發(fā)展和壯大,參與的人員和部門越來(lái)越多,對(duì)于數(shù)據(jù)質(zhì)量管理、權(quán)限控制、成本要求會(huì)越來(lái)越高。這個(gè)時(shí)候再使用數(shù)據(jù)湖,成本是指數(shù)級(jí)上升。所以這個(gè)時(shí)候適合用數(shù)據(jù)倉(cāng)庫(kù),可以做好成本控制、數(shù)據(jù)質(zhì)量管理等。從上圖可以看出,對(duì)于一個(gè)企業(yè)來(lái)講,在不同的階段,數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)都發(fā)揮著各自關(guān)鍵的作用。那是否有一種技術(shù)或者架構(gòu)能同時(shí)發(fā)揮出兩者的優(yōu)勢(shì)呢?
以阿里云對(duì)業(yè)界的觀察和本身大量的實(shí)踐,我們認(rèn)為數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)正在發(fā)生融合。并且它們以各自的方式,向著湖倉(cāng)一體的方向進(jìn)行演進(jìn)。從上圖中可以看出,數(shù)據(jù)倉(cāng)庫(kù)到湖倉(cāng)一體的演進(jìn)方向,數(shù)據(jù)湖到湖倉(cāng)一體的演進(jìn)方向,兩者是相反的,相對(duì)的。那么在它們各自的演進(jìn)上面需要做什么工作呢?
數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)嚴(yán)格的系統(tǒng),所以數(shù)據(jù)倉(cāng)庫(kù)更適合做事務(wù)支持,Schema強(qiáng)一致檢查和演進(jìn),天然支持BI,更容易做實(shí)時(shí)性。對(duì)于數(shù)據(jù)湖,優(yōu)勢(shì)在于數(shù)據(jù)類型豐富,支持多種計(jì)算模式,有開(kāi)放的文件系統(tǒng),開(kāi)放的文件格式,是存儲(chǔ)計(jì)算分離的架構(gòu)。
所以數(shù)據(jù)倉(cāng)庫(kù)到湖倉(cāng)一體的演進(jìn),需要從本身?yè)碛械奶匦园l(fā)展出數(shù)據(jù)湖的特性。其實(shí)是要跟HDFS、OSS這樣的系統(tǒng)做好聯(lián)動(dòng),做好融合,所以數(shù)據(jù)倉(cāng)庫(kù)的結(jié)構(gòu)更偏左右結(jié)構(gòu)。對(duì)于數(shù)據(jù)湖到湖倉(cāng)一體的演進(jìn),是需要更多的站在HDFS、OSS基礎(chǔ)上面,來(lái)做出強(qiáng)倉(cāng)的特性。所以數(shù)據(jù)湖的結(jié)構(gòu)更像一個(gè)上下結(jié)構(gòu)。那么,DeltaLake和Hudi其實(shí)就是在上下結(jié)構(gòu)當(dāng)中插了一層,做了一個(gè)湖上面的,能夠支持強(qiáng)倉(cāng)的文件類型。
但不管是數(shù)據(jù)倉(cāng)庫(kù)到湖倉(cāng)一體,還是數(shù)據(jù)湖到湖倉(cāng)一體,最終大家演進(jìn)的這個(gè)方向都是一致的,都是湖倉(cāng)一體。湖倉(cāng)一體的特性是不變的,四種偏倉(cāng)的特性,四種偏湖的特性。
二、阿里云湖倉(cāng)一體
上圖為阿里云湖倉(cāng)一體整體架構(gòu),從下往上看,底層是網(wǎng)絡(luò)層,中間層為湖倉(cāng)引擎層,在往上是DataWorks 湖倉(cāng)數(shù)據(jù)開(kāi)發(fā)層,最上面是業(yè)務(wù)應(yīng)用層。我們重點(diǎn)來(lái)講下引擎層,阿里云湖倉(cāng)一體是左右結(jié)構(gòu),左邊是阿里云數(shù)據(jù)倉(cāng)庫(kù) MaxCompute,右邊是阿里云數(shù)據(jù)湖 EMR,中間是通過(guò)元數(shù)據(jù)的統(tǒng)一,通過(guò)開(kāi)放格式兼容,以達(dá)到數(shù)據(jù)跟任務(wù)可以在數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)湖之間的任意流動(dòng)。在2020年云棲大會(huì)上發(fā)布的是,對(duì)于Hadoop數(shù)據(jù)湖的支持。近期我們已經(jīng)支持了OSS 數(shù)據(jù)湖的湖倉(cāng)一體。
上圖右側(cè)是列出來(lái)一些我們近期發(fā)布的具體功能點(diǎn)。
1.支持云原生數(shù)據(jù)湖
MaxCompute 對(duì)接了阿里云數(shù)據(jù)湖構(gòu)建產(chǎn)品DLF,可以做到元數(shù)據(jù)的自動(dòng)發(fā)現(xiàn),做到湖/倉(cāng)元數(shù)據(jù)統(tǒng)一存儲(chǔ)和管理。
2.對(duì)于數(shù)據(jù)湖查詢更好的性能
近期阿里云正在灰度一個(gè)功能,智能Cache,此功能可以實(shí)現(xiàn)OSS到倉(cāng)里面智能化的數(shù)據(jù)分層。MaxCompute 在2020年發(fā)布了查詢加速功能,未來(lái)一個(gè)版本我們會(huì)把查詢加速引擎也投射到數(shù)據(jù)湖上面,讓它能夠支持?jǐn)?shù)據(jù)湖上面的查詢加速。
3.生態(tài)開(kāi)放性
近期已支持Delta Lake開(kāi)源文件格式。
4.DataWorks 統(tǒng)一的數(shù)據(jù)開(kāi)發(fā)平臺(tái)
DataWorks支持多引擎,提供了湖倉(cāng)一體開(kāi)發(fā)體驗(yàn)。
不管是從上下結(jié)構(gòu)還是左右結(jié)構(gòu)演進(jìn)過(guò)來(lái)的湖倉(cāng)一體,最終都應(yīng)該是一個(gè)簡(jiǎn)單易用的系統(tǒng)體系。阿里云湖倉(cāng)一體有四大關(guān)鍵特性,這四大關(guān)鍵特性都是在圍繞怎么把數(shù)據(jù)湖跟數(shù)據(jù)倉(cāng)庫(kù)做到更加易用。
快速接入
主要有兩個(gè)層次,一個(gè)是網(wǎng)絡(luò)層,一個(gè)是湖倉(cāng)一體的開(kāi)通層。MaxCompute 支持云上云下任何環(huán)境下Hadoop體系的打通,因?yàn)镸axCompute 自有的多租戶體系,如何跟特定的一個(gè)用戶環(huán)境打通,技術(shù)方面有很大的挑戰(zhàn),我們研發(fā)了PrivateAccess網(wǎng)絡(luò)連通技術(shù),來(lái)達(dá)到這個(gè)目標(biāo)。第二個(gè)關(guān)于DataWorks白屏操作自助開(kāi)通湖倉(cāng)一體,未來(lái)我們會(huì)很快發(fā)布一個(gè)版本,用戶在控制臺(tái)里面就可以很快開(kāi)通湖倉(cāng)一體,目前還是需要用工單方式來(lái)提交開(kāi)通。
2. 統(tǒng)一的數(shù)據(jù)/元數(shù)據(jù)
其中關(guān)鍵的技術(shù)是,有一個(gè)Database級(jí)別的元數(shù)據(jù)映射,就是我們可以把數(shù)據(jù)湖上面的Database映射成MaxCompute 里面的一個(gè)Project。數(shù)據(jù)湖上面的數(shù)據(jù)不需要移動(dòng),就可以讓 MaxCompute 像訪問(wèn)操作普通Project一樣進(jìn)行消費(fèi)。同時(shí)做到數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)/元數(shù)據(jù)做到實(shí)時(shí)同步,如果數(shù)據(jù)湖內(nèi)的一張表數(shù)據(jù)或者Schema發(fā)生變化,可以及時(shí)的反應(yīng)在 MaxCompute 數(shù)倉(cāng)這一側(cè)。同時(shí) MaxCompute 具備內(nèi)置的存儲(chǔ)跟文件格式,我們也在持續(xù)的跟進(jìn)開(kāi)源生態(tài)內(nèi)的文件格式,包含上文提到的Delta Lake。
3. 提供統(tǒng)一的開(kāi)發(fā)體驗(yàn)
數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)本身是兩套不同的系統(tǒng),兩個(gè)系統(tǒng)有不同的數(shù)據(jù)庫(kù)模型的定義,對(duì)象模型的定義,我們?cè)贛axCompute 這一側(cè),把數(shù)據(jù)湖跟數(shù)據(jù)倉(cāng)庫(kù)的對(duì)象模型進(jìn)行了統(tǒng)一,再加上 MaxCompute 的SQL和Spark是高度兼容社區(qū)的,所以我們可以做到作業(yè)在兩套系統(tǒng)內(nèi),無(wú)縫遷移。
4. 自動(dòng)數(shù)倉(cāng)
這條線比較有意思,也是我們近期重點(diǎn)投入領(lǐng)域。我們?nèi)ツ曜隽艘话鍯ache,主要是根據(jù)歷史數(shù)據(jù)做Cache,今年我又做了一版Cache,是能夠根據(jù)業(yè)務(wù)場(chǎng)景動(dòng)態(tài)調(diào)整的策略智能化Cache,最終是要做到數(shù)據(jù)可以在數(shù)據(jù)湖跟數(shù)據(jù)倉(cāng)庫(kù)中智能化的冷熱分層。我們的Cache本身需要存儲(chǔ)跟計(jì)算,要做到深度耦合,所以數(shù)倉(cāng)做這層Cache,可以做到更加的極致。另外,我們還嘗試在數(shù)據(jù)湖的數(shù)據(jù)上進(jìn)行打標(biāo)跟識(shí)別,是從數(shù)據(jù)建模的角度來(lái)判定,哪些數(shù)據(jù)更適合放到倉(cāng)里面,哪些數(shù)據(jù)更適合放到湖里面。比如一些結(jié)構(gòu)化被反復(fù)訪問(wèn),比較高頻的表數(shù)據(jù),更適合放到數(shù)據(jù)倉(cāng)庫(kù)內(nèi)。如果偏非結(jié)構(gòu)化/半結(jié)構(gòu)化低頻的數(shù)據(jù),更適合放到數(shù)據(jù)湖內(nèi)。最終的目的是為了在性能、成本以及業(yè)務(wù)效果上達(dá)到一個(gè)最佳的平衡。
阿里云湖倉(cāng)一體適合哪些場(chǎng)景?概況起來(lái)有三大類。
1.Hadoop集群利舊上云
線下Hadoop上云需要很繁重的數(shù)據(jù)、任務(wù)搬遷,甚至要修改。這時(shí)就可以使用湖倉(cāng)一體,讓線下Hadoop跟阿里云 MaxCompute 進(jìn)行快速的打通,線下的作業(yè)不需要修改,不需要搬遷的情況下,可以直接運(yùn)行到MaxCompute 的系統(tǒng)里面。
2.數(shù)據(jù)湖ETL/Ad-hoc加速
MaxCompute 作為SaaS模式云數(shù)據(jù)倉(cāng)庫(kù),具有高性能、低成本以及Serverless能力。通過(guò)湖倉(cāng)一體,是可以把倉(cāng)的能力投射到湖里面。
3.企業(yè)級(jí)跨平臺(tái)的統(tǒng)一大數(shù)據(jù)平臺(tái)
企業(yè)可以基于湖倉(cāng)一體的技術(shù),將現(xiàn)有的一個(gè)或多個(gè)Hadoop甚至OSS湖上的數(shù)據(jù),跟 MaxCompute 數(shù)倉(cāng)進(jìn)行一個(gè)打通,最后構(gòu)建一整套統(tǒng)一的數(shù)據(jù)開(kāi)發(fā),統(tǒng)一的管理、治理、調(diào)度的數(shù)據(jù)開(kāi)發(fā)平臺(tái)。對(duì)上層業(yè)務(wù)提供的是,統(tǒng)一的、透明的中臺(tái)能力。
三、客戶案例分析
案例1、MaxCompute 數(shù)倉(cāng)跟Hadoop數(shù)據(jù)湖的數(shù)倉(cāng)一體案例業(yè)務(wù)介紹:
主要做社交媒體領(lǐng)域里的推薦 / 排序、文本 / 圖像分類、反垃圾 / 反作弊等。在開(kāi)源 Hadoop數(shù)據(jù)湖的基礎(chǔ)上,借助阿里巴巴MaxCompute和PAI,解決了超大規(guī)模下的特征工程、模型訓(xùn)練等性能問(wèn)題,形成了MaxCompute 和Hadoop數(shù)據(jù)湖共存的格局。
痛點(diǎn):
數(shù)據(jù)同步安排專人專項(xiàng)負(fù)責(zé),工作量巨大;
訓(xùn)練數(shù)據(jù)體量大,導(dǎo)致耗時(shí)多,無(wú)法滿足實(shí)時(shí)訓(xùn)練要求;
新寫(xiě) SQL 數(shù)據(jù)處理 query,無(wú)法復(fù)用 Hive SQL 原有 query。
價(jià)值:
通過(guò)湖倉(cāng)一體,無(wú)須進(jìn)行數(shù)據(jù)搬遷和作業(yè)遷移,原有生產(chǎn)作業(yè)無(wú)縫靈活調(diào)度MaxCompute 集群和 EMR 集群中,且性能有提升;
封裝構(gòu)建AI計(jì)算中臺(tái),極大提升該團(tuán)隊(duì)的業(yè)務(wù)支撐能力。
案例2、MaxCompute 數(shù)倉(cāng)跟OSS數(shù)據(jù)湖的湖倉(cāng)一體案例業(yè)務(wù)介紹:
客戶廣告算法團(tuán)隊(duì)是湖倉(cāng)一體主要客戶,主要應(yīng)用是機(jī)器學(xué)習(xí)DW + MC + PAI + EAS 在線模型服務(wù) 。
痛點(diǎn):
算法團(tuán)隊(duì)想更集中在業(yè)務(wù)和算法上,需要自服務(wù)程度高、一站式的機(jī)器學(xué)習(xí)平臺(tái);
Hadoop 集群是多團(tuán)隊(duì)共用,使用集群管控較嚴(yán),無(wú)法短時(shí)間支撐大workload 的創(chuàng)新業(yè)務(wù)。
價(jià)值:
通過(guò)湖倉(cāng)一體將新業(yè)務(wù)平臺(tái)與原有數(shù)據(jù)平臺(tái)打通,PAI on MaxCompute + DataWorks 為客戶創(chuàng)新業(yè)務(wù)提供敏捷、一站式機(jī)器學(xué)習(xí)模型開(kāi)發(fā)、訓(xùn)練、模型發(fā)布,大規(guī)模計(jì)算能力、EAS 模型發(fā)布流程;
起到好的示范作用,并快速?gòu)?fù)制到其他業(yè)務(wù)線,高效的支撐了該客戶業(yè)務(wù)的快速增長(zhǎng)。
案例3、MaxCompute數(shù)倉(cāng)跟OSS數(shù)據(jù)湖的湖倉(cāng)一體案例業(yè)務(wù)介紹:
豐富的大數(shù)據(jù)平臺(tái)建設(shè)經(jīng)驗(yàn),持續(xù)進(jìn)行平臺(tái)的迭代升級(jí)以滿足業(yè)務(wù)不斷發(fā)展的需求。從國(guó)外某廠商遷移到阿里云后,積極建設(shè)和改造數(shù)據(jù)湖架構(gòu)。
痛點(diǎn):
第一代數(shù)據(jù)湖是 EMR + OSS,公司引入的數(shù)據(jù)中臺(tái)的執(zhí)行引擎和存儲(chǔ)是Maxcompute,兩套異構(gòu)的執(zhí)行引擎帶來(lái)存儲(chǔ)冗余、元數(shù)據(jù)不統(tǒng)一、權(quán)限不統(tǒng)一、湖倉(cāng)計(jì)算不能自由流動(dòng)。
價(jià)值:
將 EMR 的元數(shù)據(jù)統(tǒng)一到DLF,底層使用 OSS 作統(tǒng)一存儲(chǔ),并通過(guò)湖倉(cāng)一體打通EMR數(shù)據(jù)湖和MaxCompute數(shù)倉(cāng)兩套體系,讓數(shù)據(jù)和計(jì)算在湖和倉(cāng)之間自由流動(dòng);
實(shí)現(xiàn)湖倉(cāng)數(shù)據(jù)分層存儲(chǔ)。數(shù)據(jù)中臺(tái)對(duì)數(shù)據(jù)湖數(shù)據(jù)進(jìn)行維度建模的中間表存儲(chǔ)在MaxCompute上,建模的結(jié)果表放在數(shù)據(jù)湖里供EMR或其他引擎消費(fèi)。