專屬客服18376668806 在線咨詢 留言/需求提交

少壯不努力,長大學設計。



哈嘍艾瑞巴蒂~EVENING!

今天是12月14日

又是看似尋常的一天

但是作為不甘寂寞的情侶們

這些能撒狗糧就灑狗糧

不能撒狗糧創造條件也要撒狗糧的小婊子們

竟然把今天搞成什么“擁抱情人節”

想和你的情人抱多久都可以

作為一名資深單身猴

我還是默默學習爭取在智商上碾壓那些渣渣們!!




數據倉庫

Data Warehouse(簡稱DW)

數據倉庫是一個過程而不是一個項目。

引用


前幾次俺老孫跟大家闡述了數據倉庫是什么,在計算機發展的早期,人們已經提出了建立數據倉庫的構想。“數據倉庫”一詞最早是在1900年,由Bill Inmon先生提出的,其描述如下:數據倉庫是為支持企業決策而特別設計和建立的數據集合。


對于一個企業來說,最重要的就是數據,現有的數據存儲形式已經不能滿足信息分析的需要,因此我們就需要建立數據倉庫來處理企業的事務性數據和決策支持型數據。

今天我們主要來看看數據模型的設計和建立方法。

關鍵詞:數據模型

數據模型是抽象描述現實世界的一種工具和方法,是通過抽象的實體及實體之間聯系的形式,來表示現實世界中事務的相互關系的一種映射。在這里,數據模型表現的抽象的是實體和實體之間的關系,通過對實體和實體之間關系的定義和描述,來表達實際的業務中具體的業務關系。

數據倉庫模型是數據模型中針對特定的數據倉庫應用系統的一種特定的數據模型,一般的來說,我們數據倉庫模型分為幾下幾個層次,如圖所示。



數據倉庫模型


通過上面的圖形,我們能夠很容易的看出在整個數據倉庫得建模過程中,我們需要經歷一般四個過程:


  • 業務建模,生成業務模型,主要解決業務層面的分解和程序化。

  • 領域建模,生成領域模型,主要是對業務模型進行抽象處理,生成領域概念模型。

  • 邏輯建模,生成邏輯模型,主要是將領域模型的概念實體以及實體之間的關系進行數據庫層次的邏輯化。

  • 物理建模,生成物理模型,主要解決,邏輯模型針對不同關系型數據庫的物理化以及性能等一些具體的技術問題。


因此,在整個數據倉庫的模型的設計和架構中,既涉及到業務知識,也涉及到了具體的技術,我們既需要了解豐富的行業經驗,同時,也需要一定的信息技術來幫助我們實現我們的數據模型,最重要的是,我們還需要一個非常適用的方法論,來指導我們自己針對我們的業務進行抽象,處理,生成各個階段的模型。

解答:為什么需要數據模型

在數據倉庫的建設中,我們一再強調需要數據模型,那么數據模型究竟為什么這么重要呢?首先我們需要了解整個數據倉庫的建設的發展史。

數據倉庫的發展大致經歷了這樣的三個過程:


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

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

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



通過數據倉庫建設的發展階段,我們能夠看出,數據倉庫的建設和數據集市的建設的重要區別就在于數據模型的支持。因此,數據模型的建設,對于我們數據倉庫的建設,有著決定性的意義。

一般來說,數據模型的建設主要能夠幫助我們解決以下的一些問題:


  • 進行全面的業務梳理,改進業務流程。在業務模型建設的階段,能夠幫助我們的企業或者是管理機關對本單位的業務進行全面的梳理。通過業務模型的建設,我們應該能夠全面了解該單位的業務架構圖和整個業務的運行情況,能夠將業務按照特定的規律進行分門別類和程序化,同時,幫助我們進一步的改進業務的流程,提高業務效率,指導我們的業務部門的生產。

  • 建立全方位的數據視角,消滅信息孤島和數據差異。通過數據倉庫的模型建設,能夠為企業提供一個整體的數據視角,不再是各個部門只是關注自己的數據,而且通過模型的建設,勾勒出了部門之間內在的聯系,幫助消滅各個部門之間的信息孤島的問題,更為重要的是,通過數據模型的建設,能夠保證整個企業的數據的一致性,各個部門之間數據的差異將會得到有效解決。

  • 解決業務的變動和數據倉庫的靈活性。通過數據模型的建設,能夠很好的分離出底層技術的實現和上層業務的展現。當上層業務發生變化時,通過數據模型,底層的技術實現可以非常輕松的完成業務的變動,從而達到整個數據倉庫系統的靈活性。

  • 幫助數據倉庫系統本身的建設。通過數據倉庫的模型建設,開發人員和業務人員能夠很容易的達成系統建設范圍的界定,以及長期目標的規劃,從而能夠使整個項目組明確當前的任務,加快整個系統建設的速度。


綜上所看,數據建模對數據倉庫建設的意義非常重要

其也有自身的一套方法論和原則,他的模型設計遵循“自頂向下、逐步求精”的設計原則。

一般來說模型設計分為三個階段:

1

概念模型

對業務的范圍和使用,從高度上進行抽象概括,也就是劃分主題域。

一般劃分為8個主題域:

客戶、服務、服務使用、賬務、結算、資源、客服、營銷


Q

為什么要劃分主題域?

劃分主題域,是根據業務的應用和需要來劃分的,是用來達到數據與業務緊耦合的目的。

2

邏輯模型

對概念模型中的主題進行細化,定義實體與實體之間的關系,和實體的屬性。

即定義具體表的作用,表與表的約束,表的字段。形成ER圖。

這些實體的設計都是基于業務規則,可以說,這一階段主要面對的是業務。也就是“業務驅動建模”。




3

物理模型

依照邏輯模型,在數據庫中進行建表、索引等。數據倉庫,為了滿足高性能的需求,可以增加冗余、隱藏表之間的約束等反第三范式操作。

這一階段,主要針對的是數據庫、硬件、性能。


范式:

第一范式:數據庫表的字段都是單一屬性,不可再分。

第二范式:數據庫表中不存在非關鍵字段對任一候選關鍵字段的部分函數依賴。

(部分函數依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的情況)。即要求所有屬性都依賴于主鍵。

第三范式:數據庫表中不存在非關鍵字段對任一候選關鍵字段的傳遞函數依賴。

范式是向下兼容的。

例如:

學生ID

學生名稱

學生部門

課程ID

課程名稱

成績

60100

張三

教育學院,心理系,1班

English_1

英語1

80

1)違反第一范式。因為:學生部門可以分解為:學院,系,班級

2)違反第二范式。因為:關鍵字段是學生ID和課程ID, 但存在“課程ID”決定課程名稱和課程學分。

3)違反第三范式。因為:關鍵字段是學生ID,但存在可能名稱和學分依賴“課程ID”。



下面我們來看這樣方法論建出來的幾個基本模型


星型模型和雪花模型

首先,他們都是由一個事實表和一組維度表組成。

星型模型,也被稱為維度建模。

區別在于:


星型模型:維度表直接跟事實表連接,圖型像星星。

如區縣和地市做為同一維度都在地市表中。

*維度預處理,維度會預先進行分類,排序等預處理。


雪花模型:一些維度表不是直接與事實表連接,而是通過維度表中轉,圖形像雪花。

例如:

星型模型


雪花模型


從性能來看,星型模型查詢性能好。

為了提高性能,可以允許違反第三范式,適當的冗余、隱藏表之間的約束。



維度建模

將商業維度融合到數據模型中,由此得名維度建模。

或者說,為了分析方便(商業應用要求),將同一維度的不同層次的維度(如地市ID,區縣ID)都融合到事實表中(如用戶寬表)。

維度模型也是星型模型。

它強調的是先對維度進行預處理,將多個維度集合到一個事實表,形成一個寬表,如上面的用戶統一視圖。包含了20多個維度。這樣可以組合各維度,形成靈活的報表查詢。




分層設計原則

電信行業的數據倉庫都采用了分層設計原則。

總的來說,分三層:接口層、中間匯總層和應用層。


應用層

數據集市

地市數據集市、數據挖掘

應用層

KPI報表、cagnos、主題分析、指標庫


中間層

深度匯總層

信息聚合:用戶統一視圖、3G用戶統一視圖、固話用戶統一視圖

業務拓展:用戶行為、增值業務、集團業務、國際業務



輕度匯總層

清單匯總、用戶屬性聚合、費用匯總、集團客戶匯總等


接口層

存儲層

接口備份、增量轉全量、減少I/O(分常用數據和歷史數據)

接口層

日接口、月接口、增量接口、全量接口



特別強調的是:

中間層是數據倉庫最重要的一層。直接決定了數據倉庫的性能。

一般的做法是:

1)數據匯總。將底層數據按維度進行小顆粒度匯總

2)信息聚合。將多張表的信息聚合在一個表中。這樣的好處,是避免使用表關聯,提高查詢性能。


主題域設計方法

如果說分層設計,是橫向的設計原則,那么主題分域是縱向的處理方法。

具體做法就是從業務上,高度的抽象和歸納,將數據劃分為不同的主題域。

分域后的好處:業務緊耦合、便于數據拓展、便于使用。

域是要具有明顯的表命名規則,如:

用戶信息域—— user

通信行為—— call

數據業務—— gprs

賬務 —— bill

客戶服務—— serv


xx經分系統的數據架構圖


今天講完基本的定義和方法原則

大家消化消化

明天我們繼續講講怎么建立吧~

晚安哦~


如果睡不著的話,俺老孫給大家分享一個視頻

大家點閱讀原文看一看咯






99久久香蕉国产线看观看