第一章 數(shù)據(jù)倉庫、商業(yè)智能及維度建模初步
一蜓耻、數(shù)據(jù)倉庫與商業(yè)智能的目標(biāo)
1茫舶、方便地保存數(shù)據(jù)
2、數(shù)據(jù)一致性
3刹淌、適應(yīng)變化
4饶氏、及時展現(xiàn)數(shù)據(jù)
5、信息安全
6有勾、數(shù)據(jù)權(quán)威
7疹启、支撐業(yè)務(wù)
二、數(shù)倉管理者的職責(zé)
1蔼卡、理解業(yè)務(wù) 理解用戶
2喊崖、為用戶提供高質(zhì)量、相關(guān)的雇逞、可訪問的信息
3荤懂、維護數(shù)倉/分析環(huán)境
三、維度建奶猎遥基礎(chǔ)知識
1节仿、維度模型和3NF模型包含的數(shù)據(jù)是一樣的,只是維度模型存儲的數(shù)據(jù)更易理解掉蔬,查詢性能更高廊宪,包裝得更靈活
事實表:
2、維度模型中的事實表來自對業(yè)務(wù)過程性能的度量
3女轿、事實表中每行對應(yīng)一個度量事件
4箭启、每行中的數(shù)據(jù)是一個特定級別的細(xì)節(jié)數(shù)據(jù),稱為粒度
5谈喳、事實表通常分為事務(wù)册烈、累計快照、周期快照
6、事實表主鍵通常成為組合鍵
維度表:
7赏僧、維度表包含與業(yè)務(wù)過程度量事件有關(guān)的文本環(huán)境
8大猛、數(shù)倉分析環(huán)境取決于維度屬性的質(zhì)量和深度
四、各種數(shù)倉架構(gòu)
1淀零、Kimball
操作型源系統(tǒng)挽绩,就是數(shù)據(jù)的來源,數(shù)據(jù)記錄的最基礎(chǔ)的形式
ETL過程主要是對維度與事實進行劃分驾中,清洗數(shù)據(jù)唉堪,關(guān)注維度表的處理(代理鍵分配等)
前端區(qū)將獲取到元數(shù)據(jù)、報表肩民、分析應(yīng)用等內(nèi)容唠亚,展示時也需要兼顧效率
2、獨立數(shù)據(jù)集市
這種結(jié)構(gòu)明顯難以保證一致性持痰,但開發(fā)起來會比較快
3灶搜、Inmon
原子數(shù)據(jù)保存在滿足3NF的數(shù)據(jù)庫中,這種規(guī)范化的工窍、原子數(shù)據(jù)的倉庫被稱為企業(yè)數(shù)據(jù)倉庫(Enterprise Data Warehouse)
它與Kimball的區(qū)別包括數(shù)據(jù)粒度的不同割卖,可能有些數(shù)據(jù)不是原子級別的,它也不圍繞業(yè)務(wù)展開
4患雏、Kimball+Inmon
EDW保留三范式規(guī)則鹏溯,但原子數(shù)據(jù)是不聚合的,作為展現(xiàn)區(qū)的數(shù)據(jù)來源
第二章 Kimball維度建模技術(shù)概述
一淹仑、基本概念
1丙挽、收集業(yè)務(wù)需求與數(shù)據(jù)實現(xiàn)
2、維度設(shè)計過程:選擇業(yè)務(wù)過程攻人、聲明粒度取试、確認(rèn)維度悬槽、確認(rèn)事實
3怀吻、業(yè)務(wù)過程是組織完成的操作型活動(訂單、注冊)
4初婆、粒度:事務(wù)表里的每一行表示的是什么
5蓬坡、維度:用于描述環(huán)境
6、事實:對業(yè)務(wù)過程進行度量
7磅叛、靈活擴展:事實粒度一致時可直接創(chuàng)建列屑咳,通過新的維度列關(guān)聯(lián)維度至事實,可以在維度表上簡歷新列添加屬性弊琴,可以使事實表粒度更原子化
二兆龙、事實表技術(shù)基礎(chǔ)
1、事實表行對應(yīng)一個度量事件
2敲董、可加紫皇、半可加是針對維度而言的慰安,部分維度可加的是半可加。
3聪铺、事實表中的外鍵不能存在空值
4化焕、最好保證事實度量是一致的
5、事務(wù)事實表:一行對應(yīng)空間或時間上某點的度量事件铃剔,比如訂單表撒桨、日志表
6、周期快照事實表:每行匯總了發(fā)生在某一周期的多個度量事件键兜,比如一個用戶在一天里的點擊凤类、退出次數(shù)
7、累計快照事實表:每行匯總了發(fā)生在過程開始和結(jié)束之間可預(yù)測步驟內(nèi)的度量事件普气,比如訂單有提單踱蠢、支付、成單棋电、配送茎截、評價的可作為度量的過程
8、無事實事務(wù)表:可能存在某些事件僅僅記錄多維實體赶盔,沒有數(shù)字化的事實
9企锌、聚集事實表:對原子粒度事實表數(shù)據(jù)進行上卷
感覺多數(shù)還是事務(wù)和聚集事實表
三、維度表技術(shù)基礎(chǔ)
1于未、維度表應(yīng)當(dāng)具有單一主鍵列撕攒,它是扁平非規(guī)范表
2、維度表需要主鍵烘浦,可以為維度表生成無語義的整數(shù)型主鍵抖坪,可以借助UDF來進行生成
3、操作型系統(tǒng)中自然鍵不能滿足需求時可以采用持久性超自然鍵
4闷叉、將常用維度退化到事實表中擦俐,清楚地表明沒有關(guān)聯(lián)的維度
5、同一維度可能存在不同的層次握侧,一級城市蚯瞧,二級城市
6、可以建立將不同維度合并到一起的雜項維度品擎,而不要為每個標(biāo)識或?qū)傩远x不同維度
7埋合、雪花維度:低粒度屬性作為輔助表通過屬性鍵連接到基本維度,當(dāng)這一過程中包含多重維度表層次時萄传,建立的多級層次結(jié)構(gòu)被稱為雪花模式
8甚颂、支架維度:被引用的輔助維度成為支架維度,比如銀行賬戶維度可以引用開戶日期維度
四、一致性維度
當(dāng)不同的維度表的屬性具有相同列名和領(lǐng)域內(nèi)容時振诬,稱維度表具有一致性
五瓣铣、緩慢變化維
1、原樣保留
2贷揽、重寫
3棠笑、增加行
4、增加新屬性(列)
六禽绪、處理維度層次關(guān)系
1蓖救、固定深度位置層次,能夠提佛那個可預(yù)測的印屁、快速的查詢性能
2循捺、其他還可能存在可變深度層次、層次橋接雄人、路徑字符屬性可變深度層次从橘,但這些最好向固定深度層次進行統(tǒng)一
七、高級事實表技術(shù)
1础钠、蜈蚣事實表:存在多層次維度外鍵
2恰力、事實表也可分配代理鍵
3、多遍SQL以避免事實表間的連接
八旗吁、高級維度表技術(shù)
1踩萎、聚集事實也可作為維度進行處理(例如金額大于多少的用戶)
2、步驟維度:在日志表里可以為行為順序進行編號很钓,探究行為發(fā)生的過程九默,這個維度叫步驟維度