零基礎怎麼學習數據倉庫?

數據倉庫由來已久,IT界的各位大佬們想必對這個詞彙應該並不感到陌生。對於數倉圈外的人來說,可能接觸過或者聽別人提及過數倉,但是對它並沒有一個非常明確清晰的認識。一些朋友可能想要學習或者轉職成爲數倉大軍中的一員,但是並不知道學習數倉如何開始,心中充滿顧慮。那麼,下面就讓我們一起去揭開數倉的神祕面紗,看看如何開啓數倉學習之旅。

一、數據倉庫崗位

在數倉這個領域大概有這麼幾類崗位:

1)架構師

做整個數倉項目頂層架構設計的人,包括制定數倉實施方案、規劃實施路線、工具選型等,需要具有專業的理論知識和行業經驗,就是要既懂技術又懂業務。

2)建模工程師

對技術基礎,熟悉數倉的幾種建模理論,掌握一些數倉建模工具,同時也對業務有一定理解的人,通常的工作就是分析業務、分析需求,創建各類滿足需求的數倉模型。

3)ETL開發工程師

使用ETL工具或者SQL、存儲過程等完成數據處理,給數倉模型填充各類處理好的數據。這個崗位對數據庫開發技術有較高的要求,需要懂SQL開發或者ETL工具。

4)BI工程師

使用數倉工程師提供的模型進行數據類應用設計,最常見的比如使用報表工具設計前臺報表。

當然,在有些公司裏面,一些崗位職責並沒有分的那麼明確,比如建模工程師和ETL工程師的活可能一個人都要幹。從這些崗位工作內容來看,我們看到了數倉的主要工作內容,就是建模和ETL。那麼,下面我們就來具體看一下數倉到底是什麼樣子的。

二、認識數倉

1)數倉的歷史

我們首先簡單看下數倉的歷史由來。在IT行業剛開始起步時,企業中最先考慮的是建設各類應用系統來滿足業務開展,這個時候需要一種專門的工具來存儲業務數據,由此就展開了關於業務數據如何存儲的理論研究和實踐,最終關係型數據庫系統誕生,範式模型也成爲了業務系統的主要數據存儲模型。後來,企業逐漸有了數據分析的需求,雖然業務系統的範式模型也能滿足一部分的分析需求,但是存在很多的缺陷,比如表關聯複雜、查詢效率低、一些需求需要跨系統取數等等,於是人們轉而尋找更合適的數據模型來滿足分析型應用的需求,在研究發展過程中,數倉的概念就誕生了。

那麼我們先看一下數倉是什麼?

2)數倉的構成

數倉是什麼呢?從字面上來看,其實就是存放數據的倉庫,這些數據怎麼存,存什麼樣的格式,怎麼取怎麼用,這個就需要一套體系去組織和管理,這整套體系就形成了數倉的一系列理論。那它和數據庫有什麼區別?數據庫負責組織存儲數據,存儲的載體就是我們熟悉的各種數據庫表,它不太管你表是怎麼組織的,有什麼字段,你給他什麼樣的表它就給你存什麼樣。數據倉庫就是使用數據庫來存數據倉庫裏的表模型和數據,可以說,數據倉庫本質上是一種特殊的數據組織形式,是一種特殊的數據庫。

對數倉有個基本的認識後,我們就來看看數倉涉及到哪些理論需要我們去掌握和學習吧!

首先,數倉中的模型如何設計?需要我們掌握建模理論,目前有兩種主流的數倉建模方式,一種是範式建模方法,一種是維度建模方法。在實際項目中,這兩種都有使用,但是維度建模會更多一些,更多的實際情況是兩種建模方式結合使用。數倉建模需要遵循一些基本的設計原則,像一致性維度、一致性事實、總線架構等。學習多維建模,必須理解和掌握的基礎概念還包括各種維度表比如單級維、層級維、緩慢變化維等,各種事實表,事務粒度事實表、週期快照表、累計快照表、度量和指標的概念,各類模型如星型模型、雪花模型等。

通過這些建模方法我們可以建立很多的模型,那麼怎麼管理這些模型呢?這就需要在架構上做分層,通過將不同作用的表放在不同的分層上進行組織和分類,讓數倉中的模型更容易被管理。一般數倉中分層包括ODS層(貼源層)、整合層、彙總層、集市層等,有些企業可能分層會分的更細一些,但是總體分層思路大體是相同的。這裏理論基本在網上都被大家分析的很透徹了,大家可以搜索資料學習。

上面所講的基本是模型層面的一些理論,除了建模,數倉還有個比較重要的工作是就是爲這些模型填充數據,這就要用到ETL了。ETL就是把數據從源系統中抽取出來,通過各種加工和數據處理,從而形成我們模型所需的數據灌到模型表中。做ETL需要掌握一些技術知識,比如數據庫基本概念、SQL、ETL工具、操作系統相關知識等。

數倉建設過程中需要一些產出文檔,一些比較重要的文檔如數據源分析文檔、需求文檔、模型設計文檔、ETLMAPPING文檔、運維文檔等。

三、總結

最後總結一下,如果想要入門數倉的話,一個學習路線是,學習數倉建模各種理論,不求能深入理解,至少有基本認識,然後加入到實際項目中,結合理論去學習項目中的模型,同時也要加強各種技術能力的學習。

學習數倉建模推薦一本經典書籍,Kimball的《數據倉庫工具箱:維度建模權威指南》,這是講維度建模的,學習完這本書,基本就可以去項目上實踐了。想學習範式建模的話,可以去找找成熟公司的模型學習,比如TD公司的金融行業模型、電信行業模型等。

另外,學習不是閉門造車,我們需要更多的技術人一起探討交流,可以多關注一些技術微博、微信公衆號,加入一些學習羣組,多閱讀一些書籍等。最後放張圖,方便大家整理規劃自己的學習路線。

關於數據倉庫,目前有能力的公司都是自己開發調度工具,具體採用哪種工具,可以根據自己公司的本身現狀去做定奪。億信華辰數據工廠(EsDataFactory)作爲專業的數據處理應用平臺,能提供智能高效的數據處理服務,夯實企業數倉。數據倉庫建設是一個綜合性技術,而且當企業業務複雜的時候,這部分工作更是需要專門團隊與業務方共同合作來完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章