數倉dw怎麼建 從0到1建設資料倉儲 數倉基礎篇

2021-10-13 14:27:23 字數 3939 閱讀 8155

資料倉儲建設主題是系列篇,目的是帶大家從了解資料倉儲的基礎知識開始,循序漸進,學會資料倉儲的建設,本篇是數倉建設的第一篇,主要講講資料倉儲的基礎知識。

01、什麼是資料倉儲

資料倉儲,英文名稱為datawarehouse,可簡寫為dw或dwh。資料倉儲,是為企業所有級別的決策制定過程,提供所有型別資料支援的戰略集合。它出於分析性報告和決策支援目的而建立。為需要業務智慧型的企業,提供指導業務流程改進、監視時間、成本、質量以及控制。

02、資料倉儲的特點

面向主題性

傳統資料庫面向應用進行資料組織的特點相對應,資料倉儲中的資料是面向主題進行組織的。面向主題的資料組織方式,就是在較高層次上對分析物件的資料的乙個完整、一致的描述,能完整、統一地刻劃各個分析物件所涉及的企業的各項資料,以及資料之間的聯絡。

整合性資料倉儲的資料是從原有的分散的資料庫資料抽取來的。操作型資料與dss分析型資料之間差別甚大。資料進入資料倉儲之前,必然要經過統一與綜合,這一步是資料倉儲建設中最關鍵、最複雜的一步,所要完成的工作有:

(1)要統一源資料中所有矛盾之處,如字段的同名異義、異名同義、單位不統

一、字長不一致,等等。

(2)進行資料綜合和計算。資料倉儲中的資料綜合工作可以在從原有資料庫抽取資料時生成,但許多是在資料倉儲內部生成的,即進入資料倉儲以後進行綜合生成的。

不可更新性:

資料倉儲的資料主要供企業決策分析之用,所涉及的資料操作主要是資料查詢,一般情況下並不進行修改操作。資料倉儲的資料反映的是一段相當長的時間內歷史資料的內容,是不同時點的資料庫快照的集合,以及基於這些快照進行統計、綜合和重組的匯出資料,而不是聯機處理的資料。資料庫中進行聯機處理的資料經過整合輸入到資料倉儲中,一旦資料倉儲存放的資料已經超過資料倉儲的資料儲存期限,這些資料將從當前的資料倉儲中刪去。因為資料倉儲只進行資料查詢操作,所以資料倉儲管理系統相比資料庫管理系統而言要簡單得多。資料庫管理系統中許多技術難點,如完整性保護、併發控制等等,在資料倉儲的管理中幾乎可以省去。但是由於資料倉儲的查詢資料量往往很大,所以就對資料查詢提出了更高的要求,它要求採用各種複雜的索引技術;同時由於資料倉儲面向的是商業企業的高層管理者,他們會對資料查詢的介面友好性和資料表示提出更高的要求。

不斷變化性:

資料倉儲隨時間變化不斷增加新的資料內容。資料倉儲系統必須不斷捕捉oltp資料庫中變化的資料,追加到資料倉儲中去,也就是要不斷地生成oltp資料庫的快照,經統一整合後增加到資料倉儲中去;但對於確實不再變化的資料庫快照,如果捕捉到新的變化資料,則只生成乙個新的資料庫快照增加進去,而不會對原有的資料庫快照進行修改。

資料倉儲隨時間變化不斷刪去舊的資料內容。資料倉儲的資料也有儲存期限,一旦超過了這一期限,過期資料就要被刪除。只是資料倉儲內的資料時限要遠遠長於操作型環境中的資料時限。在操作型環境中一般只儲存有60-90天的資料,而在資料倉儲中則需要儲存較長時限的資料(如5~10年),以適應dss進行趨勢分析的要求。

資料倉儲中包含有大量的綜合資料,這些綜合資料中很多跟時間有關,如資料經常按照時間段進行綜合,或隔一定的時間片進行抽樣等等。這些資料要隨著時間的變化不斷地進行重新綜合。因此,資料倉儲的資料特徵都包含時間項,以標明資料的歷史時期。

03、資料倉儲發展史

資料倉儲的發展大致經歷了這樣的三個過程:

簡單報表階段

這個階段,系統的主要目標是解決一些日常的工作中業務人員需要的報表,以及生成一些簡單的能夠幫助領導進行決策所需要的彙總資料。這個階段的大部分表現形式為資料庫和前端報表工具。

資料集市階段

這個階段,主要是根據某個業務部門的需要,進行一定的資料的採集,整理,按照業務人員的需要,進行多維報表的展現,能夠提供對特定業務指導的資料,並且能夠提供特定的領導決策資料。

資料倉儲階段

這個階段,主要是按照一定的資料模型,對整個企業的資料進行採集,整理,並且能夠按照各個業務部門的需要,提供跨部門的,完全一致的業務報表資料,能夠通過資料倉儲生成對對業務具有指導性的資料,同時,為領導決策提供全面的資料支援。

通過資料倉儲建設的發展階段能夠看出,資料倉儲的建設和資料集市的建設的重要區別就在於資料模型的支援。

04、資料倉儲架構分層

資料倉儲的分層設計是一種邏輯上的劃分,目的是為了方便管理。不同的公司有不同的劃分方法,通常一般設計為3+1層。

ods層

資料運營層是最接近資料來源中資料的一層,資料來源中的資料經過抽取、轉換、傳輸之後裝入本層。本層的資料,總體上大多是按照源頭業務系統的分類方式而分類的。

一般來講,為了考慮後續可能需要追溯資料問題,因此對於這一層就不建議做過多的資料清洗工作,原封不動地接入原始資料即可,至於資料的去噪、去重、異常值處理等過程可以放在後面的dwd層來做。

dw層資料公共層,是數倉建設的重點,一般是日誌子表和一些寬表,主要完成資料的清洗、轉換等。一般又可以分為dwd層、dwm層、dws層。

資料明細層dwd(data warehouse detail):該層一般保持和ods層一樣的資料粒度,並且提供給一定的資料質量保證。

資料中間層dwm(data warehouse middle):該層會在dwd層的資料基礎上,對資料做輕度的聚合操作,生成一系列的中間表,提公升公共指標的復用性,減少重複加工。

資料服務層dws(data warehouse service):該層又稱為資料集市,按照主題劃分,如流量、訂單、使用者等主題表,用於提供後續的業務查詢、olap分析、資料分發等。一般來講,該層的資料表會相對比較少,一張表會涵蓋比較多的業務內容,由於其字段較多,因此一般也會稱該層的表為寬表。

在實際計算中,如果直接從dwd層或者ods層計算出寬表的統計指標,會存在計算量太大並且維度太少的問題,因此一般的做法是,在dwm層先計算出多個小的中間表,然後再拼接成一張dws層的寬表。由於寬和窄的界限不易界定,也可以去掉dwm這一層,只留dws層,將所有的資料在放在dws層亦可。

資料應用層,主要是提供給資料產品和資料分析、資料探勘使用的資料。比如我們經常說的報表資料,一般就放在這裡。

維表層維表是」3+1」的"1"。主要包含以下兩部分資料。

高基數維度資料:一般是使用者資料表、商品資料表類似的資料表。資料量可能是千萬級或者上億級別。

低基數維度資料:一般是配置表,比如列舉值對應的中文含義,或者日期維表。資料量可能是個位數或者幾千幾萬。

05、資料倉儲表命名規範

俗話說無規矩不成方圓。我們在搭建資料平台的時候,需要先制定好各種規範,越早越好,並且不斷的監督大家是否按照約定執行。一旦大家自由發揮,想要再次統一或者重構就非常的困難,會浪費很大的人力成本和時間成本,因此在這裡總結一下資料倉儲的表命名規範。一般來說表名需要見名知意,通過表名就可以知道它是哪個業務域,幹嘛用的,什麼粒度的資料。特殊用途的表有一些特殊的命名法則。

1、常規表

常規表是我們需要固化的表,是正式使用的表,是需要去維護去完善的表。

規範:分層字首[ods|dwd|dws|ads]-業務域-主題域-***-粒度。

業務域、主題域我們都可以用詞根的方式列舉清楚,不斷完善,粒度也是同樣的,主要的是時間粒度、日、月、年、周等,使用詞根定義好簡稱。

2、臨時表

臨時表是不需要固化的表,是臨時使用一次的表,就是暫時儲存下資料看看,後續一般不再使用,是可以隨時刪除的表。

規範:tmp-***

只要加上tmp開頭即可,其他名字隨意,注意tmp開頭的表不要用來實際使用,只是測試驗證而已。

3、維表

維表是穩定不變或者變化非常緩慢的表,例如銷售渠道維表、商品維表等,可以從資料中自動生成也可以手工來維護。

規範:dim-***

維表,統一以dim開頭,後面加上,對該指標的描述,可以自由發揮。

4、手工表

手工表是手工維護的表,手工初始化一次之後,一般不會自動改變,後面變更也是手工來維護。一般來說,手工的資料粒度是偏細的,所以,暫時統一放在dwd層,後面如果有目標值或者其他型別手工資料,再根據實際情況分層。

規範:dwd-業務域-manual-***

名稱中的manual表示這是手工維護表。

今天的內容就到這兒啦,平安夜祝你們都能收到又大又紅又好吃的平安果。(我一大早剛到公司門口,迎面就走來乙個超級美的小姐姐,微笑著遞給我乙個平安果,正當我害羞的低下頭想說謝謝時,她微笑著走向了我後面的小哥哥。。。

數倉dw怎麼建 什麼是資料倉儲?如何構建資料倉儲?

1.什麼是資料倉儲?在wiki中對資料倉儲的解釋是 在計算中,資料倉儲 dw或dwh 也稱為企業資料倉儲 edw 是用於報告和資料分析的系統,被認為是商業智慧型的核心組成部分 dw是來自乙個或多個不同 的整合資料的 儲存庫。他們將當前和歷史資料儲存在乙個地方,用於為整個企業的工人建立分析報告。倉庫中...

從0 1建設數倉遇到什麼問題?怎麼解決的?

一 複雜業務梳理 數倉建設初期,需要了解各種業務,有些業務比較複雜,對資料開發人員的要求比較高,這個時候,需要和業務開發多交流溝通,可以看看他們的詳細設計文件,er圖和時序圖,多方位去了解,最終落成文件共享 二 技術選型困難 技術選型也是需要在數倉建設前就需要考慮的,從資料抽取同步到資料處理再入供需...

(廢棄)大資料數倉從入門到精通

業務建模 需求分析 領域建模 設計部分的概要設計 邏輯建模 設計部分的詳情設計 表名 字段 欄位的型別 關聯關係 建模工具是pd powerdesigner 物理建模 編碼階段,具體的實施。書寫建庫,建表語句 2.資料倉儲分層 ods層 dwd層 dws層 dm層 事實表 用於記錄事實上產生資料的表...