1. 程式人生 > >資料倉庫-事實表/維度表技術-讀書筆記三

資料倉庫-事實表/維度表技術-讀書筆記三

資料倉庫技術

事實表技術簡述

事實表結構 1,總是包含外來鍵,且外來鍵不能唯空。 2,事實表的設計完全依賴業務活動,不受最終報表的影響。 3,每行對應一個度量事件。

可加、半可加、半可加事實 1,可加事實:最靈活,最有用的事實。可以按照和事實表關聯的任意維度彙總。 2,半可加事實:可以按照某些維度彙總。例如差額,或者新增額,對於時間就只能是篩選條件不能用作維度。 3,不可加事實:例如比率。比較好的做法是倉庫中存入完全可加的資料。在最終計算出非可加事實前,將這些資料彙總到最終的結果集合中去。

事實表中的空值 1,事實表中除了外來鍵,其餘的欄位可以存在空值,因為COUNT、SUM等均可對空值事實進行計算。

一致性事實

1,如果不同事實表中的事實技術定義是相同的,應該具有相同命名,如果不同則應該有不同的命名。

事務事實表 1,度量的數字必須與事務粒度保持一致。 2,事務事實表的一行對應空間或者時間上某點的度量事件。原子事務粒度可以確保對事務資料的最大化分片和分塊。

週期快照表 1,每行彙總了發生在某一標準週期,如某天,某周,某月。粒度是週期的。其外來鍵的粒度是均勻的,及時週期內沒有活動發生,也會在事實表中為每個事實插入包含0或者空置的行

累計快照事實表 1,彙總了發生過程的開始和結束之間內的度量事件。都會包含時間外來鍵。

無事實的事實表 1,存放僅僅記錄一系列某一時刻發生的多維實體。例如 某時候、學生、教師、地點、課程等定義良好的外來鍵

聚集事實表 1,針對原子粒度事實表資料進行簡單的數字化上卷操作,目的是為了提高查詢效能。通過對來自多個事實表的度量彙總而獲得的。

合併事實表 1,將來自多個過程的,以相同粒度表示的事實合併為一個單一的合併事實表,這樣能夠帶來方便。合併會增加ETL處理過程的負擔,但是降低了BI應用分析的代價。合併事實表特別適合哪些需要共同分析的多過程度量。

維度表技術簡述

維度表結構 1,每個維度表都包含單一的主鍵列。 2,維度表的主鍵可以作為與之關聯的任何事實表的外來鍵。 3,維度表通常比較寬,是扁平型非規範表,包含大量的低粒度的文字屬性。

維度代理鍵 1,DW/BI需要申明對所有的維度的主鍵的空置,無法採用自然鍵或者附加日期的自然鍵。最好是建立無語意的整型主鍵。

自然鍵、持久鍵、超自然鍵 1,自然鍵,如員工編號。 2,持久鍵:資料倉庫為員工編號建立一個單一鍵,這個單一鍵保持永久性不會發生變化。有時也被叫做超自然持久鍵。 3,最後的持久鍵應該獨立於原始的業務過程。

下鑽 1,下鑽是商業使用者分析資料的最基本的辦法。GROUP BY ***

退化維度 1,維度除了主鍵外沒有其他任何內容。常見於交易和累計快照事實表中。

非規範化扁平維度 1,能夠實現維度建模的雙重目標:簡化以及速度

多層次維度 1,同一維度中劃分多個層次,例如:日曆日期的 中的日,周,月,季度,年; 位置維度多個地理層次中 洲,國家。

文件屬性的標識與指示器 1,操作程式碼值所包含的意義應該分解成不同的表示不同描述性維度屬性的部分。例如 code=0,code_desc=關閉。

維度表中的空值屬性 1,推薦使用描述性字串代替空置。例如:未知,Unknown。應該避免在維度屬性中使用空值。

日曆日期維度 1,能夠非常方便的對事實表 按照屬性的 日期,月份,財務進行劃分,後面會章節會貼出實際工作中日曆日期維度的維度表。

扮演角色的維度 1,不同的維度檢視,即維度表中的列名被成為角色

雜項維度 1,一些列混雜,低粒度的標識和指示器,單獨將這些不同的維度合併到一起形成雜項維度。

雪花維度 1,包含多重維度表層次,建立的多層次結構被成為雪花模式。 2,這種維度可以很精確表示層次化的資料,但是會給使用者帶來理解上的困難,也會影響查詢效能,不建議使用。

支架維度 1,維度表中包含對其他維度表的引用。被引用的維度稱為支架維度。但是儘量少用。 2,多數情況下,事實表和維度之間的關聯應該由事實表來實現。

歷史文章

參考資料

資料倉庫工具箱

如果您覺得我用心了,覺得您有所收穫,麻煩關注下我吧,您的關注就是我的動力,因為我不是一個人在前行。

資料僧