本文的內(nèi)容來自數(shù)據(jù)之路
閱讀并記錄一些知識(shí)點(diǎn)和流程
1.為什么需要數(shù)據(jù)建模
數(shù)據(jù)爆發(fā)帶來的挑戰(zhàn):數(shù)據(jù)進(jìn)行有序 有結(jié)構(gòu)地分類組織和存儲(chǔ)
數(shù)據(jù)模型是數(shù)據(jù)組織和存儲(chǔ)方法.它強(qiáng)調(diào)從業(yè)務(wù) 數(shù)據(jù)存取和使用角度合理存儲(chǔ)數(shù)據(jù),在性能 成本 效率和質(zhì)量之間取得平衡
數(shù)據(jù)建模的好處:
性能:良好的數(shù)據(jù)模型能幫助我們快速查詢所需要的數(shù)據(jù),減少數(shù)據(jù)的IO吞吐
成本:良好的數(shù)據(jù)模型能極大地減少不必要的數(shù)據(jù)冗余,也能實(shí)現(xiàn)計(jì)算結(jié)果復(fù)用,極大地降低大數(shù)據(jù)系統(tǒng)中的存儲(chǔ)和計(jì)算成本
效率:良好的數(shù)據(jù)模型能極大地改善用戶使用數(shù)據(jù)的體驗(yàn),提高使用數(shù)據(jù)的效率
質(zhì)量:良好的數(shù)據(jù)模型能改善數(shù)據(jù)統(tǒng)計(jì)口徑的不一致性,減少數(shù)據(jù)計(jì)算錯(cuò)誤的可能性
2.典型數(shù)倉建模方法論
ER模型:面對(duì)企業(yè)業(yè)務(wù)主題的抽象
高層模型:一個(gè)高度抽象的模型,描述主要的主題以及主題間的關(guān)系,用于描述企業(yè)的業(yè)務(wù)總體概況铛绰。
中層模型:在高層模型的基礎(chǔ)上,細(xì)化主題的數(shù)據(jù)項(xiàng)仇味。
物理模型(也叫底層模型):在中層模型的基礎(chǔ)上,考慮物存儲(chǔ),同時(shí)基于性能和平臺(tái)特點(diǎn)進(jìn)行物理屬性的設(shè)計(jì),也可能做一些表的合并寇甸、分區(qū)的設(shè)計(jì)等。
維度模型:從分析決策的需求出發(fā)構(gòu)建模型,為分析需求服務(wù)
選擇需要進(jìn)行決策分析的業(yè)務(wù)
確定粒度
識(shí)別維度
選擇事實(shí)
Data Vault模型
Hub:是企業(yè)的核心業(yè)務(wù)實(shí)體,由實(shí)體key蛇数、數(shù)據(jù)倉庫序列代理鍵、裝載時(shí)間、數(shù)據(jù)來源組成
Link:代表Hub之間的關(guān)系纺酸。這里與ER模型最大的區(qū)別是將關(guān)系作為一個(gè)獨(dú)立的單元抽象,可以提升模型的擴(kuò)展性嘲碱。它可以直接描述1:1, 1:n和n:n的關(guān)系,而不需要做任何變更金砍。它由Hub的代理鍵、裝載時(shí)間麦锯、數(shù)據(jù)來源組成
Satellite:是 Hub的詳細(xì)描述內(nèi)容,一個(gè)Hub可以有多個(gè)Satellite,它由Hub的代理鍵恕稠、裝載時(shí)間、來源類型扶欣、詳細(xì)的Hub描述信息組成
Anchor模型
Anchors:類似于Data Vault的Hub,代表業(yè)務(wù)實(shí)體,且只有主鍵
Attributes:功能類似于Data Vault的Satellite,但是它更加規(guī)范化,將其全部k-v結(jié)構(gòu)化,一個(gè)表只有一個(gè)Anchors的屬性描述
Ties:就是Anchors之間的關(guān)系,單獨(dú)用表來描述,類似于DataVault的Link,可以提升整體模型關(guān)系的擴(kuò)展能力
Knots:代表那些可能會(huì)在多個(gè)Anchors中公用的屬性的提煉,比如性別鹅巍、狀態(tài)等這種枚舉類型且被公用的屬性
3.數(shù)倉體系架構(gòu)
4.模型設(shè)計(jì)
設(shè)計(jì)原則
高聚合與低耦合
將業(yè)務(wù)相近或者相關(guān)千扶、粒度相同的數(shù)據(jù)設(shè)計(jì)為一個(gè)邏輯或者物理模型;將高概率同時(shí)訪問的數(shù)據(jù)放一起,將低概率同時(shí)訪.問的數(shù)據(jù)分開存儲(chǔ)。核心模型與擴(kuò)展模型分離
將業(yè)務(wù)相近或者相關(guān)骆捧、粒度相同的數(shù)據(jù)設(shè)計(jì)為一個(gè)邏輯或者物理模型;將高概率同時(shí)訪問的數(shù)據(jù)放一起,將低概率同時(shí)訪.問的數(shù)據(jù)分開存儲(chǔ)澎羞。公共處理邏輯下沉和單一
越是底層公用的處理邏輯越應(yīng)該在數(shù)據(jù)調(diào)度依賴的底層進(jìn)行封裝與實(shí)現(xiàn),不要讓公用的處理邏輯暴露給應(yīng)用層實(shí)現(xiàn),不要讓公共邏輯多處同時(shí)存在。性能與成本
適當(dāng)數(shù)據(jù)冗余可換取查詢和刷新性能,但是不宜為了性能而數(shù)據(jù)冗余一致性
具有相同含義的字段在不同表中的命名必須相同,必須使用規(guī)范定,義中的名稱敛苇。
實(shí)施流程
問題
1.日志數(shù)據(jù)是不完整的,我是否應(yīng)該對(duì)該數(shù)據(jù)進(jìn)行維度補(bǔ)充
2.一條日志數(shù)據(jù)是單一事實(shí)和多維度屬性/連接了2張以上的維度表,那么我問題是在哪個(gè)流程下確定事實(shí)表的外鍵,以及在etl流程在這個(gè)外鍵應(yīng)該如何補(bǔ)充
3.如何在已有的維度表和事實(shí)表之間添加更多的元素,且不影響原來的關(guān)系
5.維度設(shè)計(jì)
維度是維度建模的基礎(chǔ)和靈魂妆绞。在維度建模中,將度量稱為“事實(shí)",將環(huán)境描述為“維度”,維度是用于分析事實(shí)所需要的多樣環(huán)境。例如,在分析交易過程時(shí),可以通過買家接谨、賣家摆碉、商品和時(shí)間等維度描述交易發(fā)生的環(huán)境
維度所包含的表示維度的列,稱為維度屬性。維度屬性是查詢約束條件脓豪、分組和報(bào)表標(biāo)簽生成的基本來源,是數(shù)據(jù)易用性的關(guān)鍵巷帝。例如,在查詢請(qǐng)求中,獲取某類目的商品、正常狀態(tài)的商品等是通過約束商品類目屬性和商品狀態(tài)屬性來實(shí)現(xiàn)的,統(tǒng)計(jì)淘寶不同商品類目的每日成交金額,是通過商品維度的類目屬性進(jìn)行分組的;我們?cè)趫?bào)表中看到的類目扫夜、BC類型(B指天貓, C指集市)等,都是維度屬性楞泼。所以維度的作用一般是查詢約束、分類匯總以及排序等
維度使用主鍵標(biāo)識(shí)其唯一性,主鍵也是確保與之相連的任何事實(shí)表之間存在引用完整性的基礎(chǔ)笤闯。主鍵有兩種:代理鍵和自然鍵,它們都是用于標(biāo)識(shí)某維度的具體值堕阔。但代理鍵是不具有業(yè)務(wù)含義的鍵,一般用于處理緩慢變化維; 自然鍵是具有業(yè)務(wù)含義的鍵。比如商品,在ETL過程中,對(duì)于商品維表的每一行,可以生成一個(gè)唯一的代理鍵與之對(duì)應(yīng);商品本身的自然鍵可能是商品ID等颗味。其實(shí)對(duì)于前臺(tái)應(yīng)用系統(tǒng)來說,商品ID是代理鍵;而對(duì)于數(shù)據(jù)倉庫系統(tǒng)來說,商品ID則屬于自然鍵
維度設(shè)計(jì)的基本方法
選擇維度或者確定維度.作為維度建模的核心,在企業(yè)級(jí)數(shù)據(jù)倉庫中必須確定維度的唯一性
確定主維度表,ODS層
確定相關(guān)維表.根據(jù)對(duì)業(yè)務(wù)系統(tǒng)表的數(shù)據(jù)確定表之間的關(guān)聯(lián)
確定維度屬性
對(duì)于維度屬性的幾點(diǎn)注意事項(xiàng)
1.盡可能豐富的維度屬性,提供給下游的數(shù)據(jù)分析
2.要包含一些富有意義的文字性描述
3.區(qū)別數(shù)值型維度屬性和事實(shí)
4.盡可能沉淀出通用的維度屬性
這里的主維度表指的是什么?
數(shù)據(jù)倉庫維度表和數(shù)據(jù)庫中的業(yè)務(wù)表之間關(guān)系
6.維度變化
緩慢變化維
數(shù)據(jù)倉庫的重要特點(diǎn)之一是反映歷史變化,所以如何處理維度的變化是維度設(shè)計(jì)的重要工作之一超陆。緩慢變化維的提出是因?yàn)樵诂F(xiàn)實(shí)世界中,維度的屬性并不是靜態(tài)的,它會(huì)隨著時(shí)間的流逝發(fā)生緩慢的變化。與數(shù)據(jù)增長較為快速的事實(shí)表相比,維度變化相對(duì)緩慢
處理緩慢變化維的三種方式
1.重寫維度值,不保留歷史維度值,始終采取最新的數(shù)據(jù)
2.插入新的維度行,保留歷史維度值
3.添加新的維度列,一條數(shù)據(jù)同時(shí)屬于新的和舊的維度
快照維度
在“維度的基本概念”中,介紹了自然鍵和代理鍵的定義,在Kimball的維度建模中,必須使用代理鍵作為每個(gè)維表的主鍵,用于處理緩慢變化維浦马。但是數(shù)據(jù)量大的情況下,生成一個(gè)全局唯一的代理鍵難度很大,并且使用代理鍵會(huì)大大增加etl的難度
數(shù)據(jù)倉庫實(shí)踐中,處理緩慢變化維的方法是采用快照方式时呀。數(shù)據(jù)倉庫的計(jì)算周期一般是每天一次,基于此周期,處理維度變化的方式就是每天保留一份全量快照數(shù)據(jù)。比如商品維度,每天保留一份全量商品快照數(shù)據(jù)晶默。任意一天的事實(shí)均可以獲取到當(dāng)天的商品信息,也可以獲取到最新的商品信息,通過限定日期,采用自然鍵進(jìn)行關(guān)聯(lián)即可谨娜。此方法既有優(yōu)點(diǎn),也有弊端。優(yōu)點(diǎn)是開發(fā)簡單,維護(hù)成本低,理解性好.缺點(diǎn)是儲(chǔ)存成本大
極限存儲(chǔ)
拉鏈表的思想,問題是隨著時(shí)間的推移數(shù)據(jù)會(huì)極大的膨脹,且理解性不是很好,優(yōu)化的方法有透明表的使用 以分月作為拉鏈表
微型維度
微型維度的創(chuàng)建是通過將一部分不穩(wěn)定的屬性從主維度中移出,并將它們放置到擁有自己代理鍵的新表中來實(shí)現(xiàn)的磺陡。這些屬性相互之間沒有直接關(guān)聯(lián),不存在自然鍵趴梢。通過為每個(gè)組合創(chuàng)建新行的一次性過程來加載數(shù)據(jù)。比如淘寶用戶維度,用戶的注冊(cè)日期币他、年齡坞靶、性別、身份信息等
特殊維度(橋接表 多值維度)
怎么選擇合適的維度表建模方法
怎么設(shè)計(jì)出初始的維度表并對(duì)它進(jìn)行迭代更新和處理
7.事實(shí)表
事實(shí)表作為數(shù)據(jù)倉庫維度建模的核心,緊緊圍繞著業(yè)務(wù)過程來設(shè)計(jì),通過獲取描述業(yè)務(wù)過程的度量來表達(dá)業(yè)務(wù)過程,包含了引用的維度和與業(yè)務(wù)過程有關(guān)的度量圆丹。事實(shí)表中一條記錄所表達(dá)的業(yè)務(wù)細(xì)節(jié)程度被稱為粒度滩愁。通常粒度可以通過兩種方式來表述:一種是維度屬性組合所表示的細(xì)節(jié)程度,一種是所表示的具體業(yè)務(wù)含義
作為度量業(yè)務(wù)過程的事實(shí),一般為整型或浮點(diǎn)型的十進(jìn)制數(shù)值,有可加性,半可加性和不可加性三種類型
維度屬性也可以存儲(chǔ)到事實(shí)表中,這種存儲(chǔ)到事實(shí)表中的維度列被,稱為“退化維度”。與其他存儲(chǔ)在維表中的維度一樣,退化維度也可以用來進(jìn)行事實(shí)表的過濾查詢辫封、實(shí)現(xiàn)聚合操作等
事實(shí)表有三種類型,事務(wù)事實(shí)表,周期快照事實(shí)表,累積快照事實(shí)表,第一種是保留的是原始數(shù)據(jù)的表,第二種是以規(guī)律的,可預(yù)見的時(shí)間間隔記錄事實(shí),第三種是用來表示過程的開始和結(jié)束的關(guān)鍵步驟事件,覆蓋過程的整個(gè)生命周期,伴隨著生命周期的變化,數(shù)據(jù)被不斷修改
事實(shí)表的設(shè)計(jì)原則
- 盡可能包含與業(yè)務(wù)過程相關(guān)的事實(shí)
- 只選擇與業(yè)務(wù)過程相關(guān)的事實(shí)
- 分解不可加的事實(shí)為可加的組件
(例如:訂單的優(yōu)惠率應(yīng)該分解為原價(jià)和優(yōu)惠后的價(jià)格) - 在選擇維度和事實(shí)之前必須先聲明粒度
(粒度用于確定事實(shí)表中每一行所表示的業(yè)務(wù)細(xì)節(jié)層次,決定了維度模型的可擴(kuò)展性,在設(shè)計(jì)事實(shí)表的時(shí)候粒度應(yīng)該盡可能越細(xì)越好,原子粒度可以提供最大限度地靈活性) - 在同一個(gè)事實(shí)表中不能有不同的粒度
- 對(duì)null值的處理盡量用0倆代替
- 使用維度退化來提高事實(shí)表的易用性
事務(wù)事實(shí)表
單事務(wù)事實(shí)表
多事務(wù)事實(shí)表
兩種事實(shí)表的比對(duì)
業(yè)務(wù)過程
對(duì)于單事務(wù)事實(shí)表,一個(gè)業(yè)務(wù)過程建立一個(gè)事實(shí)表,只反映一個(gè)業(yè)務(wù)過程的事實(shí);對(duì)于多事務(wù)事實(shí)表,在同一個(gè)事實(shí)表中反映多個(gè)業(yè)務(wù)過程硝枉。多個(gè)業(yè)務(wù)過程是否放到同一個(gè)事實(shí)表中,首先需要分析不同業(yè)務(wù)過程之間的相似性和業(yè)務(wù)源系統(tǒng)廉丽。比如淘寶交易的下單、支付和成功完結(jié)這三個(gè)業(yè)務(wù)過程是存在相似性的,都屬于訂單處理中的一環(huán),并且都來自于交易系統(tǒng),因此適合放到同一個(gè)事務(wù)事實(shí)表中
粒度和維度
在考慮是采用單事務(wù)事實(shí)表還是多事務(wù)事實(shí)表時(shí),另一個(gè)關(guān)鍵點(diǎn)就是粒度和維度,在確定好業(yè)務(wù)過程后,需要基于不同的業(yè)務(wù)過程確定粒度和維度,當(dāng)不同業(yè)務(wù)過程的粒度相同,同時(shí)擁有相似的維度時(shí),此時(shí)就可以考慮采用多事務(wù)事實(shí)表妻味。如果粒度不同,則必定是不同的事實(shí)表正压。比如交易中支付和發(fā)貨有不同的粒度,則無法將發(fā)貨業(yè)務(wù)過程放到淘寶交易事務(wù)事實(shí)表中
事實(shí)
對(duì)于不同的業(yè)務(wù)過程,事實(shí)往往是不同的,單事務(wù)事實(shí)表在處理事實(shí)上比較方便和靈活,僅僅體現(xiàn)同一個(gè)業(yè)務(wù)過程的事實(shí)即可;而多事務(wù)事實(shí)表由于有多個(gè)業(yè)務(wù)過程,所以有更多的事實(shí)需要處理。如果單一業(yè)務(wù)過程的事實(shí)較多,同時(shí)不同業(yè)務(wù)過程的事實(shí)又不相同,則可以考慮使用單事務(wù)事實(shí)表,處理更加清晰;若使用多事務(wù)事實(shí)表,則會(huì)導(dǎo)致事實(shí)表零值或空值字段較多
周期性快照表
快照事實(shí)表的設(shè)計(jì)有一些區(qū)別于事務(wù)事實(shí)表設(shè)計(jì)的性質(zhì)责球。事務(wù)事實(shí)表的粒度能以多種方式表達(dá),但快照事實(shí)表的粒度通常以維度形式聲,明;事務(wù)事實(shí)表是稀疏的,但快照事實(shí)表是稠密的;事務(wù)事實(shí)表中的事實(shí)是完全可加的,但快照模型將至少包含一個(gè)用來展示半可加性質(zhì)的事實(shí)
單維度快照表
混合維度每天的快照表
全量快照表
累積性快照事實(shí)表
適用于具有較明確旗幟時(shí)間的短生命周期的業(yè)務(wù)實(shí)體
累積快照事實(shí)表的典型特征是多業(yè)務(wù)過程日期,用于計(jì)算業(yè)務(wù)過程之間的時(shí)間間隔焦履。但結(jié)合阿里巴巴數(shù)據(jù)倉庫模型建設(shè)的經(jīng)驗(yàn),對(duì)于累積快照事實(shí)表,還有一個(gè)重要作用是保存全量數(shù)據(jù)。對(duì)于淘寶交易,需要保留歷史截至當(dāng)前的所有交易數(shù)據(jù),其中一種方式是在ODS層保留和源系統(tǒng)結(jié)構(gòu)完全相同的數(shù)據(jù);但由于使用時(shí)需要關(guān)聯(lián)維度,較為麻煩,所以在公共明細(xì)層需要保留一份全量數(shù)據(jù),淘寶交易累積快照事實(shí)表就承擔(dān)了這樣的作用--存放加工后的事實(shí),并將各維度常用屬性和訂單雜項(xiàng)維度退化到此表中雏逾。通常用于數(shù)據(jù)探查嘉裤、統(tǒng)計(jì)分析、數(shù)據(jù)挖掘等
特殊處理☆
1.對(duì)于非線性過程
(1). 業(yè)務(wù)過程的統(tǒng)一比如流程結(jié)束標(biāo)志的統(tǒng)一,最開始設(shè)計(jì)交易累積快照事實(shí)表時(shí),以交易完成作為結(jié)束標(biāo)志;進(jìn)一步了解業(yè)務(wù)之后,發(fā)現(xiàn)交易關(guān)閉也是交易結(jié)束的一個(gè)分支,所以將交易結(jié)束作為流程結(jié)束栖博、實(shí)體消亡的標(biāo)志,包括交易完成和交易結(jié)束兩種情況屑宠。
(2). 針對(duì)業(yè)務(wù)關(guān)鍵里程碑構(gòu)建全面的流程比如淘寶交易,全流程可能是下單一支付一發(fā)貨一確認(rèn)收貨。對(duì)于沒有支付或沒有發(fā)貨的交易訂單,全流程仍然可以覆蓋,相關(guān)業(yè)務(wù)過程的時(shí)間字段和事實(shí)置空仇让。
(3). 循環(huán)流程的處理主要問題是解決一個(gè)業(yè)務(wù)過程存在多個(gè)里程碑日期的問題典奉。使用業(yè)務(wù)過程第一次發(fā)生的日期還是最后一次發(fā)生的日期,決定權(quán)在商業(yè)用戶,而不是設(shè)計(jì)或開發(fā)人員。
2.多源過程
物理實(shí)現(xiàn)
第一種方式是全量表的形式丧叽。此全量表一般為日期分區(qū)表,每天的分區(qū)存儲(chǔ)昨天的全量數(shù)據(jù)和當(dāng)天的增量數(shù)據(jù)合并的結(jié)果,保證每條記錄的狀態(tài)最新卫玖。此種方式適用于全量數(shù)據(jù)較少的情況。如果數(shù)據(jù)量很大,此全量表數(shù)據(jù)量不斷膨脹,存儲(chǔ)了大量永遠(yuǎn)不再更新的歷史數(shù)據(jù),對(duì)ETL和分析統(tǒng)計(jì)性能影響較大踊淳。
第二種方式是全量表的變化形式假瞬。此種方式主要針對(duì)事實(shí)表數(shù)據(jù)量很大的情況。較短生命周期的業(yè)務(wù)實(shí)體一般從產(chǎn)生到消亡都有一定的時(shí)間間隔,可以測(cè)算此時(shí)間間隔,或者根據(jù)商業(yè)用戶的需求確定一個(gè)相對(duì)交大的時(shí)間間隔迂尝。比如針對(duì)交易訂單,我們以200天作為訂單從產(chǎn)生到消亡的最大間隔笨触。設(shè)計(jì)最近200天的交易訂單累積快照事實(shí)表,每天的分區(qū)存儲(chǔ)最近200天的交易訂單;而200天之前的訂單則按照create創(chuàng)建分區(qū)存儲(chǔ)在歸檔表中。此方式存在的一個(gè)問題是200天的全量表根據(jù)商業(yè)需求需要保留多天的分區(qū)數(shù)據(jù),而由于數(shù)據(jù)量較大,存儲(chǔ)消耗較大雹舀。(其實(shí)對(duì)方法一進(jìn)行了時(shí)間上的過濾,行的過濾....)
第三種方式是以業(yè)務(wù)實(shí)體的結(jié)束時(shí)間分區(qū)。每天的分區(qū)存放當(dāng)天結(jié)束的數(shù)據(jù),設(shè)計(jì)一個(gè)時(shí)間非常大的分區(qū),比如3000-12-31,存放截至當(dāng)前未結(jié)束的數(shù)據(jù)粗俱。由于每天將當(dāng)天結(jié)束的數(shù)據(jù)歸檔至當(dāng)天分區(qū)中,時(shí)間非常大的分區(qū)數(shù)據(jù)量不會(huì)很大, ETL性能較好;并且無存儲(chǔ)的浪費(fèi),對(duì)于業(yè)務(wù)實(shí)體的某具體實(shí)例,在該表的全量數(shù)據(jù)中唯一说榆。比如對(duì)于交易訂單,在交易累積快照事實(shí)表中唯一。但是存在極端的情況無法標(biāo)識(shí)業(yè)務(wù)實(shí)體的結(jié)束時(shí)間,采取的方法有使用其他相關(guān)業(yè)務(wù)系統(tǒng)的結(jié)束標(biāo)識(shí)為此標(biāo)識(shí),方法二和前端業(yè)務(wù)系統(tǒng)確定口徑或者前端歸檔策略(更新策略和拉鏈表的一致,etl提取出設(shè)置默認(rèn)時(shí)間的數(shù)據(jù),那行數(shù)據(jù)未更新,但是拉鏈表的構(gòu)建思想是不一樣的,拉建表保留的是全量數(shù)據(jù),而這個(gè)的目的是結(jié)束一個(gè)行的生命周期)
三種事實(shí)表的比較
聚集型事實(shí)表
數(shù)據(jù)倉庫的性能是數(shù)據(jù)倉庫建設(shè)是否成功的重要標(biāo)準(zhǔn)之一寸认。聚集主要是通過匯總明細(xì)粒度數(shù)據(jù)來獲得改進(jìn)查詢性能的效果签财。通過訪問聚集數(shù)據(jù),可以減少數(shù)據(jù)庫在響應(yīng)查詢時(shí)必須執(zhí)行的工作量,能夠快速響應(yīng)用戶的查詢,同時(shí)有利于減少不同用戶訪問明細(xì)數(shù)據(jù)帶來的結(jié)果不一致問題。盡管聚集能帶來良好的收益,但需要事先對(duì)其進(jìn)行加載和維護(hù),這將會(huì)對(duì)給ETL帶來更多的挑戰(zhàn)偏塞。將使用頻繁的的公共數(shù)據(jù),通過聚集進(jìn)行沉淀,比如是賣家最近一天的交易匯總表,賣家自然年交易匯總表等這類匯總數(shù)據(jù)
這一章看了兩天,就是對(duì)數(shù)倉工具箱的加工,不如直接看工具箱,提取一下重要的知識(shí)點(diǎn)
1.最重要的就是實(shí)踐,了解行業(yè)的需求,建一個(gè)堅(jiān)固面向數(shù)據(jù)分析師或者客戶的數(shù)倉系統(tǒng)
2.維度表的構(gòu)建,這個(gè)要具體結(jié)合行業(yè),書中提供了構(gòu)建的基本步驟,注意一下粒度關(guān)鍵詞,書中還提供了構(gòu)建表之間關(guān)系的構(gòu)建方法論
3.我們不談?wù)撊魏尉唧w建表方法,我認(rèn)為比較重要的就是,維度表和事實(shí)表之間的外鍵主鍵的構(gòu)建大致的構(gòu)建標(biāo)準(zhǔn),這樣才能寫出好性能的SQL
4.在ODS層我們要做的就是etl,這是重要的,我們要對(duì)采集的數(shù)據(jù)劃分維度和事實(shí),結(jié)構(gòu)化數(shù)據(jù),這個(gè)怎么有效率的實(shí)現(xiàn)是至關(guān)重要的!!!
5.在DWD層我們劃分好了維度和事實(shí)為DWS層的主題建模服務(wù),在DWD層的一致性維表的構(gòu)建思路(ODS層)也是重要的!!!
6.對(duì)于主題建模是面向分析師,然而分析師可能也不知道什么才是重要的指標(biāo),主題建模要面向未來,可迭代的面向主題集成我們的報(bào)表原始層
7.這一章還講了一個(gè)事實(shí)表的類型也是重要,數(shù)倉工程師的價(jià)值就體現(xiàn)在事實(shí)表和維表的設(shè)計(jì)上
8.了解一下行業(yè)術(shù)語:緩慢變化維 維度退化 上鉆下鉆 拉鏈表 橋接表 非線性過程等
9.還有一個(gè)難點(diǎn):關(guān)于對(duì)行的更新,怎么做才是有效率的有價(jià)值的