資料倉儲的模型設計

2021-07-16 03:10:42 字數 2283 閱讀 8499

a. 資料建模方**

資料倉儲模型設計遵循「自頂向下、逐步求精」的設計原則。

模型設計分為三個階段:

1,概念模型

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

一般劃分為8個主題域:

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

為什麼要劃分主題域?

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

2,邏輯模型

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

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

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

3,物理模型

依照邏輯模型,在資料庫中進行建表、索引等。資料倉儲,為了滿足高效能的需求,可以增加冗餘、隱藏表之間的約束等反第三正規化操作。

這一階段,主要針對的是資料庫、硬體、效能。

正規化:第一正規化:資料庫表的字段都是單一屬性,不可再分。

第二正規化:資料庫表中不存在非關鍵字段對任一候選關鍵字段的部分函式依賴。

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

第三正規化:資料庫表中不存在非關鍵字段對任一候選關鍵字段的傳遞函式依賴。

正規化是向下相容的。

例如:學生id

學生名稱

學生部門

課程id

課程名稱

成績60100

張三教育學院,心理系,1班

english_1

英語180

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

2)違反第二正規化。因為:關鍵字段是學生id和課程id, 但存在「課程id」決定課程名稱和課程學分。

3)違反第三正規化。因為:關鍵字段是學生id,但存在可能名稱和學分依賴「課程id」。

星型模型和雪花模型

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

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

區別在於:

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

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

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

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

例如:圖1:星型模型

圖2 雪花模型

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

為了提高效能,可以允許違反第三正規化,適當的冗餘、隱藏表之間的約束。

維度建模

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

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

維度模型也是星型模型。

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

b. 分層設計原則

電信行業的資料倉儲都採用了分層設計原則。

總的來說,分三層:介面層、中間彙總層和應用層。

應用層資料集市

地市資料集市、資料探勘

應用層

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

中間層深度彙總層

資訊聚合:使用者統一檢視、3g使用者統一檢視、固話使用者統一檢視

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

輕度彙總層

清單彙總、使用者屬性聚合、費用彙總、集團客戶彙總等

介面層儲存層

介面備份、增量轉全量、減少i/o(分常用資料和歷史資料)

介面層

日介面、月介面、增量介面、全量介面

特別強調的是:

中間層是資料倉儲最重要的一層。直接決定了資料倉儲的效能。

一般的做法是:

1)資料彙總。將底層資料按維度進行小顆粒度彙總

2)資訊聚合。將多張表的資訊聚合在乙個表中。這樣的好處,是避免使用表關聯,提高查詢效能。

c. 主題域設計方法

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

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

分域後的好處:業務緊耦合、便於資料拓展、便於使用。

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

使用者資訊域—— user

通訊行為—— call

資料業務—— gprs

賬務 —— bill

客戶服務—— serv

xx經分系統的資料架構圖:

資料倉儲應用(一) 資料倉儲模型設計

關聯文章 資料倉儲應用 二 資料抽取 轉換 載入 etl 資料倉儲應用 三 sql server 2005的資料倉儲應用 聯機分析olap 一 問題背景 某電子商務 主要銷售電子類產品,產品又分為幾個大類別,包括 電腦類 手機類 鍵盤類等,每個類別內又細分為幾個小類別,各類別下又有諸多的商品,每乙個...

資料倉儲設計

資料倉儲簡介 有些人不理解資料倉儲,認為資料倉儲就是獲取資料,只要會使用hadoop spark等大資料工具就懂資料倉儲,這樣的認識太片面。如果要從海量資料中總結出乙個報表或者是多個報表,大資料工程師足以 如果在有限的資源動態的資料情況下,向前可歷史追溯,向後對不斷增加的報表實現相容,這就需要一套科...

資料倉儲(六) 資料倉儲的概念設計

在資料集市設計中可以使用3種基本的系統方法 資料驅動的方法 需求驅動的方法和混合方法。它們的區別在於源資料庫分析和終端使用者需求分析階段所佔的比重。方法的選擇將極大地影響概念設計的方式。資料驅動方法包括 基於實體 關係模式的設計 基於關係模式的設計 基於xml模式的設計。概念型實體 關係模式比關係型...