一文读懂云原生一体化数仓
簡(jiǎn)介:阿里云云原生一體化數(shù)倉(cāng)產(chǎn)品技術(shù)深度解讀。
本文大綱
一、云原生一體化數(shù)倉(cāng)的發(fā)布背景
1 ?市場(chǎng)情況
2 ?挑戰(zhàn)和痛點(diǎn)
二、云原生一體化數(shù)倉(cāng)是什么
三、云原生一體化數(shù)倉(cāng)的技術(shù)理念
1 ?離線實(shí)時(shí)一體
2 ?湖倉(cāng)一體
3 ?分析服務(wù)一體
4 ?全鏈路數(shù)據(jù)治理
一、云原生一體化數(shù)倉(cāng)的發(fā)布背景
1.1市場(chǎng)情況
IDC 2021年的報(bào)告顯示,2021年全球大數(shù)據(jù)軟件市場(chǎng)規(guī)模達(dá)預(yù)計(jì)可達(dá)5414.2億人民幣,相比較2020年的4813.6億元人民幣,增長(zhǎng)12.5%;2021年中國(guó)大數(shù)據(jù)平臺(tái)軟件市場(chǎng)規(guī)模預(yù)計(jì)達(dá)125.8億元人民幣。相比2020年增長(zhǎng)36.5%。預(yù)計(jì)未來(lái)3年平均復(fù)合增長(zhǎng)超30%。
阿里云在2021年上半年以明顯優(yōu)勢(shì)位于中國(guó)大數(shù)據(jù)公有云服務(wù)市場(chǎng)第一。
我國(guó)的十四五規(guī)劃中也明確提到,要加快數(shù)據(jù)的高價(jià)值轉(zhuǎn)化,必須實(shí)現(xiàn)以下條件:
① 大體量的數(shù)據(jù)匯聚、全環(huán)節(jié)的數(shù)據(jù)采集以及工業(yè)基礎(chǔ)大數(shù)據(jù)的建設(shè)等。
② 多樣性的數(shù)據(jù)處理,包括多種數(shù)據(jù)類(lèi)型、多模態(tài)以及多行業(yè)的數(shù)據(jù)處理等。
③ 時(shí)效性的數(shù)據(jù)流動(dòng),包括數(shù)據(jù)的動(dòng)態(tài)更新、數(shù)據(jù)共享空間的建立等。
④ 高質(zhì)量的數(shù)據(jù)治理,將數(shù)據(jù)的資產(chǎn)和全生命周期很好地管理起來(lái)。
⑤ 高價(jià)值的數(shù)據(jù)轉(zhuǎn)化,包括通過(guò)數(shù)據(jù)進(jìn)行政府治理、社會(huì)治理、風(fēng)險(xiǎn)控制、工業(yè)升級(jí)、金融科技的升級(jí)等。
大數(shù)據(jù)在不同的行業(yè)中已經(jīng)有越來(lái)越多、越來(lái)越成熟的應(yīng)用。國(guó)家規(guī)劃中也明確提出,我們要培育專(zhuān)業(yè)化、場(chǎng)景化的大數(shù)據(jù)解決方案,構(gòu)建多層次的工業(yè)互聯(lián)網(wǎng)平臺(tái)、建設(shè)行業(yè)的大數(shù)據(jù)平臺(tái)等。
1.2挑戰(zhàn)和痛點(diǎn)
現(xiàn)階段,各行業(yè)和產(chǎn)業(yè)都在利用大數(shù)據(jù)的能力進(jìn)行產(chǎn)業(yè)升級(jí),這也對(duì)承載整個(gè)數(shù)據(jù)分析的基礎(chǔ)大數(shù)據(jù)的平臺(tái)提出了更多和更高的要求。 企業(yè)在建設(shè)大數(shù)據(jù)平臺(tái)時(shí)有諸多挑戰(zhàn):
● ? ? 時(shí)效性、準(zhǔn)確性、性?xún)r(jià)比同時(shí)有強(qiáng)需求;
● ? ? 越來(lái)越多的非結(jié)構(gòu)化數(shù)據(jù)難以有效支撐分析決策;
● ? ? 如何割裂的,異構(gòu)大數(shù)據(jù)平臺(tái)之上進(jìn)行全域的數(shù)據(jù)分析。
順應(yīng)市場(chǎng)的訴求,阿里云重磅推出了云原生一體化數(shù)倉(cāng),解決各行業(yè)企業(yè)構(gòu)建大數(shù)據(jù)分析平臺(tái)的痛點(diǎn)。
二、云原生一體化數(shù)倉(cāng)是什么
云原生一體化數(shù)倉(cāng)是集阿里云大數(shù)據(jù)產(chǎn)品MaxCompute、DataWorks、Hologres三種產(chǎn)品能力于一體的一站式大數(shù)據(jù)處理平臺(tái)。一體化數(shù)倉(cāng)可以解決企業(yè)在建設(shè)大數(shù)據(jù)平臺(tái)中對(duì)時(shí)效性、準(zhǔn)確性、性?xún)r(jià)比、非結(jié)構(gòu)化數(shù)據(jù)支撐分析決策、異構(gòu)大數(shù)據(jù)平臺(tái)之上的全域數(shù)據(jù)分析需求。
通過(guò)MaxCompute和Hologres的深度融合,提供豐富和靈活的離線實(shí)時(shí)一體化的能力,通過(guò)更加開(kāi)放的對(duì)數(shù)據(jù)湖的支持以及對(duì)數(shù)據(jù)分析多樣化統(tǒng)一管理的湖倉(cāng)一體能力, 通過(guò)一份數(shù)據(jù)的基礎(chǔ)不斷追求對(duì)數(shù)倉(cāng)的實(shí)時(shí)化和在線化的能力結(jié)合,最后通過(guò)DataWorks自頂向下和自底向上的雙向建模的能力,以及數(shù)據(jù)治理與企業(yè)數(shù)據(jù)評(píng)估模型的新能力來(lái)幫助企業(yè)更加直觀地感受到自身的數(shù)據(jù)成熟度。開(kāi)放的DataWorks插件體系也讓客戶(hù)和行業(yè)ISV圍繞自身的數(shù)據(jù)去構(gòu)建更多的場(chǎng)景化數(shù)據(jù)分析的能力,從而真正助力其業(yè)務(wù)的智能化升級(jí)。
其核心是3個(gè)一體化和全鏈路數(shù)據(jù)治理能力,包括離線實(shí)時(shí)一體化、湖倉(cāng)一體、分析服務(wù)一體化、全鏈路數(shù)據(jù)治理。
A. ?離線實(shí)時(shí)一體● ? 以MaxCompute和Hologres為核心的從N到1極簡(jiǎn)架構(gòu),提供離線實(shí)時(shí)一體化海量云數(shù)倉(cāng)服務(wù);
● ? MaxCompute和Hologres 10X性能高速原生互訪,深度集成;
● ? MaxCompute發(fā)布EB級(jí)海量云數(shù)倉(cāng)的快速查詢(xún)能力。
B. ?湖倉(cāng)一體
● ? 持續(xù)提升易用的湖倉(cāng)開(kāi)發(fā)體驗(yàn);
● ? 新增非結(jié)構(gòu)化數(shù)據(jù)的湖倉(cāng)管理能力;
● ? 廣泛支持開(kāi)源生態(tài)對(duì)接。
C. ?分析服務(wù)一體
● ? 數(shù)倉(cāng)實(shí)時(shí)化、敏捷化、在線化、一體化趨勢(shì)明顯;
● ? 一個(gè)平臺(tái)上、一份數(shù)據(jù)實(shí)現(xiàn)靈活探索式分析和高并發(fā)在線應(yīng)用查詢(xún),同時(shí)實(shí)現(xiàn)良好的資源隔離和可用性;
● ? 減少數(shù)據(jù)割裂,減少數(shù)據(jù)移動(dòng),統(tǒng)一數(shù)據(jù)服務(wù)出口。
D. ?全鏈路數(shù)據(jù)治理
● ? 面向業(yè)務(wù)視角自頂向下進(jìn)行數(shù)倉(cāng)規(guī)范建模;
● ? 問(wèn)題驅(qū)動(dòng)的可持續(xù)數(shù)據(jù)治理與企業(yè)數(shù)據(jù)治理成效評(píng)估;
● ? DataWorks開(kāi)放平臺(tái)全新升級(jí)。
三、云原生一體化數(shù)倉(cāng)的技術(shù)理念
1 ? 離線實(shí)時(shí)一體
離線計(jì)算和實(shí)時(shí)計(jì)算
大數(shù)據(jù)技術(shù)發(fā)展早期是面向海量規(guī)模的大數(shù)據(jù)處理而產(chǎn)生的,但是隨著互聯(lián)網(wǎng)應(yīng)用和技術(shù)的發(fā)展,業(yè)務(wù)在線化和精細(xì)化運(yùn)營(yíng)的需求越來(lái)越強(qiáng)烈,比如實(shí)時(shí)的GMV大屏,實(shí)時(shí)的經(jīng)營(yíng)數(shù)據(jù)分析,實(shí)時(shí)的用戶(hù)畫(huà)像和標(biāo)簽系統(tǒng)等,所以大數(shù)據(jù)技術(shù)逐漸從離線計(jì)算開(kāi)始往實(shí)時(shí)化方向演進(jìn)和發(fā)展。
離線數(shù)倉(cāng)和實(shí)時(shí)數(shù)倉(cāng)在很多場(chǎng)景、設(shè)計(jì)理念和產(chǎn)品能力上具備不同對(duì)的特點(diǎn)。離線數(shù)倉(cāng)面向數(shù)據(jù)加工場(chǎng)景,而實(shí)時(shí)數(shù)倉(cāng)面向數(shù)據(jù)分析場(chǎng)景。加工系統(tǒng)為調(diào)度服務(wù),分析系統(tǒng)為人機(jī)交互和在線應(yīng)用服務(wù);處理的數(shù)據(jù)量,加工系統(tǒng)屬于大數(shù)據(jù)進(jìn),大數(shù)據(jù)出,產(chǎn)出的是加工的結(jié)果表,而分析系統(tǒng)屬于大數(shù)據(jù)進(jìn),小數(shù)據(jù)出,產(chǎn)出的是報(bào)表、大屏上的KPI;在時(shí)效性上,加工系統(tǒng)通過(guò)采用批次加工理念,T+1方式完成數(shù)據(jù)加工,而分析系統(tǒng)希望數(shù)據(jù)寫(xiě)入即可用,實(shí)時(shí)可更新;在使用上,加工系統(tǒng)是離線的作業(yè)提交,作業(yè)有進(jìn)度,中間步驟可重試,分析系統(tǒng)是在線系統(tǒng),查詢(xún)是同步響應(yīng),查詢(xún)只有成功和失敗兩種狀態(tài)。不同的需求場(chǎng)景決定了不同的技術(shù)路線,為了擴(kuò)展性,離線系統(tǒng)采用作業(yè)異步調(diào)度,資源計(jì)算時(shí)分配,計(jì)算存儲(chǔ)完全解耦的設(shè)計(jì),為了實(shí)時(shí)的性能,實(shí)時(shí)系統(tǒng)采用RPC同步調(diào)用,計(jì)算資源預(yù)分配,計(jì)算存儲(chǔ)運(yùn)行時(shí)綁定等技術(shù)。
在從離線到實(shí)時(shí)化發(fā)展的過(guò)程中,大數(shù)據(jù)領(lǐng)域出現(xiàn)了很多優(yōu)秀的系統(tǒng)以應(yīng)對(duì)各種不同的分析和查詢(xún)場(chǎng)景。比如我們可以將實(shí)時(shí)的數(shù)據(jù)歸檔到像Hive這樣的離線數(shù)倉(cāng)里進(jìn)行數(shù)據(jù)的離線處理后再將聚合后的小規(guī)模數(shù)據(jù)導(dǎo)出到mysql進(jìn)行后續(xù)的報(bào)表查詢(xún)或者數(shù)據(jù)訪問(wèn),也有將數(shù)據(jù)經(jīng)過(guò)flink流計(jì)算引擎進(jìn)行前置的實(shí)時(shí)處理計(jì)算后將結(jié)果匯總到HBASE/casandra這樣的KV系統(tǒng)進(jìn)行高并發(fā)的點(diǎn)查,或者是實(shí)時(shí)數(shù)據(jù)直接寫(xiě)入clickhouse/druid這樣的mpp系統(tǒng)里進(jìn)行快速的交互式查詢(xún),還有通過(guò)presto進(jìn)行多個(gè)數(shù)據(jù)源的聯(lián)邦查詢(xún),總之為了實(shí)現(xiàn)數(shù)據(jù)的攝取、處理、分析鏈路的實(shí)時(shí)化,需要搭建和運(yùn)維多套系統(tǒng)或者服務(wù),最終造成了架構(gòu)復(fù)雜、數(shù)據(jù)存儲(chǔ)割裂、數(shù)據(jù)不一致、開(kāi)發(fā)成本高等諸多的問(wèn)題。
從N到1的離線實(shí)時(shí)一體化海量云數(shù)倉(cāng)
阿里云為了解決這一問(wèn)題,推出了以MaxCompute和Hologres為核心的離線實(shí)時(shí)一體化海量云數(shù)倉(cāng)架構(gòu),它用1套架構(gòu)解決了N種分析場(chǎng)景的需求。過(guò)去需要運(yùn)維N種組件、開(kāi)發(fā)N套系統(tǒng)、對(duì)接N種接口、N種安全策略,現(xiàn)在只用1個(gè)系統(tǒng)就都解決了,解決了數(shù)據(jù)割裂和開(kāi)發(fā)復(fù)雜的問(wèn)題,并且讓架構(gòu)變得非常簡(jiǎn)單。
在數(shù)據(jù)攝取部分,MaxCompute不僅提供傳統(tǒng)的批量寫(xiě)入,也新近支持了流式寫(xiě)入能力以提高離線數(shù)據(jù)鏈路的數(shù)據(jù)寫(xiě)入效率和數(shù)據(jù)通道的穩(wěn)定性,而Hologres提供了寫(xiě)入即可見(jiàn)的實(shí)時(shí)寫(xiě)入和更新能力,以保證數(shù)據(jù)寫(xiě)入和更新的實(shí)時(shí)性。
在數(shù)據(jù)計(jì)算部分,MaxCompute作為一個(gè)EB級(jí)海量云數(shù)倉(cāng),提供了低成本海量規(guī)模的數(shù)據(jù)存儲(chǔ)和計(jì)算力。面向高吞吐的設(shè)計(jì)可以讓一個(gè)超大規(guī)模的計(jì)算任務(wù)穩(wěn)定的產(chǎn)出、復(fù)雜的UDF功能可支持用戶(hù)通過(guò)靈活的編程進(jìn)行復(fù)雜邏輯的數(shù)據(jù)處理、海量數(shù)倉(cāng)里的計(jì)算任務(wù)一般會(huì)運(yùn)行時(shí)間較長(zhǎng),從分鐘到小時(shí)甚至到天級(jí)別,MaxCompute持續(xù)進(jìn)行性能優(yōu)化目前可將離線查詢(xún)加速到秒級(jí),也就是說(shuō)具備從秒級(jí)到天級(jí)別的廣譜適用性。
Hologres作為一個(gè)實(shí)時(shí)云數(shù)倉(cāng),通過(guò)很多OLAP數(shù)倉(cāng)技術(shù)的創(chuàng)新,如CPU向量化技術(shù)、全鏈路異步化、以及充分利用ssd寫(xiě)入友好等特性提供了數(shù)據(jù)實(shí)時(shí)寫(xiě)入、實(shí)時(shí)更新、實(shí)時(shí)分析的云數(shù)倉(cāng)服務(wù),支持極致的高并發(fā)和亞秒級(jí)的低延遲。
MaxCompute和Hologres兩個(gè)引擎在場(chǎng)景和技術(shù)上形成補(bǔ)充,相輔相成,在他們各自擅長(zhǎng)的領(lǐng)域發(fā)揮極致的體驗(yàn)。但是他們畢竟是兩套系統(tǒng),為了避免數(shù)據(jù)的割裂,我們已經(jīng)通過(guò)深度融合的手段,打通了兩套系統(tǒng)的元數(shù)據(jù)和存儲(chǔ),可實(shí)現(xiàn)在數(shù)據(jù)不移動(dòng)的情況下,相互訪問(wèn),最終對(duì)外提供服務(wù)和分析的能力,以支持像在線應(yīng)用、數(shù)據(jù)大屏、運(yùn)營(yíng)看板、即席查詢(xún)等多種場(chǎng)景的要求。
MaxCompute和Hologres深度融合技術(shù)
1. 元數(shù)據(jù)可見(jiàn)技術(shù)
通過(guò)元數(shù)據(jù)可見(jiàn)技術(shù),實(shí)現(xiàn)不同系統(tǒng)之間的數(shù)據(jù)可見(jiàn)性,進(jìn)而實(shí)現(xiàn)雙向的讀寫(xiě)能力。MaxCompute的表可以批量導(dǎo)入Hologres的元數(shù)據(jù)庫(kù)中,支持MaxCompute新增表自動(dòng)同步到Hologres中。反過(guò)來(lái),也支持將Hologres的表定義為MaxCompute的外表。通過(guò)外表的元數(shù)據(jù)可見(jiàn),實(shí)現(xiàn)了數(shù)據(jù)不搬遷,支持雙向的可讀可寫(xiě)可感知。元數(shù)據(jù)自動(dòng)發(fā)現(xiàn)技術(shù),更是讓外表的創(chuàng)建和更新完全自動(dòng)化,減少了大量手工運(yùn)維調(diào)試的工作。用戶(hù)不再需要周期性同步表結(jié)構(gòu),不再需要擔(dān)心數(shù)據(jù)類(lèi)型的不對(duì)齊。
2. 外表加速技術(shù)
理想的狀態(tài)是離線系統(tǒng)加工好的數(shù)據(jù)直接可以用于實(shí)時(shí)系統(tǒng)的交互式分析,但由于調(diào)度機(jī)制、資源分配機(jī)制等局限,僅僅通過(guò)離線系統(tǒng)的技術(shù)改進(jìn)可以實(shí)現(xiàn)一定的加速效果,但如果要充分發(fā)揮交互式分析的計(jì)算力,通過(guò)實(shí)時(shí)系統(tǒng)的外表加速技術(shù),可以更有質(zhì)量實(shí)現(xiàn)離線數(shù)據(jù)的加速分析。在外表加速加速技術(shù)中,數(shù)據(jù)無(wú)需搬遷,在查詢(xún)運(yùn)行時(shí),會(huì)利用實(shí)時(shí)系統(tǒng)的計(jì)算資源和更高效的RPC調(diào)度機(jī)制,直接訪問(wèn)離線系統(tǒng)中的存儲(chǔ)文件。通過(guò)實(shí)時(shí)系統(tǒng)的常駐進(jìn)程、緩存、預(yù)讀取、表達(dá)式下推等技術(shù),實(shí)現(xiàn)查詢(xún)加速,廣泛使用在BI交互式查詢(xún)等場(chǎng)景。
3. 高速直讀直寫(xiě)
外表的實(shí)現(xiàn)有兩種思路,一種是通過(guò)各自引擎的查詢(xún)接口對(duì)接,一種是直接訪問(wèn)對(duì)方系統(tǒng)的底層存儲(chǔ)系統(tǒng)。通過(guò)查詢(xún)接口對(duì)接,隔離性好,接口符合規(guī)范,對(duì)接門(mén)檻低,但性能不是最優(yōu),因?yàn)檎{(diào)用路徑更長(zhǎng),訪問(wèn)的組件更多;直接訪問(wèn)底層存儲(chǔ)引擎,侵入性強(qiáng),容易受到系統(tǒng)技術(shù)迭代變化引起的不兼容。所以大部分支持聯(lián)邦查詢(xún)的系統(tǒng)采用方案一,即標(biāo)準(zhǔn)接口的方式,比如Presto等。而阿里云MaxCompute和Hologres采用了方案二,是因?yàn)檫@兩款產(chǎn)品來(lái)自于同一個(gè)核心研發(fā)團(tuán)隊(duì),因此有能力解決系統(tǒng)不兼容的問(wèn)題。兩個(gè)系統(tǒng)共享基礎(chǔ)的存儲(chǔ)引擎盤(pán)古,但保留了各自在存儲(chǔ)能力上的創(chuàng)新,比如索引設(shè)計(jì),采用直讀直寫(xiě),相對(duì)接口方式,性能有10倍以上的提升,支持了MaxCompute向Hologres 百萬(wàn)級(jí)每秒的數(shù)據(jù)導(dǎo)入場(chǎng)景,實(shí)現(xiàn)數(shù)據(jù)刷新回寫(xiě)立即生效。
通過(guò)以上三個(gè)角度的技術(shù)創(chuàng)新,實(shí)現(xiàn)了實(shí)時(shí)系統(tǒng)與離線系統(tǒng)的數(shù)據(jù)打通,同時(shí)保留了兩個(gè)系統(tǒng)各自?xún)?yōu)勢(shì)的場(chǎng)景能力。
MaxCompute快速查詢(xún)能力
除了MaxCompute和Hologres的深度融合的一體化架構(gòu)之外,MaxCompute作為海量云數(shù)倉(cāng)也在不斷的進(jìn)行離線加速的努力。如何以低成本的方式對(duì)離線海量數(shù)倉(cāng)實(shí)現(xiàn)加速,平衡客戶(hù)在性能、延遲和成本上的矛盾是我們要解決的問(wèn)題。
MaxCompute在原有的架構(gòu)里擴(kuò)展支持了內(nèi)置查詢(xún)加速引擎,可將離線查詢(xún)加速到秒級(jí)。 MaxCompute一直是一個(gè)面向吞吐優(yōu)化的離線數(shù)倉(cāng),即使是一些小查詢(xún)的計(jì)算任務(wù),也經(jīng)常表現(xiàn)出排隊(duì)時(shí)間長(zhǎng),執(zhí)行慢等問(wèn)題。此次MaxCompute新發(fā)布的內(nèi)置查詢(xún)加速引擎,將針對(duì)小數(shù)據(jù)量的查詢(xún)?nèi)蝿?wù)進(jìn)行延遲優(yōu)化。主要采用資源搶占高優(yōu)先級(jí)、多層次的Cache、內(nèi)存/網(wǎng)絡(luò)shuffle、向量化執(zhí)行等技術(shù),極大縮減小查詢(xún)?nèi)蝿?wù)e2e鏈路上的開(kāi)銷(xiāo)。
查詢(xún)加速引擎支持多種計(jì)費(fèi)模式,后付費(fèi)模式支持自動(dòng)識(shí)別加速,無(wú)須用戶(hù)關(guān)注即可完成加速,這個(gè)背后有一套自動(dòng)作業(yè)特征識(shí)別算法,可針對(duì)不同規(guī)模和復(fù)雜度的查詢(xún)作業(yè)進(jìn)行離線模式和加速模式的選擇,讓簡(jiǎn)單查詢(xún)跑的快,復(fù)雜查詢(xún)算的動(dòng);預(yù)付費(fèi)模式也即將支持查詢(xún)加速引擎獨(dú)享資源組的模式,可以實(shí)現(xiàn)穩(wěn)定的離線加速效果。
數(shù)據(jù)通道新增支持了流式寫(xiě)入模式,不僅提高了離線數(shù)據(jù)鏈路的寫(xiě)入效率和穩(wěn)定性,也可以和查詢(xún)加速引擎配合,實(shí)現(xiàn)近實(shí)時(shí)的數(shù)據(jù)可見(jiàn),可以有效縮短離線業(yè)務(wù)的洞察時(shí)間。
JDBC接口新增支持多種BI工具,如觀遠(yuǎn)BI、網(wǎng)易有數(shù)BI、Superset等。
2 ? 湖倉(cāng)一體
大數(shù)據(jù)的發(fā)展20年,形成了數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)兩種形態(tài)。
過(guò)去20年是大數(shù)據(jù)技術(shù)快速發(fā)展的20年。縱觀整個(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ù)是很難滿(mǎn)足海量數(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)可以稱(chē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)化,然而用戶(hù)是沒(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)品。數(shù)倉(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)跟湖的兩種體系。
數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)的定義和區(qū)別
我們可以用下圖這張表來(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)題,比如探查類(lèi)的分析,科學(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ǔ)類(lèi)型變?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)槭虑敖?#xff0c;數(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和可視化。
數(shù)據(jù)湖的靈活性和數(shù)據(jù)倉(cāng)庫(kù)的成長(zhǎng)性
整體上來(lái)講,數(shù)據(jù)湖更偏靈活性,數(shù)據(jù)倉(cāng)庫(kù)更偏企業(yè)級(jí)能力。那么這兩種特點(diǎn)對(duì)于企業(yè)到底意味著什么呢?我們用下面這張圖來(lái)表示。
橫軸代表企業(yè)的業(yè)務(wù)規(guī)模,縱軸代表企業(yè)構(gòu)建大數(shù)據(jù)平臺(tái)的整體成本。在企業(yè)發(fā)展的初期,業(yè)務(wù)規(guī)模還較小,數(shù)據(jù)從產(chǎn)生到消費(fèi)還處于一個(gè)創(chuàng)新探索的階段,數(shù)據(jù)湖架構(gòu)就比較適用,不僅易于啟動(dòng)和上手,也可以針對(duì)臨時(shí)的數(shù)據(jù)處理需求,快速的添加或部署新的服務(wù),而且還有很多開(kāi)源社區(qū)的文章參考。而當(dāng)企業(yè)逐漸成熟起來(lái),數(shù)據(jù)規(guī)模變的很龐大,參與的人員和部門(mén)不斷增多,對(duì)數(shù)據(jù)治理、精細(xì)化的權(quán)限控制、以及成本控制等需求就變得越來(lái)越關(guān)鍵,那么這個(gè)時(shí)候繼續(xù)使用數(shù)據(jù)湖,數(shù)據(jù)處理和管理的開(kāi)銷(xiāo)就會(huì)大幅增加。而數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)就更適用,它的高數(shù)據(jù)質(zhì)量保證、強(qiáng)管控等能力更適合企業(yè)的成長(zhǎng)和發(fā)展。既然數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)在企業(yè)發(fā)展的不同階段均發(fā)揮著關(guān)鍵的作用,那么有沒(méi)有一種技術(shù)或者架構(gòu)可以同時(shí)發(fā)揮兩者的優(yōu)勢(shì)呢?通過(guò)我們對(duì)業(yè)界的洞察以及阿里云自身的實(shí)踐,我們認(rèn)為:湖和倉(cāng)正在發(fā)生融合,湖倉(cāng)一體新的數(shù)據(jù)管理架構(gòu)可以很好的解決這個(gè)問(wè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ù)類(lèi)型豐富,支持多種計(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)的文件類(lèi)型。
但不管是數(shù)據(jù)倉(cāng)庫(kù)到湖倉(cāng)一體,還是數(shù)據(jù)湖到湖倉(cāng)一體,最終大家演進(jìn)的這個(gè)方向都是一致的,都是湖倉(cāng)一體。湖倉(cāng)一體的特性是不變的,四種偏倉(cāng)的特性,四種偏湖的特性。
阿里云湖倉(cāng)一體架構(gòu)介紹和最新發(fā)布
阿里云在2020年的云棲大會(huì)上首次提出湖倉(cāng)一體全新的架構(gòu),并且在持續(xù)的進(jìn)行架構(gòu)的升級(jí)和技術(shù)的優(yōu)化。上圖左側(cè)是阿里云湖倉(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),左邊是阿里云以MaxCompute為代表的自研云數(shù)倉(cāng)產(chǎn)品,右邊是阿里云 EMR開(kāi)源數(shù)據(jù)湖產(chǎn)品,中間是通過(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)支持阿里云DLF和OSS 的數(shù)據(jù)湖的湖倉(cāng)一體。
右邊我們highlight了阿里云湖倉(cāng)一體近期發(fā)布的功能點(diǎn),
第一個(gè)是更易用的湖倉(cāng)開(kāi)發(fā)體驗(yàn),DataWorks進(jìn)行了湖倉(cāng)一體化的開(kāi)發(fā)和管理的升級(jí),支持客戶(hù)分鐘級(jí)的自助打通湖和倉(cāng),屏蔽了很多底層的配置細(xì)節(jié),讓客戶(hù)實(shí)現(xiàn)快速的業(yè)務(wù)洞察。
第二個(gè)是更廣泛的生態(tài)對(duì)接,我們可以對(duì)接阿里云DLF元數(shù)據(jù)服務(wù)來(lái)支持OSS數(shù)據(jù)湖查詢(xún),而且也支持Delta lake、Hudi等多種開(kāi)源文件格式。同時(shí)我們也將通過(guò)foreign server的方式擴(kuò)展支持多個(gè)外部聯(lián)邦數(shù)據(jù)源,如未來(lái)2個(gè)月將支持RDS整庫(kù)的聯(lián)邦映射,比之前單表映射效率更高。
第三個(gè)是更高的性能,MaxCompute全新支持智能 Cache配合 內(nèi)置查詢(xún)加速引擎,可以使數(shù)據(jù)湖查詢(xún)性能提升 10+ 倍以上。
第四個(gè)是更豐富的數(shù)據(jù)類(lèi)型,我們即將支持非結(jié)構(gòu)化數(shù)據(jù)的湖倉(cāng)管理能力,這個(gè)是我們近期正在研發(fā)的新功能,之前講的湖倉(cāng)一體主要是針對(duì)湖里的結(jié)構(gòu)化數(shù)據(jù),這次的發(fā)布將針對(duì)湖里的非結(jié)構(gòu)化數(shù)據(jù),我們給客戶(hù)提供一種非常簡(jiǎn)單的操作方式可以將湖里的非結(jié)構(gòu)化數(shù)據(jù)映射成MaxComput數(shù)倉(cāng)中的一種特殊對(duì)象,然后客戶(hù)可以像操作表的方式來(lái)操作這個(gè)對(duì)象,這個(gè)好處是可以將MaxCompute+DataWorks強(qiáng)數(shù)倉(cāng)的管理能力投射給非結(jié)構(gòu)化數(shù)據(jù),來(lái)提高非結(jié)構(gòu)化數(shù)據(jù)的管理甚至治理能力。
阿里云湖倉(cāng)一體關(guān)鍵技術(shù)
不管是從上下結(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ù)做到更加易用。
1.快速接入
主要有兩個(gè)層次,一個(gè)是網(wǎng)絡(luò)層,一個(gè)是湖倉(cāng)一體的開(kāi)通層。MaxCompute 支持云上云下任何環(huán)境下Hadoop體系的打通,因?yàn)镸axCompute 自有的多租戶(hù)體系,如何跟特定的一個(gè)用戶(hù)環(huán)境打通,技術(shù)方面有很大的挑戰(zhàn),我們研發(fā)了PrivateAccess網(wǎng)絡(luò)連通技術(shù),來(lái)達(dá)到這個(gè)目標(biāo)。第二個(gè)是DataWorks進(jìn)行了湖倉(cāng)一體化的開(kāi)發(fā)和管理的升級(jí),支持客戶(hù)分鐘級(jí)的自助打通湖和倉(cāng),屏蔽了很多底層的配置細(xì)節(jié),讓客戶(hù)實(shí)現(xiàn)快速的業(yè)務(wù)洞察
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)的文件格式,廣泛支持開(kāi)源數(shù)據(jù)文件格式Delta Lake和Hudi。
3. 提供統(tǒng)一的開(kāi)發(fā)體驗(yàn)
數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)是兩個(gè)不同的數(shù)據(jù)處理系統(tǒng),有各自的數(shù)據(jù)庫(kù)對(duì)象模式設(shè)計(jì),去年我們做了很多工作,統(tǒng)一了兩邊的數(shù)據(jù)庫(kù)對(duì)象模型,加上MaxCompute的SQL和Spark語(yǔ)言高度兼容生態(tài),作業(yè)腳本可以做到兩邊高度兼容,我們?cè)谝恍┛蛻?hù)case上,可以做到無(wú)縫的進(jìn)行切換。Dataworks具備多引擎的開(kāi)發(fā)和調(diào)度能力,我們?cè)诖嘶A(chǔ)上,提供了湖倉(cāng)更加統(tǒng)一的開(kāi)發(fā)和管理功能。并且我們即將支持的非結(jié)構(gòu)化數(shù)據(jù)的湖倉(cāng)管理能力,進(jìn)一步的統(tǒng)一了結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)的開(kāi)發(fā)和管理體驗(yàn)。
4. 自動(dòng)數(shù)倉(cāng)
這是我們一直重點(diǎn)投入的領(lǐng)域。MaxCompute cache技術(shù)配合離線查詢(xún)加速引擎對(duì)數(shù)據(jù)湖查詢(xún)場(chǎng)景可加速10倍以上,同時(shí)我們還能夠根據(jù)業(yè)務(wù)場(chǎng)景動(dòng)態(tài)調(diào)整的策略進(jìn)行智能化Cache,實(shí)現(xiàn)數(shù)據(jù)在湖倉(cāng)架構(gòu)里的冷熱分層。我們的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è)最佳的平衡。
3 ? 分析服務(wù)一體
分析服務(wù)一體化是阿里云一體化數(shù)倉(cāng)中一個(gè)重要的能力創(chuàng)新,英文叫Hybrid Serving and Analytical Processing,HSAP,是阿里云首先提出的一個(gè)架構(gòu)趨勢(shì)的理念。分析是通過(guò)數(shù)據(jù)做決策的過(guò)程是分析,常見(jiàn)的有多維分析、探索式分析、交互式分析、Ad Hoc分析多種說(shuō)法,比如Presto、Greenplum、ClickHouse等系統(tǒng),通常是用在內(nèi)部經(jīng)營(yíng)報(bào)表、領(lǐng)導(dǎo)駕駛艙、指標(biāo)庫(kù)平臺(tái)領(lǐng)域,擅長(zhǎng)處理復(fù)雜多變靈活的查詢(xún)。服務(wù)是數(shù)據(jù)服務(wù),通常是TP領(lǐng)域的說(shuō)法,表示支撐在線業(yè)務(wù)的高性能、高QPS的數(shù)據(jù)讀寫(xiě)需求,數(shù)據(jù)單次請(qǐng)求量不大,但對(duì)SLA、可用性、延時(shí)都有很高的要求,與傳統(tǒng)TP的核心區(qū)別是,對(duì)事務(wù)的要求弱于對(duì)吞吐和性能的要求,可以采用更靈活的一致性協(xié)議,比如只需要訪問(wèn)的單調(diào)遞增性,減少了分布式鎖的開(kāi)銷(xiāo),常見(jiàn)于HBase、Redis等NoSQL系統(tǒng),通常服務(wù)toC在線推薦、在線營(yíng)銷(xiāo)、風(fēng)控等場(chǎng)景。
兩個(gè)場(chǎng)景底層數(shù)據(jù)來(lái)源是統(tǒng)一的(業(yè)務(wù)數(shù)據(jù)庫(kù)+行為日志),也是互相支撐,在線服務(wù)生成的數(shù)據(jù)需要做二次分析,分析的結(jié)果數(shù)據(jù)用于在線服務(wù),通過(guò)分析服務(wù)一體化架構(gòu),可以簡(jiǎn)化系統(tǒng)間數(shù)據(jù)交換,提升開(kāi)發(fā)效率,為上層應(yīng)用提供統(tǒng)一的數(shù)據(jù)服務(wù)出口,保證了數(shù)據(jù)口徑的一致性。
實(shí)時(shí)數(shù)倉(cāng)趨勢(shì):敏捷化、在線化、一體化
什么是一個(gè)有效率、有質(zhì)量、可靠的實(shí)時(shí)數(shù)倉(cāng)呢?基于過(guò)去多年的觀察和技術(shù)實(shí)踐,我們發(fā)現(xiàn)了實(shí)時(shí)數(shù)倉(cāng)領(lǐng)域的三個(gè)趨勢(shì)性特征,敏捷化、在線化和一體化。
● ? ? ?在加工領(lǐng)域,加工方法論進(jìn)行敏捷化升級(jí),包含加工腳本的輕量化實(shí)時(shí)化,數(shù)據(jù)分層的弱化,減少層次,減少調(diào)度,從而讓數(shù)據(jù)從生產(chǎn)到消費(fèi)的鏈路更加緊湊、簡(jiǎn)單,從而縮短數(shù)據(jù)可用的等待時(shí)間。
● ? ? ?在服務(wù)領(lǐng)域,大數(shù)據(jù)團(tuán)隊(duì)直接服務(wù)公司的核心在線業(yè)務(wù),從成本中心轉(zhuǎn)為盈利中心,保障在線業(yè)務(wù)的穩(wěn)定和高效率,通過(guò)數(shù)據(jù)智能提高營(yíng)銷(xiāo)效率,提高風(fēng)控準(zhǔn)確度等,這讓大數(shù)據(jù)技術(shù)從內(nèi)部分析工具轉(zhuǎn)為在線生產(chǎn)系統(tǒng),需要在系統(tǒng)設(shè)計(jì)層面支持更高的可靠性、穩(wěn)定性以及生產(chǎn)級(jí)運(yùn)維能力。
● ? ? ?在架構(gòu)領(lǐng)域,通過(guò)分析服務(wù)一體化融合架構(gòu),減少數(shù)據(jù)割裂,形成統(tǒng)一的數(shù)據(jù)服務(wù)層,可以提升開(kāi)發(fā)效率,降低運(yùn)維成本,保障了數(shù)據(jù)口徑的一致性和新鮮度。
數(shù)據(jù)加工敏捷化
傳統(tǒng)上,搭建一個(gè)合理的大數(shù)據(jù)實(shí)時(shí)數(shù)倉(cāng)系統(tǒng)是個(gè)復(fù)雜的工作,基本采用Lambda架構(gòu),有實(shí)時(shí)加工層、離線加工層,甚至還有近實(shí)時(shí)處理層,數(shù)據(jù)存儲(chǔ)根據(jù)不同的訪問(wèn)特征,分為離線存儲(chǔ)和在線存儲(chǔ),在線部分還細(xì)分為OLAP系統(tǒng)和Key/Value系統(tǒng),分別提供靈活分析和在線高性能點(diǎn)查。在應(yīng)用側(cè),以API方式訪問(wèn)的多是在線系統(tǒng),以SQL方式訪問(wèn)的多是分析系統(tǒng),不同的系統(tǒng)分別對(duì)接不同的存儲(chǔ)引擎,采用不同的協(xié)議,使用不同的訪問(wèn)控制策略。
這套架構(gòu)在業(yè)務(wù)變化少,數(shù)據(jù)質(zhì)量高時(shí)是有效的,但現(xiàn)實(shí)要復(fù)雜得多,業(yè)務(wù)的變化越來(lái)越敏捷,數(shù)據(jù)的質(zhì)量更是參差不齊,數(shù)據(jù)結(jié)構(gòu)日常頻繁調(diào)整,數(shù)據(jù)質(zhì)量需要隨時(shí)修正重刷,這些都是高頻且耗時(shí)的工作。但目前數(shù)據(jù)散落在多個(gè)不同的系統(tǒng)中,數(shù)據(jù)反復(fù)在存儲(chǔ)系統(tǒng)間同步,讓業(yè)務(wù)的敏捷變得不可能,IT同學(xué)每天花費(fèi)大量的時(shí)間在數(shù)據(jù)的排查修正上,響應(yīng)業(yè)務(wù)變化的周期以周為單位,甚至更長(zhǎng)。
因此,架構(gòu)上的數(shù)據(jù)孤島,必然導(dǎo)致數(shù)據(jù)同步難,資源消耗大,開(kāi)發(fā)成本高,同時(shí)招聘人才也更困難。
如果要對(duì)復(fù)雜的架構(gòu)進(jìn)行簡(jiǎn)化,實(shí)現(xiàn)數(shù)據(jù)加工的敏捷化,核心是兩點(diǎn),一個(gè)是簡(jiǎn)化狀態(tài)存儲(chǔ),減少數(shù)據(jù)冗余,這樣數(shù)據(jù)開(kāi)發(fā)、數(shù)據(jù)修正只在一份數(shù)據(jù)上;另一個(gè)是加工鏈路的輕量化。
在狀態(tài)存儲(chǔ)上,Hologres提供了高吞吐低延時(shí)的實(shí)時(shí)寫(xiě)入與更新的能力,寫(xiě)入即可分析,不論單條靈活更新還是上億條批量回刷,都可以支持,基于Hologres構(gòu)建數(shù)據(jù)的統(tǒng)一狀態(tài)層,顯著減少數(shù)據(jù)搬遷。
在數(shù)倉(cāng)加工上,采用數(shù)倉(cāng)分層的方法論,支持指標(biāo)的沉淀和復(fù)用,加工可以分為公共層加工與應(yīng)用層加工,公共層加工采用Flink+Hologres Binlog的方式,實(shí)現(xiàn)ODS->DWD->DWS的全鏈路事件實(shí)時(shí)驅(qū)動(dòng)開(kāi)發(fā),支持?jǐn)?shù)據(jù)寫(xiě)入即加工。在應(yīng)用層加工上,通過(guò)視圖封裝業(yè)務(wù)邏輯,減少中間表管理,通過(guò)Hologres的分布式查詢(xún)能力,為業(yè)務(wù)層提供良好的分析靈活性,將靈活性從數(shù)據(jù)工程師交還給業(yè)務(wù)分析師,實(shí)現(xiàn)自助分析、探索式分析。
數(shù)據(jù)服務(wù)在線化
實(shí)時(shí)數(shù)倉(cāng)的一個(gè)核心趨勢(shì)是數(shù)據(jù)服務(wù)在線化。數(shù)據(jù)從針對(duì)ToB的對(duì)內(nèi)決策場(chǎng)景拓展到支持ToC的在線業(yè)務(wù)場(chǎng)景,支持實(shí)時(shí)用戶(hù)畫(huà)像,實(shí)時(shí)個(gè)性化推薦,實(shí)時(shí)風(fēng)控等,通過(guò)數(shù)據(jù)實(shí)現(xiàn)在線轉(zhuǎn)化的提效。這對(duì)系統(tǒng)的執(zhí)行效率和穩(wěn)定性提出了更高的要求,從稍微邊緣的分析系統(tǒng)進(jìn)入mission-critical的在線業(yè)務(wù)系統(tǒng),需要數(shù)據(jù)平臺(tái)具備高可用,高并發(fā),低延時(shí),低抖動(dòng),要支持云原生的彈性能力,支持服務(wù)熱升級(jí),熱擴(kuò)容,還要具備完善的可觀測(cè)性和運(yùn)維能力。
針對(duì)這些需求,Hologres在存儲(chǔ)引擎,執(zhí)行引擎,運(yùn)維能力做了大量的創(chuàng)新能力,這包括了存儲(chǔ)上,在原有行存、列存基礎(chǔ)上,支持了行列共存結(jié)構(gòu),讓同一張表,兼具OLAP和KeyValue兩種優(yōu)勢(shì)場(chǎng)景,同時(shí)引入了Shard級(jí)多副本能力,實(shí)現(xiàn)了單實(shí)例內(nèi)部,通過(guò)增加副本數(shù),實(shí)現(xiàn)QPS線性增長(zhǎng)的能力。通過(guò)組合行列共存和shard副本能力,可以支撐新的非主鍵點(diǎn)查能力,廣泛用在訂單檢索等場(chǎng)景中。
系統(tǒng)不可避免會(huì)有運(yùn)維升級(jí)的需求,Hologres引入了熱升級(jí)的能力,在升級(jí)過(guò)程中服務(wù)不中斷,降低系統(tǒng)運(yùn)維對(duì)在線業(yè)務(wù)的影響;通過(guò)元數(shù)據(jù)物理備份以及數(shù)據(jù)文件lazy open等能力,優(yōu)化了故障恢復(fù)時(shí)的速度,實(shí)際業(yè)務(wù)驗(yàn)證表明有10倍以上的恢復(fù)提速,分鐘級(jí)故障自動(dòng)恢復(fù),將故障的影響做到了最小。
同時(shí)針對(duì)企業(yè)級(jí)安全場(chǎng)景,Hologres提供了數(shù)據(jù)加密存儲(chǔ),數(shù)據(jù)脫敏訪問(wèn),查詢(xún)?nèi)罩咀灾治龅饶芰?#xff0c;支持完整企業(yè)級(jí)安全能力。
數(shù)據(jù)架構(gòu)分析服務(wù)一體化
分析服務(wù)一體化是簡(jiǎn)化數(shù)據(jù)平臺(tái),統(tǒng)一數(shù)據(jù)服務(wù)出口的重要趨勢(shì),它也是存儲(chǔ)查詢(xún)引擎的能力創(chuàng)新,在一個(gè)架構(gòu)內(nèi),支撐了兩種典型的數(shù)據(jù)場(chǎng)景,既可以執(zhí)行復(fù)雜的OLAP分析,也可以滿(mǎn)足在線服務(wù)的高QPS、低延時(shí),在業(yè)務(wù)上,為用戶(hù)創(chuàng)建了統(tǒng)一的數(shù)據(jù)服務(wù)出口,實(shí)現(xiàn)了業(yè)務(wù)敏捷響應(yīng),支撐數(shù)據(jù)自主分析,避免了數(shù)據(jù)孤島,也簡(jiǎn)化了運(yùn)維。這對(duì)技術(shù)架構(gòu)的挑戰(zhàn)很高。因此Hologres在存儲(chǔ)上針對(duì)不同場(chǎng)景,設(shè)計(jì)了行存和列存分別支撐服務(wù)場(chǎng)景和OLAP場(chǎng)景,在計(jì)算上,在數(shù)據(jù)共享基礎(chǔ)上,需要有效率支撐細(xì)粒度隔離。
Hologres具備基于共享存儲(chǔ)的多實(shí)例高可用部署模式。在這個(gè)方案中,用戶(hù)可以創(chuàng)建多個(gè)實(shí)例,這些實(shí)例代表了不同的計(jì)算資源,但所有的實(shí)例共享同一份數(shù)據(jù),其中一個(gè)實(shí)例作為主實(shí)例,支持?jǐn)?shù)據(jù)的讀寫(xiě)操作,其他實(shí)例作為子實(shí)例,是只讀的,不同實(shí)例之間數(shù)據(jù)內(nèi)存狀態(tài)是毫秒級(jí)實(shí)時(shí)同步,物理存儲(chǔ)上只有一份。在這個(gè)方案中,數(shù)據(jù)是統(tǒng)一的,權(quán)限配置也是統(tǒng)一的,但計(jì)算負(fù)載通過(guò)物理資源區(qū)分,做到了100%隔離。讀寫(xiě)請(qǐng)求不會(huì)爭(zhēng)搶資源,支持讀寫(xiě)隔離,也體現(xiàn)了更好的故障隔離能力。一個(gè)主實(shí)例,目前最多支持掛載4個(gè)子實(shí)例,如果是同一Region部署,則共享存儲(chǔ),如果是不同Region部署,則數(shù)據(jù)需要復(fù)制存儲(chǔ)多份,實(shí)現(xiàn)容災(zāi)的能力。這個(gè)方案在大促場(chǎng)景下,被阿里巴巴內(nèi)部多個(gè)核心業(yè)務(wù)反復(fù)驗(yàn)證的方案,可靠性高。通常我們建議一個(gè)主實(shí)例作為數(shù)據(jù)寫(xiě)入和加工,一個(gè)子實(shí)例用于內(nèi)部OLAP經(jīng)營(yíng)分析,一個(gè)子實(shí)例用于對(duì)外數(shù)據(jù)服務(wù),可以根據(jù)不同場(chǎng)景計(jì)算力的需求,分配不同的計(jì)算規(guī)格。
通過(guò)數(shù)據(jù)加工層的事件驅(qū)動(dòng)加工與視圖敏捷能力,通過(guò)數(shù)據(jù)存儲(chǔ)層的行列多種存儲(chǔ)結(jié)構(gòu)、多實(shí)例共享存儲(chǔ)架構(gòu),通過(guò)數(shù)據(jù)計(jì)算層的細(xì)粒度資源隔離,讀寫(xiě)分離等,分析服務(wù)一體化數(shù)倉(cāng)方案為用戶(hù)提供了滿(mǎn)足數(shù)據(jù)靈活分析與在線服務(wù)場(chǎng)景的更精簡(jiǎn)架構(gòu),更有效率的開(kāi)發(fā)方法論和更容易治理與性?xún)r(jià)比的基礎(chǔ)組件。
4 ? 全鏈路數(shù)據(jù)治理
在企業(yè)發(fā)展初期或者企業(yè)數(shù)倉(cāng)建設(shè)初期,大家更關(guān)注的是如何小步快跑,先把數(shù)倉(cāng)整體框架快速搭建起來(lái),快速滿(mǎn)足業(yè)務(wù)需求,追求更小的成本和更短的交付時(shí)間。這個(gè)階段,絕大多數(shù)企業(yè)選擇以面向開(kāi)發(fā)視角的自底向上來(lái)構(gòu)建數(shù)倉(cāng),也就是基礎(chǔ)的ETL工作。隨著企業(yè)或企業(yè)數(shù)倉(cāng)逐步發(fā)展成熟,傳統(tǒng)企業(yè)數(shù)字化轉(zhuǎn)型的推進(jìn),以及數(shù)據(jù)中臺(tái)建設(shè)漸入深水區(qū),原有的“精益生產(chǎn)”方式來(lái)構(gòu)建數(shù)倉(cāng)已經(jīng)無(wú)法滿(mǎn)足企業(yè)數(shù)倉(cāng)規(guī)范化、可持續(xù)發(fā)展的要求,企業(yè)數(shù)倉(cāng)建設(shè)開(kāi)始向“敏捷制造”轉(zhuǎn)變,更強(qiáng)調(diào)標(biāo)準(zhǔn)化、流程化、方法論指導(dǎo)以及組織管理,并借助現(xiàn)代化技術(shù)和工具來(lái)最大限度發(fā)揮人的價(jià)值。
在這個(gè)背景之下,阿里云DataWorks在過(guò)去多年間一直致力于全鏈路數(shù)據(jù)治理產(chǎn)品體系的建設(shè),希望能夠?yàn)槠髽I(yè)打造出一套集數(shù)據(jù)開(kāi)發(fā)和數(shù)據(jù)治理為一體的一站式平臺(tái),并與MaxCompute和Hologres一道形成云原生一體化數(shù)倉(cāng)產(chǎn)品解決方案。在數(shù)據(jù)治理方面,阿里云DataWorks在數(shù)據(jù)質(zhì)量、數(shù)據(jù)安全、穩(wěn)定性保障等基礎(chǔ)能力之上,近期著力打造了智能數(shù)據(jù)建模、數(shù)據(jù)治理中心產(chǎn)品,并全新升級(jí)了開(kāi)放平臺(tái),讓用戶(hù)和伙伴可以實(shí)現(xiàn)自定義數(shù)據(jù)治理插件,從而幫助企業(yè)實(shí)現(xiàn)個(gè)性化的數(shù)據(jù)治理。
智能數(shù)據(jù)建模
阿里云DataWorks全新推出了智能數(shù)據(jù)建模產(chǎn)品,基于Kimball維度建模理論與阿里巴巴數(shù)據(jù)中臺(tái)建設(shè)方法論構(gòu)建,能夠有效幫助企業(yè)實(shí)現(xiàn)面向業(yè)務(wù)視角自頂向下進(jìn)行數(shù)倉(cāng)規(guī)劃與規(guī)范建模,并與DataWorks成熟的自底向上的數(shù)據(jù)開(kāi)發(fā)(ETL)能力形成合力,幫助企業(yè)建設(shè)規(guī)范化和可持續(xù)發(fā)展的數(shù)倉(cāng)。
1.? 數(shù)倉(cāng)規(guī)劃
數(shù)倉(cāng)規(guī)劃是數(shù)倉(cāng)建設(shè)的基礎(chǔ),阿里云DataWorks智能數(shù)據(jù)建模的數(shù)倉(cāng)規(guī)劃工具可以支持從業(yè)務(wù)抽象到數(shù)倉(cāng)頂層設(shè)計(jì),包含了數(shù)倉(cāng)分層,定義數(shù)據(jù)域、業(yè)務(wù)過(guò)程、數(shù)據(jù)維度等。從而有效解決企業(yè)數(shù)倉(cāng)結(jié)構(gòu)混亂、權(quán)責(zé)不清等問(wèn)題。
2. 數(shù)據(jù)標(biāo)準(zhǔn)
沒(méi)有數(shù)據(jù)標(biāo)準(zhǔn),數(shù)據(jù)模型就無(wú)據(jù)可依。阿里云DataWorks的數(shù)據(jù)標(biāo)準(zhǔn)工具提供了數(shù)據(jù)字典、標(biāo)準(zhǔn)代碼、度量單位、命名詞典等定義,并支持與數(shù)據(jù)質(zhì)量規(guī)則無(wú)縫打通,從而實(shí)現(xiàn)快速落標(biāo)檢查。
3. 維度建模
在運(yùn)用專(zhuān)業(yè)的建模工具之前,絕大多數(shù)企業(yè)可能會(huì)采用基于文檔的形式來(lái)設(shè)計(jì)和記錄數(shù)據(jù)模型,剛開(kāi)始時(shí)可以有效解決問(wèn)題,但文檔面臨著難以持續(xù)維護(hù)更新的問(wèn)題,久而久之就會(huì)與線上系統(tǒng)脫節(jié),而線上系統(tǒng)的數(shù)據(jù)模型就會(huì)逐步失控。阿里巴巴早期的數(shù)倉(cāng)建設(shè)同樣面臨著這個(gè)問(wèn)題,并通過(guò)實(shí)踐證明,光靠組織制度是難以保證數(shù)倉(cāng)模型的強(qiáng)一致性。為此,阿里云DataWorks基于Kimball維度建模理論構(gòu)建了維度建模工具。提供了可視化正向建模和逆向建模。通過(guò)逆向建模可有效將已經(jīng)存在的數(shù)倉(cāng)中的表逆向?yàn)閿?shù)據(jù)模型,并在此之上進(jìn)行模型迭代,從而幫助企業(yè)解決數(shù)倉(cāng)建模冷啟動(dòng)的難題。同時(shí),為了提升效率,阿里云DataWorks也提供了類(lèi)SQL的數(shù)據(jù)建模語(yǔ)言,讓喜歡寫(xiě)代碼的數(shù)據(jù)工程師可以快速進(jìn)行數(shù)據(jù)建模,也極大的便利了數(shù)據(jù)模型的導(dǎo)入導(dǎo)出和備份恢復(fù)。
4. 數(shù)據(jù)指標(biāo)
同樣,在有專(zhuān)業(yè)數(shù)據(jù)指標(biāo)管理工具之前,大家可能采用手工寫(xiě)SQL代碼來(lái)創(chuàng)建和管理數(shù)據(jù)指標(biāo),這會(huì)帶來(lái)指標(biāo)口徑不一,指標(biāo)難以復(fù)用等難題。阿里云DataWorks全新推出的數(shù)據(jù)指標(biāo)工具,可提供原子指標(biāo)和派生指標(biāo)的定義,從而有效確保業(yè)務(wù)指標(biāo)口徑統(tǒng)一,實(shí)現(xiàn)指標(biāo)的高效產(chǎn)出和復(fù)用,滿(mǎn)足企業(yè)頻繁的看數(shù)用數(shù)需求。
數(shù)據(jù)治理中心
阿里云DataWorks在過(guò)去多年發(fā)展迭代中,沉淀了非常多的數(shù)據(jù)治理能力,包含數(shù)據(jù)質(zhì)量管理、數(shù)據(jù)權(quán)限管理、敏感數(shù)據(jù)保護(hù)、元數(shù)據(jù)管理、數(shù)據(jù)血緣、影響分析、基線保障等等,但要把這些工具用好,依然依賴(lài)于人的經(jīng)驗(yàn)?zāi)芰Α:芏嗥髽I(yè)在數(shù)據(jù)治理的過(guò)程中,也面臨數(shù)據(jù)治理的成效不易評(píng)估,治理團(tuán)隊(duì)業(yè)績(jī)不好衡量,從而導(dǎo)致數(shù)據(jù)治理過(guò)程往往淪為項(xiàng)目制、運(yùn)動(dòng)式,不可持續(xù)。為解決這樣的問(wèn)題,阿里云DataWorks全新推出了數(shù)據(jù)治理中心產(chǎn)品,通過(guò)問(wèn)題驅(qū)動(dòng)的方式,幫助企業(yè)主動(dòng)發(fā)現(xiàn)待治理問(wèn)題,然后引導(dǎo)用戶(hù)優(yōu)化和解決問(wèn)題,再提供數(shù)據(jù)治理成效的評(píng)分模型,幫助企業(yè)定量評(píng)估數(shù)據(jù)治理的健康度,從而實(shí)現(xiàn)有效的、可持續(xù)運(yùn)營(yíng)的數(shù)據(jù)治理過(guò)程。
阿里云DataWorks數(shù)據(jù)治理中心產(chǎn)品提供了五個(gè)維度的待治理問(wèn)題的發(fā)現(xiàn)能力,包含研發(fā)規(guī)范、數(shù)據(jù)質(zhì)量、數(shù)據(jù)安全、計(jì)算資源和存儲(chǔ)資源。針對(duì)這五個(gè)維度,產(chǎn)品內(nèi)置了非常豐富的治理項(xiàng)掃描機(jī)制,能夠在事后識(shí)別出問(wèn)題。例如,發(fā)現(xiàn)暴力掃描的任務(wù)、長(zhǎng)時(shí)間未訪問(wèn)的表等,優(yōu)化之后就可以大大減少計(jì)算和存儲(chǔ)資源成本。同時(shí),產(chǎn)品也內(nèi)置了檢查項(xiàng)攔截機(jī)制,在事前和事中提前發(fā)現(xiàn)和攔截問(wèn)題。例如,可以在任務(wù)發(fā)布階段,通過(guò)發(fā)布檢查項(xiàng),攔截不符合事先定義的代碼規(guī)范的任務(wù),從而確保企業(yè)研發(fā)規(guī)范的落實(shí)。
針對(duì)這五個(gè)維度,阿里云DataWorks結(jié)合在阿里巴巴內(nèi)部的實(shí)踐,設(shè)計(jì)了一套健康分評(píng)估模型,可以有效的定量衡量數(shù)據(jù)治理的成效。企業(yè)可以通過(guò)數(shù)據(jù)治理健康分,快速識(shí)別自身短板,然后針對(duì)性進(jìn)行治理,并通過(guò)健康分實(shí)現(xiàn)評(píng)比和考核,從而達(dá)到可持續(xù)可運(yùn)營(yíng)的數(shù)據(jù)治理,讓數(shù)據(jù)治理過(guò)程有的放矢,不再無(wú)從下手。
同時(shí),阿里云DataWorks數(shù)據(jù)治理中心產(chǎn)品提供不同角色視角的管理視圖。通過(guò)個(gè)人視圖,讓數(shù)據(jù)工程師可快速識(shí)別自己的任務(wù)和數(shù)據(jù)表的問(wèn)題。通過(guò)管理者視圖,讓項(xiàng)目管理員或團(tuán)隊(duì)管理員可以查看本項(xiàng)目或本團(tuán)隊(duì)的問(wèn)題,以合理規(guī)劃和推進(jìn)數(shù)據(jù)治理工作。團(tuán)隊(duì)中的不同成員,各居其職,實(shí)現(xiàn)執(zhí)行與管理的統(tǒng)一。
DataWorks開(kāi)放平臺(tái)
企業(yè)的數(shù)據(jù)治理過(guò)程并非標(biāo)準(zhǔn)化的,阿里云DataWorks數(shù)據(jù)治理中心提供的產(chǎn)品能力必然也無(wú)法完全滿(mǎn)足企業(yè)數(shù)據(jù)治理中的所有需求。因此一套完善的數(shù)據(jù)治理平臺(tái)必須要支持插件化機(jī)制,允許企業(yè)自定義數(shù)據(jù)治理插件。我們的數(shù)據(jù)治理中心中用于問(wèn)題發(fā)現(xiàn)的治理項(xiàng)和問(wèn)題攔截的檢查項(xiàng),就可視為一個(gè)個(gè)數(shù)據(jù)治理插件,并且DataWorks允許用戶(hù)自定義數(shù)據(jù)治理插件。
為了實(shí)現(xiàn)自定義數(shù)據(jù)治理插件,阿里云DataWorks全新升級(jí)了開(kāi)放平臺(tái),在原有OpenAPI基礎(chǔ)之上,新增了開(kāi)放事件(Open Event)、擴(kuò)展點(diǎn)(Hook)和擴(kuò)展程序(Extensions)能力。您可以通過(guò)Kafka來(lái)訂閱DataWorks平臺(tái)中開(kāi)放的事件消息。DataWorks對(duì)核心流程中的事件提供了擴(kuò)展點(diǎn)機(jī)制,即Hook,當(dāng)事件發(fā)生時(shí),系統(tǒng)會(huì)自動(dòng)中斷流程,同時(shí)等待您接收到事件消息并對(duì)事件消息進(jìn)行自定義處理,最后通過(guò)OpenAPI將您的處理結(jié)果回調(diào)給DataWorks,DataWorks將根據(jù)您的自定義處理結(jié)果選擇執(zhí)行或者阻斷后續(xù)流程,從而實(shí)現(xiàn)您對(duì)DataWorks處理流程的自定義控制。您訂閱事件、處理事件和回調(diào)事件處理結(jié)果的程序服務(wù)稱(chēng)之為擴(kuò)展程序,即插件。通過(guò)這種方式,您可以實(shí)現(xiàn)各式各樣的自定義數(shù)據(jù)治理插件,例如任務(wù)發(fā)布檢查插件、計(jì)算費(fèi)用消耗檢查插件等。
當(dāng)然DataWorks開(kāi)放平臺(tái)適用場(chǎng)景遠(yuǎn)不止實(shí)現(xiàn)數(shù)據(jù)治理插件,通過(guò)OpenAPI、開(kāi)放事件、擴(kuò)展程序機(jī)制,可以幫助您快速實(shí)現(xiàn)各類(lèi)自有應(yīng)用系統(tǒng)對(duì)接DataWorks,方便快捷的進(jìn)行自定義數(shù)據(jù)流程管控,自定義數(shù)據(jù)治理和運(yùn)維操作,在自有應(yīng)用系統(tǒng)中及時(shí)響應(yīng)DataWorks中的業(yè)務(wù)狀態(tài)變化。歡迎大家發(fā)揮想象力,通過(guò)DataWorks開(kāi)放平臺(tái)實(shí)現(xiàn)各類(lèi)行業(yè)化、場(chǎng)景化的數(shù)據(jù)應(yīng)用,以更好的服務(wù)于您或您的客戶(hù)進(jìn)行企業(yè)數(shù)據(jù)中臺(tái)建設(shè)。
阿里云DataWorks自2009年開(kāi)始伴隨著阿里巴巴從數(shù)倉(cāng)到數(shù)據(jù)中臺(tái)12年的發(fā)展之路,產(chǎn)品久經(jīng)考驗(yàn)與打磨,沉淀了阿里巴巴大數(shù)據(jù)建設(shè)的最佳實(shí)踐。從2015年開(kāi)始在阿里云上對(duì)外提供服務(wù),迄今已經(jīng)支撐了眾多部委、地方政府、央企、國(guó)企、私企和組織等共計(jì)數(shù)千家客戶(hù)的數(shù)字化轉(zhuǎn)型。 通過(guò)本次全新發(fā)布的智能數(shù)據(jù)建模、數(shù)據(jù)治理中心和開(kāi)放平臺(tái)等數(shù)據(jù)治理相關(guān)產(chǎn)品,阿里云DataWorks將協(xié)同MaxCompute、Hologres組成云原生一體化數(shù)倉(cāng)解決方案,進(jìn)一步幫助企業(yè)構(gòu)建現(xiàn)代化數(shù)倉(cāng),并通過(guò)行之有效的數(shù)據(jù)治理來(lái)確保企業(yè)數(shù)倉(cāng)能夠規(guī)范、安全、穩(wěn)定、可持續(xù)地發(fā)展,同時(shí)有效控制IT成本,讓企業(yè)真正將數(shù)據(jù)變成企業(yè)資產(chǎn),讓數(shù)據(jù)為企業(yè)創(chuàng)造更大的價(jià)值。?
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。?
總結(jié)
以上是生活随笔為你收集整理的一文读懂云原生一体化数仓的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ElasticSearch IK 分词器
- 下一篇: 如何构建一个流量无损的在线应用架构 |