數倉的基本知識及概念

2021-10-08 12:22:43 字數 3021 閱讀 2150

四特點:面向主題,整合的,相對穩定,保留歷史

事務性資料:業務系統,交易流水,登入日誌

決策性資料:主要用於查詢分析

也可以近似認為是oltp(聯機事務處理)和olap(聯機分析處理)的區別

olap多維分析方法:切片、切塊、鑽取、轉軸

cube:多維資料集,按多個維度項不同組合的資料集合

1.確定主題2.確定度量3.確定事實資料粒度4.確定維度5.建立事實表

替代鍵:資料表內不作為主鍵的其他任何非重列都可以是替代鍵

**鍵:自增列或者uid

維度是離散型,統計中的分類資料,區域城市

度量是連續型,溫度餘額

維度分類:緩慢變化維、快速變化維、大維、退化維

維度設計:

a.緩慢變化維解決:1直接覆蓋2增加新行3增加新屬性列

b.維度退化:乙個維度過於簡單而沒有必要為它專門建立乙個維度表,而把他直接體現在事實表中稱作維度退化,比如交易流水中的支付型別

c.雜項維度:將一些只包含有限列舉值的維度揉和到一起,把所以可能的組合情況都列舉出來放到一張維度表稱為雜項維度,比如客戶持有賬戶型別(123類戶的持有情況)

d.維度拆分:水平拆分:多個系統的相似維度做成乙個主維度表,個性的屬性放在子維度表

緩慢變化維的拉鍊表實現:

拉鍊表a和update增量表b,先把a和b交集處理吧end_date=current_date封鏈處理,再把b表insert,把end_date=29991231處理

緩慢變化維的拉鍊表應用:

資料量大,緩慢變化

緩慢變化維的拉鍊表效能優化:

1.在start_date和end_date上做索引2.保留部分歷史

粒度事實表(某個時點的瞬間測量)、週期快照表(某段時間的測量)、聚合快照表(有明確開始和結束的過程,隨業務處理的過程中逐步完善該錶記錄)、非事實事實表

正規化化 (時間換空間) vs 反正規化化(空間換時間)

1nf要求屬性具有原子性,即列不可再分解

如學生(學號,姓名,性別,出生年月日)

有些鋼筋可能要問了,姓名可以拆成姓、名兩列, 「出生年月日」 也可以拆成年、月、日三個字段。所以就不滿足第一正規化了!!!這裡再強調一下原子性,原子性是根據使用方便來自定義的最小單位。中國人一般姓名一起用,美國就習慣姓名分別存兩字段

2nf要求記錄有惟一標識,即不存在部分依賴;

表:學號、課程號、姓名、學分;

這個表明顯說明了兩個事務:學生資訊, 課程資訊;由於非主鍵字段必須依賴主鍵,這裡學分依賴課程號,姓名依賴與學號,所以不符合二正規化。

正確做法: 

學生:student(學號, 姓名); 

課程:course(課程號, 學分); 

選課關係:studentcourse(學號, 課程號, 成績)。

3nf是對字段的冗餘性,要求任何字段不能由其他字段派生出來,它要求字段沒有冗餘,即不存在傳遞依賴

表: 學號, 姓名, 年齡, 學院名稱, 學院**

因為存在依賴傳遞: (學號) → (學生)→(所在學院) → (學院**) 。

正確做法:

學生:(學號, 姓名, 年齡, 所在學院);

學院:(學院, **)。

貼源層:

將各個源系統的業務資料載入成結構化資料,基本不對資料內容做任何處理

清洗層:

對貼源層資料做脫敏,去重,加密,異常值處理,欄位名,日期格式,金額單位等規範化,增量資料merge

中間明細層:

對相同粒度的不同明細資料合併,或者輕度彙總,建立後續分析用的公共明細表,在這一步中不一定堅持三正規化原則,可能會反正規化增加冗餘。

資料集市:

按照各種維度或者多個組合維度彙總,一般都是一些大寬表,根據業務主題劃分,集市這塊可能又會拆分為彙總指標和標籤,指標類似某某時間段的交易總額,某某時間段的pv,uv總之是乙個週期內的度量。標籤一般就定義為類似碼值,列舉,極值等

應用層:

一般就認為是介面,按照業務特定需求制定的報表,可復用性低

報表:指標平台:關鍵產品

數倉分層的作用:1減少重複開發2便於開發理解3複雜問題拆分,某一上游出現問題時下游改動量少

目前集市的最終客戶大寬表的全量客戶有1.3億,每日增量在2~5萬,每個分割槽25個g,欄位超350個

元資料:

一般區分為業務元資料和技術元資料

業務元資料:欄位碼值

技術元資料:表結構資訊,血緣依賴

管理元資料:人員角色、崗位職責、管理流程等資訊

安全元資料:安全、許可權控制、分級管理、隱私控制、流程約束

e-r模型

基本的3個要素:實體、屬性、關係

典型代表:teradata的金融業務模型fs-ldm

維度模型

星型模型

當所有維表都直接連線到「 事實表」上時,整個**就像星星一樣,故將該模型稱為星型模型

雪花模型

當有乙個或多個維表沒有直接連線到事實表上,而是通過其他維表連線到事實表上時,其**就像多個雪花連線在一起,故稱雪花模型,更符合正規化規範減少冗餘

星座模型

星座模型(fact constellations schema)也是星型模型的擴充套件,存在多個事實表且可共用同乙個維表

星型模型相比雪花模型,冗餘更多,但是由於雪花模型各個表之間的關聯更多,所以效能較低

陣列的基本知識概念

為什麼需要使用陣列?當遇到很多變數時,乙個個定義太繁瑣,不利於資料的處理。陣列的定義 陣列是乙個變數,儲存相同資料型別的一組資料。在定義陣列之前,要了解到陣列的基本要素 識別符號 陣列元素 元素下標 從0開始 元素型別 元素下標從零開始並不是絕對的 int 型別的陣列宣告 分配完沒存空間以後,陣列中...

光學基本知識 概念辨析

光學主要研究的四個問題和一些基本原理 1.光的發射 基爾霍夫定律,也叫作熱輻射定律,它用於描述物體的發射率與吸收比之間的關係。在同樣的溫度下,各種不同物體對相同波長的單色輻射出射度與單色吸收比之比值都相等,並等於該溫度下黑體對同一波長的單色輻射出射度。蒲朗克量子假設,是蒲朗克在解決黑體輻射現象的時候...

Audio CODEC 基本知識及應用

一 dac 部分 dac 部分的框圖 數字音訊介面 1 i2s 介面 i2s inter ic sound bus 是飛利浦公司為數字音訊裝置之間的音訊資料傳輸而制定的一種匯流排標準。在飛利浦公司的i2s 標準中,既規定了硬體介面規範,也規定了數字音訊資料的格式。i2s 有3 個主要訊號 資料是2 ...