簡介:數據倉庫概念從1990年提出,通過了四個主要階段。從最初的數據庫演進到數據倉庫,到MPP架構,到大數據時代的數據倉庫,再到今天的雲原生的數據倉庫。在不斷的演進過程當中,數據倉庫面臨着不一樣的挑戰。web
做者 張良模 阿里雲智能資深產品專家數據庫
談到數據倉庫,咱們每每容易忽略「數據」兩個字,阿里雲有着不少業務場景和業務體系,在這些數據應用之下咱們如何管理數據的呢?數據倉庫是如何幫到咱們以及它自身是如何演進的?安全
數據倉庫概念從1990年提出,通過了四個主要階段。從最初的數據庫演進到數據倉庫,到MPP架構,到大數據時代的數據倉庫,再到今天的雲原生的數據倉庫。在不斷的演進過程當中,數據倉庫面臨着不一樣的挑戰。服務器
對於數倉的建設人員,面臨的挑戰是業務人員但願數倉建設週期能更短。而傳統數據倉庫每每要面臨從採購服務器,創建物理倉庫到邏輯倉庫等一個較長的週期,因此數據倉庫面臨的第一個挑戰就是怎樣去下降建設週期。網絡
隨着大數據的到來,傳統數據倉庫管理的大可能是結構化數據。如何對半結構化的數據進行統一全面的管理就成爲傳統數據倉庫面臨的第二個挑戰。架構
數據倉庫更增強調管理和安全,在強調安全的狀況下如何在組織裏以及整個生態上下游中更好的共享和交換數據,成爲了新的挑戰。例如在企業的部門間或業務間依然存在爲數很多的數據孤島,數據共享成本高,缺少企業級別的統一的數據獲取出口,由此致使數據消費方獲取數據困難,難於自助分析,嚴重依賴IT部門支持來知足企業更普遍的數據需求。運維
隨着數據處理種類的多樣化和數據量的不斷變大,不一樣的技術被疊加在一塊兒從而使得數據倉庫架構變得愈加複雜。同一企業裏每每會同時存在各類技術類型的數據倉庫。因此如何簡化數據倉庫的架構也是面臨的一個重要挑戰。通常須要投入專業團隊負責管理複雜的數據平臺,同時對資源利用率不高的狀況進行管理和治理。機器學習
業務快速發展的企業,常常會有大促活動,補數據,處理很是規事件的需求,如何快速擴展數倉性能,提升業務峯谷的響應時效,也帶來不少挑戰。oop
對於傳統數據倉庫面臨的這些挑戰,在技術和業務的驅動下新型數據倉庫如何應對呢?這裏能夠看到六個主要的驅動力。性能
第一 咱們但願有一個統一的數據平臺,能去鏈接,去存儲和處理多種數據。
第二 實時化,企業基於數據驅動能實時對業務做出支撐和決策的信息,這裏有更高時效性的要求。
第三 數據量變得很是龐大,在海量數據中如何找到想要的數據,就須要有一張地圖,要對數據進行管理和治理。
第四 傳統數據倉庫中,數據的存儲採用集中的方式,必定要把數據集中在同一個存儲中。而在新的業務驅動下,須要去鏈接數據而不是統一存儲在一塊兒。
第五 數據倉庫之上如何支持更多智能化的應用,信息化的業務以及業務的信息化等關係。這就是數倉智能化和智能化數倉的需求驅動力。
第六 數據領域的不一樣角色對數據平臺有着不一樣需求。例如數據工程師,數據分析人員,數據科學家等,他們對數據平臺的響應時間,處理速度,數據量,開發語言等有着不一樣的需求。因此更多的作好分析服務,成爲數據管理平臺第六個驅動力。
據倉庫在不斷地演進過程當中,從30年前的概念來看已經注入了更多新的內涵。對於新的內涵,咱們能夠從數據倉庫的基礎架構,數據架構,數據分析以及服務模型四個角度來明顯看到雲原生,湖倉一體,離線實時一體化、服務模型的SAAS化的演進趨勢。
雲原生是數倉基礎架構的一個基本的演進方向。傳統數據倉庫是基於物理服務器或雲上託管服務器的模式。而云原生的狀況下能夠更多去應用雲的基礎服務,包括存儲服務,網絡服務以及更多的監控服務。這就意味着在雲上用原生服務能夠得到雲的自服務、彈性等能力,雲數倉就能夠更好的去集成更多的雲上服務,包括如何把日誌數據從各類數據源抽取到數據倉庫中,也包括如何進行全鏈路的數據管理和機器學習等。因此雲原生每每包含了如何構建和如何與雲上服務原生的集成。
如圖,雲原生的狀況下在底層充分利用了雲的彈性計算,存儲以及安全能力。在此之上能夠看到咱們把全部雲的複雜性都屏蔽掉,做爲數據平臺的用戶,只需開通服務,經過web方式建立項目空間,五分鐘開通一個數據倉庫進行數據倉庫後面模型的開發。大大簡化了服務交付的週期以及數據倉庫整個底層架構,技術架構構建過程。另外一方面是雲原生數倉的擴展性,無論你提交了一個只須要1CU的做業仍是提交一個可能須要10000CU的做業,平臺都會按你的須要調度資源來進行數據處理。因此雲原生又給咱們帶來近乎無限的擴展性。
講到湖倉一體,先來看湖倉一體背後的緣由。不得不說到今天爲止數據倉庫仍然是企業管理數據最優的解決方案。各個企業大都有本身的數據倉庫,只不過多是基於不一樣的技術形態構建的數據倉庫。在處理策略,對語義的支持上,對場景的優化上以及工程經驗上,數據倉庫是目前沉澱下來的一個最優的方案。在此之上,企業數據量愈來愈大,須要更靈活更敏捷的數據探索能力。同時,對未知數據存在先存儲下來再進一步探索的訴求。由此,企業在架構上須要融合數據分析的最優化和可探索兩個方面的優點,從處理策略到語義支持,以及使用案例上,數據倉庫和數據湖分別帶給企業不一樣的優點。數據倉庫在易管理,數據質量高,而數據湖在可探索,靈活性強方面爲咱們帶來優點。咱們要思考和討論如何將兩種方式結合起來共用,這就是提出「湖倉一體」的背景。
在MaxCompute以數據倉庫爲主的場景下,將數據倉庫對數據管理的最優工程經驗,管理經驗和數據湖對數據管理的靈活性,數據處理的靈活性更好的結合在一塊兒, 2019年咱們在全球率先提出了「湖倉一體」的全新數據管理架構。基於MaxCompute數據倉庫來提供安全可靠的,結構化的數據管理方式,以及在此之上由DataWorks提供數據血緣,數據地圖和數據治理等能力。這些能力如何延伸到數據湖中?今天咱們可見的數據湖包括基於雲上的對象存儲OSS,也包含企業中基於Hadoop HDFS的數據湖,對於這兩類數據湖如何基於已有的靈活性可以得到更容易探索能力,能提高它們得數據處理性能,管理能力和安全性?
咱們所作的就是把數據倉庫和數據湖二者打通,經過數據湖構建DLF,發現數據湖的元數據,進行結構化的統一管理,融合湖的靈活和便捷優點。這就是以倉爲中心的湖倉一體新型數據管理的架構,數據倉庫在企業數據的管理方式上往前又推動了一步。
在企業的數據倉庫中,經過SLS、Kafka等訂閱的方式進行數據採集,一般有三種路徑。第一種多是將一部分數據歸檔在數據倉庫中,而後進行全量的分析。第二種是進行實時的查詢分析,好比風控場景下查一個電話號碼過去三年的通話記錄,要立刻查出來,就須要進行實時的鏈接分析。第三種是進行一些關聯的多維度查詢,對這些實時數據等進行關聯的基礎上,後面再來進行批量的處理,實時處理以及點查。實時數據的獲取,計算以及應用這三方面,構成了整個數倉由離線向實時發展的三個核心含義。這裏最核心的就是計算。計算的本質無外乎兩個,一個是主動計算,另外一個是被動計算。離線計算每每是被動計算,須要數倉工程師經過定義任務來調度做業,才能計算出新的結果。在實時離線一體化中,除了被動計算,還要有主動計算能力。當數據流入後,不作人工干預,任何做業的插入和重啓都能自動算出新的結果或中間結果。參與實時計算就最大程度的增長了主動計算的過程,而主動的結果帶給咱們的好處就是無需從新調度任何做業就能拿到想要的結果數據。
在離線和實時一體的狀況下雖然能夠解決業務上的一些問題,但架構會很是複雜。因此阿里雲提出離線實時一體化的數倉架構。簡化是說咱們只須要核心的幾個產品,就能夠實現離線和實時一體化的架構。數據源包括了交易數據以及各個服務器生成的人的行爲數據和物的行爲數據,經過日誌服務,按期歸檔到Hologres,以後,實時數倉加上流計算來進行實時計算,而後在下面是全量的數倉,整個完成了主動計算、被動計算和數據的實時獲取。結果數據能夠不用作任何搬遷,直接經過Hologres來作實時分析。將實時的數據獲取,實時的數據計算和實時的數據分析服務三者打通爲一體,架構上作了最大程度的簡化,這就是今天所說的離線實時一體化的雲數據倉庫。
基於數倉基礎架構、數據管理架構、數據分析架構的演進,這些產品的服務是如何被交付的呢?那就是經過SaaS化的方式向客戶來交付數據倉庫,能夠最簡化的去使用數據倉庫的服務。
數據倉庫的構成有幾種方式,第一種是說基於物理服務器自建數據倉庫,這是你們最爲熟悉的方式。第二種是在雲上基於Hadoop,也能夠基於各類MPP的數據庫去構建和搭建半托管的雲上數據倉庫。第三種和第四種就屬於比較深的雲原生的形式,第三種是典型Snowflake的方式,這種方式下雲基礎服務其實並不會暴露給數據倉庫的管理者,因此咱們把它叫作嵌入式的,將IaaS這一層嵌入到PaaS層中,但最終數據倉庫是經過SaaS的徹底web的方式暴露出來的。2021年全球Forrester評測中有13家廠商參與了評估,其中以SaaS模式交付數據倉庫服務的只有三家,分別是谷歌的BigQuery,Snowflake和阿里雲MaxCompute。
能夠看到經過雲計算的數據倉庫服務,從自建到雲原生,幫咱們最大化的下降了數據倉庫的管理複雜度,整個架構少了不少層,無需管理集羣和軟件,經過服務化的方式達到免運維,將底層的全部這些需管理的內容去掉,後臺升級是由雲廠商來提供服務的,只須要管理本身的數據和數據模型,經過web方式來使用數據倉庫服務。在數據倉庫裏存儲的數據與雲存儲同樣,按存儲量付費。計算也是同樣的,不計算不花錢。充分體現了SaaS化的優點。同時,在匹配業務需求上具有很是強的彈性能力,咱們有不少客戶平常只須要一萬核的算力,在雙十一當天須要三萬核的算力。在這種SaaS模式的服務下,用戶在徹底無感知的狀況下咱們就能夠保證充沛的彈性能力去知足數據倉庫的各類工做需求了。
綜上,數據倉庫從1990年的數據庫演進到數據倉庫,到MPP架構,到大數據時代的數據倉庫,再到今天的雲原生的數據倉庫的一路演進,基礎架構的雲原生,數據架構的湖倉一體,數據分析的離線實時一體化以及數倉服務模式的SaaS化,是最爲主要的四個演進的方向和特徵。 阿里雲正在經過全新數據倉庫架構給企業帶來具有更優體驗的數據管理的方式。
本文爲阿里雲原創內容,未經容許不得轉載。