一篇文章帶你快速搞懂數據倉庫的流程

來,我們直接對照這張流程圖用大白話講解:在這裏插入圖片描述

  1. OLTP層
    用來存放原始數據的數據庫,不同的數據可能來自於不同的數據庫。比如CRM系統的數據來自於oracle數據庫,ERP系統的數據來自於mysql數據庫。

    這一層的數據可能是包含不同格式,各種各樣的“髒數據”。比如說CRM系統的數據中,性別是用0,1來區分男女,而ERP系統的性別是用M,F來區分。

    爲了數據質量過關,數據好用,我們就需要對這些數據進行清洗,清洗就要進入到下一層ETL層。

  2. ETL層
    這一層主要的工作是對數據庫中的數據進行提取、轉換,然後裝載到我們的ODS層。

  3. ODS層
    這一層是對數據進行存儲的地方,也可以稱爲數據緩衝層。因爲這一層的數據不會做過多的分析操作,其數據結構基本上是和OLTP層的數據結構保持一致,可以理解爲是從OLTP層copy了一份數據過來。

    區別在於,比如說OLTP層來自不同數據庫的數據中可能性別的表達形式不一致,經過ETL層之後,就會把性別的數據統一起來,統一用0,1表示或者M,F表示。

  4. EDW層
    當我們把髒數據問題全部清洗完畢後,數據就會錄入到EDW層。

    我們常說數據倉庫是面向主題、集成、相對穩定、反映歷史變化的數據集合。這句話怎麼理解呢?

    我們一個一個詞拆開來看:
    面向主題的:打個比方,我們現在有一個糖果廠,生產不同水果口味的糖果。生產完的糖果就要經過包裝才能進入到倉庫,然後按照不同水果口味分門別類(面向主題)的放在倉庫不同的位置上。
    對於數據倉庫也是一樣的理解,按照不同主題數據分別存儲。

    集成的:集成的意思就是OLTP的數據都是來自於不同的數據庫,把不同數據庫裏面的數據經過一系列的加工、整理、彙總後統一拿過來。

    相對穩定的:數據倉庫就用來做查詢操作,做統計分析,不要用來做增刪操作(穩定的)。比方說我們糖果廠的糖果都已經打包好了,你不可能時不時去倉庫拆開包裝來看吧?

    反映歷史變化的:意思是數據倉庫裏面的歷史數據都會存放一段時間,出報表的時候方便做同比環比。

  5. DM層
    數據集市其實可以說是數據倉庫的一部分,大部分的數據其實都是來自於EDW層。也可以看做是小型的部門級別的數據倉庫,根據部門業務的需求,對數據進行定製化。即按照不同的維度和指標進行統計分析(group by、sum等操作)。
    比如說按照地區(維度)去統計員工的收入(指標)情況。

  6. OLAP層
    是數據倉庫的應用層,用來支持決策分析,提供直觀的查詢結果等操作。

  7. 展示
    就是數據可視化的過程,可以是tableau形式展示等。

其實這一整個流程就是一個從後端數據處理到前端展示的過程。

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