友快網

導航選單

【重磅乾貨】雲原生資料倉庫:從資料演進到資料倉庫的四個主要階段

談到資料倉庫,我們往往容易忽略“資料”兩個字,阿里雲有著很多業務場景和業務體系,在這些資料應用之下我們如何管理資料的呢?資料倉庫是如何幫到我們以及它自身是如何演進的?

資料倉庫概念從1990年提出,經過了四個主要階段。從最初的資料庫演進到資料倉庫,到MPP架構,到大資料時代的資料倉庫,再到今天的雲原生的資料倉庫。在不斷的演進過程中,資料倉庫面臨著不同的挑戰。

第一 啟動成本高、建設週期長,價值難以快速驗證

對於數倉的建設人員,面臨的挑戰是業務人員希望數倉建設週期能更短。而傳統資料倉庫往往要面臨從採購伺服器,建立物理倉庫到邏輯倉庫等一個較長的週期,所以資料倉庫面臨的第一個挑戰就是怎樣去降低建設週期。

第二 如何處理多樣資料,擁抱新技術,充分挖掘資料價值

隨著大資料的到來,傳統資料倉庫管理的大多是結構化資料。如何對半結構化的資料進行統一全面的管理就成為傳統資料倉庫面臨的第二個挑戰。

第三 難以共享企業資料資產、資料創新成本高

資料倉庫更加強調管理和安全,在強調安全的情況下如何在組織裡以及整個生態上下游中更好的共享和交換資料,成為了新的挑戰。例如在企業的部門間或業務間依然存在為數不少的資料孤島,資料共享成本高,缺乏企業級別的統一的資料獲取出口,由此導致資料消費方獲取資料困難,難於自助分析,嚴重依賴IT部門支援來滿足企業更廣泛的資料需求。

第四 平臺架構複雜、運營成本高

隨著資料處理種類的多樣化和資料量的不斷變大,不同的技術被疊加在一起從而使得資料倉庫架構變得越發複雜。同一企業裡往往會同時存在各種技術型別的資料倉庫。所以如何簡化資料倉庫的架構也是面臨的一個重要挑戰。一般需要投入專業團隊負責管理複雜的資料平臺,同時對資源利用率不高的情況進行管理和治理。

第五 滿足業務需要的擴充套件性、彈性、靈活性

業務快速發展的企業,經常會有大促活動,補資料,處理非常規事件的需求,如何快速擴充套件數倉效能,提高業務峰谷的響應時效,也帶來很多挑戰。

對於傳統資料倉庫面臨的這些挑戰,在技術和業務的驅動下新型資料倉庫如何應對呢?這裡可以看到六個主要的驅動力。

第一 我們希望有一個統一的資料平臺,能去連線,去儲存和處理多種資料。

第二 實時化,企業基於資料驅動能實時對業務作出支撐和決策的資訊,這裡有更高時效性的要求。

第三 資料量變得非常龐大,在海量資料中如何找到想要的資料,就需要有一張地圖,要對資料進行管理和治理。

第四 傳統資料倉庫中,資料的儲存採用集中的方式,一定要把資料集中在同一個儲存中。而在新的業務驅動下,需要去連線資料而不是統一儲存在一起。

第五 資料倉庫之上如何支援更多智慧化的應用,資訊化的業務以及業務的資訊化等關係。這就是數倉智慧化和智慧化數倉的需求驅動力。

第六 資料領域的不同角色對資料平臺有著不同需求。例如資料工程師,資料分析人員,資料科學家等,他們對資料平臺的響應時間,處理速度,資料量,開發語言等有著不同的需求。所以更多的做好分析服務,成為資料管理平臺第六個驅動力。

據倉庫在不斷地演進過程中,從30年前的概念來看已經注入了更多新的內涵。對於新的內涵,我們可以從資料倉庫的基礎架構,資料架構,資料分析以及服務模型四個角度來明顯看到雲原生,湖倉一體,離線實時一體化、服務模型的SAAS化的演進趨勢。

雲原生 — 數倉基礎架構的演進方向

雲原生是數倉基礎架構的一個基本的演進方向。傳統資料倉庫是基於物理伺服器或雲上託管伺服器的模式。而云原生的情況下可以更多去應用雲的基礎服務,包括儲存服務,網路服務以及更多的監控服務。這就意味著在雲上用原生服務可以獲得雲的自服務、彈性等能力,雲數倉就可以更好的去整合更多的雲上服務,包括如何把日誌資料從各種資料來源抽取到資料倉庫中,也包括如何進行全鏈路的資料管理和機器學習等。所以雲原生往往包含了如何構建和如何與雲上服務原生的整合。

如圖,雲原生的情況下在底層充分利用了雲的彈性計算,儲存以及安全能力。在此之上可以看到我們把所有云的複雜性都遮蔽掉,作為資料平臺的使用者,只需開通服務,透過web方式建立專案空間,五分鐘開通一個數據倉庫進行資料倉庫後面模型的開發。大大簡化了服務交付的週期以及資料倉庫整個底層架構,技術架構構建過程。另一方面是雲原生數倉的擴充套件性,不管你提交了一個只需要1CU的作業還是提交一個可能需要10000CU的作業,平臺都會按你的需要排程資源來進行資料處理。所以雲原生又給我們帶來近乎無限的擴充套件性。

湖倉一體 — 數倉資料架構的演進方向

講到湖倉一體,先來看湖倉一體背後的原因。不得不說到今天為止資料倉庫仍然是企業管理資料最優的解決方案。各個企業大都有自己的資料倉庫,只不過可能是基於不同的技術形態構建的資料倉庫。在處理策略,對語義的支援上,對場景的最佳化上以及工程經驗上,資料倉庫是目前沉澱下來的一個最優的方案。在此之上,企業資料量越來越大,需要更靈活更敏捷的資料探索能力。同時,對未知資料存在先儲存下來再進一步探索的訴求。由此,企業在架構上需要融合資料分析的最最佳化和可探索兩個方面的優勢,從處理策略到語義支援,以及使用案例上,資料倉庫和資料湖分別帶給企業不同的優勢。資料倉庫在易管理,資料質量高,而資料湖在可探索,靈活性強方面為我們帶來優勢。我們要思考和討論如何將兩種方式結合起來共用,這就是提出“湖倉一體”的背景。

在MaxCompute以資料倉庫為主的場景下,將資料倉庫對資料管理的最優工程經驗,管理經驗和資料湖對資料管理的靈活性,資料處理的靈活性更好的結合在一起, 2019年我們在全球率先提出了“湖倉一體”的全新資料管理架構。基於MaxCompute資料倉庫來提供安全可靠的,結構化的資料管理方式,以及在此之上由DataWorks提供資料血緣,資料地圖和資料治理等能力。這些能力如何延伸到資料湖中?今天我們可見的資料湖包括基於雲上的物件儲存OSS,也包含企業中基於Hadoop HDFS的資料湖,對於這兩類資料湖如何基於已有的靈活效能夠獲得更容易探索能力,能提升它們得資料處理效能,管理能力和安全性?

我們所做的就是把資料倉庫和資料湖兩者打通,透過資料湖構建DLF,發現數據湖的元資料,進行結構化的統一管理,融合湖的靈活和便捷優勢。這就是以倉為中心的湖倉一體新型資料管理的架構,資料倉庫在企業資料的管理方式上往前又推進了一步。

離線實時一體 — 數倉資料分析的演進方向

在企業的資料倉庫中,透過SLS、Kafka等訂閱的方式進行資料採集,通常有三種路徑。第一種可能是將一部分資料歸檔在資料倉庫中,然後進行全量的分析。第二種是進行實時的查詢分析,比如風控場景下查一個電話號碼過去三年的通話記錄,要馬上查出來,就需要進行實時的連線分析。第三種是進行一些關聯的多維度查詢,對這些實時資料等進行關聯的基礎上,後面再來進行批次的處理,實時處理以及點查。實時資料的獲取,計算以及應用這三方面,構成了整個數倉由離線向實時發展的三個核心含義。這裡最核心的就是計算。計算的本質無外乎兩個,一個是主動計算,另一個是被動計算。離線計算往往是被動計算,需要數倉工程師透過定義任務來排程作業,才能計算出新的結果。在實時離線一體化中,除了被動計算,還要有主動計算能力。當資料流入後,不做人工干預,任何作業的插入和重啟都能自動算出新的結果或中間結果。參與實時計算就最大程度的增加了主動計算的過程,而主動的結果帶給我們的好處就是無需重新排程任何作業就能拿到想要的結果資料。

在離線和實時一體的情況下雖然可以解決業務上的一些問題,但架構會非常複雜。所以阿里雲提出離線實時一體化的數倉架構。簡化是說我們只需要核心的幾個產品,就可以實現離線和實時一體化的架構。資料來源包括了交易資料以及各個伺服器生成的人的行為資料和物的行為資料,透過日誌服務,定期歸檔到Hologres,之後,實時數倉加上流計算來進行實時計算,然後在下面是全量的數倉,整個完成了主動計算、被動計算和資料的實時獲取。結果資料可以不用做任何搬遷,直接透過Hologres來做實時分析。將實時的資料獲取,實時的資料計算和實時的資料分析服務三者打通為一體,架構上做了最大程度的簡化,這就是今天所說的離線實時一體化的雲資料倉庫。

SaaS模式 — 數倉服務模式的演進方向

基於數倉基礎架構、資料管理架構、資料分析架構的演進,這些產品的服務是如何被交付的呢?那就是透過SaaS化的方式向客戶來交付資料倉庫,可以最簡化的去使用資料倉庫的服務。

資料倉庫的構成有幾種方式,第一種是說基於物理伺服器自建資料倉庫,這是大家最為熟悉的方式。第二種是在雲上基於Hadoop,也可以基於各種MPP的資料庫去構建和搭建半托管的雲上資料倉庫。第三種和第四種就屬於比較深的雲原生的形式,第三種是典型Snowflake的方式,這種方式下雲基礎服務其實並不會暴露給資料倉庫的管理者,所以我們把它叫做嵌入式的,將IaaS這一層嵌入到PaaS層中,但最終資料倉庫是透過SaaS的完全web的方式暴露出來的。2021年全球Forrester評測中有13家廠商參與了評估,其中以SaaS模式交付資料倉庫服務的只有三家,分別是谷歌的BigQuery,Snowflake和阿里雲MaxCompute。

可以看到透過雲計算的資料倉庫服務,從自建到雲原生,幫我們最大化的降低了資料倉庫的管理複雜度,整個架構少了很多層,無需管理叢集和軟體,透過服務化的方式達到免運維,將底層的所有這些需管理的內容去掉,後臺升級是由雲廠商來提供服務的,只需要管理自己的資料和資料模型,透過web方式來使用資料倉庫服務。在資料倉庫裡儲存的資料與雲端儲存一樣,按儲存量付費。計算也是一樣的,不計算不花錢。充分體現了SaaS化的優勢。同時,在匹配業務需求上具備非常強的彈效能力,我們有很多客戶日常只需要一萬核的算力,在雙十一當天需要三萬核的算力。在這種SaaS模式的服務下,使用者在完全無感知的情況下我們就可以保證充沛的彈效能力去滿足資料倉庫的各種工作需求了。

綜上,資料倉庫從1990年的資料庫演進到資料倉庫,到MPP架構,到大資料時代的資料倉庫,再到今天的雲原生的資料倉庫的一路演進,基礎架構的雲原生,資料架構的湖倉一體,資料分析的離線實時一體化以及數倉服務模式的SaaS化,是最為主要的四個演進的方向和特徵。 阿里雲正在透過全新資料倉庫架構給企業帶來具備更優體驗的資料管理的方式。

作者:張良模 阿里雲智慧資深產品專家

上一篇:基於c語言的神經網路模型:卷積層、池化層、全連線層的優勢與應用
下一篇:美國 出手 ,特朗普 出手 ,中企躺槍