




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
38頁《數(shù)據(jù)倉庫知識體系.pdf》拿去面試用!
目錄
一、數(shù)據(jù)倉庫的8個(gè)發(fā)展階段
1.概念階段(1978-1988)
2.萌芽階段
3.集成階段
4.確立階段(1991)
5.數(shù)據(jù)集市(1994—1996)
6.爭吵與混亂(1996-1997)
7.合并(1998-2001)
8.未來
二、四種常見數(shù)據(jù)模型
1.為什么要進(jìn)行數(shù)據(jù)倉庫建模
2.四種常見模型
2.1維度模型
2.1.1星型模型
2.1.2雪花模型
2.1.3星座模型
2.2范式模型
2.3DataVault模型
2.4Anchor模型
3.數(shù)據(jù)模型的評價(jià)標(biāo)準(zhǔn)
三、三種事實(shí)表(設(shè)計(jì)原則,設(shè)計(jì)方法)
1.三種事實(shí)表概述
2.三種事實(shí)表對比
3.事實(shí)表設(shè)計(jì)8大原則
4.事實(shí)表設(shè)計(jì)方法
第一步:選擇業(yè)務(wù)過程及確定事實(shí)表類型
第二步:聲明粒度
第三步:確定維度
第四步:確定事實(shí)
四、多維體系結(jié)構(gòu)
1.總線架構(gòu)
2.一致性維度
3.一致性事實(shí)
4.小編有話
五、數(shù)據(jù)倉庫規(guī)范設(shè)計(jì)
1.為什么要進(jìn)行規(guī)范設(shè)計(jì)
2.設(shè)計(jì)規(guī)范-指標(biāo)
3.命名規(guī)范-表命名
3.1常規(guī)表
3.2中間表
3.3臨時(shí)表
3.4維度表
4.開發(fā)規(guī)范
5.流程規(guī)范
六、元數(shù)據(jù)管理
1.業(yè)務(wù)元數(shù)據(jù)
2.技術(shù)元數(shù)據(jù)
3.管理元數(shù)據(jù)
4.小編有話
七、維度表
1.什么是維度表
2.維度表設(shè)計(jì)原則
3.維度表設(shè)計(jì)方法
八、三范式與反范式
1.第一范式
2.第二范式
3.第三范式
4.反范式化
5.范式化設(shè)計(jì)和反范式化設(shè)計(jì)的優(yōu)缺點(diǎn)
5.1范式化(時(shí)間換空間)
5.2反范式化(空間換時(shí)間)
6.0LAP和OLTP中如何設(shè)計(jì)范式
九、數(shù)據(jù)倉庫架構(gòu)-Lambda和Kappa
1.Lambda架構(gòu)原理
2.Lambda架構(gòu)的缺點(diǎn)
3.Kappa架構(gòu)原理
4.Lambda架構(gòu)和Kappa架構(gòu)優(yōu)缺點(diǎn)對比
5.數(shù)據(jù)架構(gòu)評價(jià)標(biāo)準(zhǔn)
6.小編有話
十、數(shù)據(jù)治理(目的、方法、流程)
1.什么是數(shù)據(jù)治理
2.數(shù)據(jù)治理的目的
3.數(shù)據(jù)治理的方法
4.數(shù)據(jù)質(zhì)量8個(gè)衡量標(biāo)準(zhǔn)
5.數(shù)據(jù)治理流程
H-一、ETL
1.什么是ETL
2.ETL&ELT
3.常用的ETL工具
3.1sqoop
3.2DataX
3.3Kettle
3.4canal
十二、數(shù)據(jù)應(yīng)用-OLAP
1.OLAP和OLTP的區(qū)別
2.OLAP分類
3.OLAP基本操作
4.OLAP選型
十三、數(shù)據(jù)傾斜
1.數(shù)據(jù)傾斜表現(xiàn)
1.1hadoop中的數(shù)據(jù)傾斜表現(xiàn)
1.2hive中數(shù)據(jù)傾斜
1.3Spark中的數(shù)據(jù)傾斜
2.數(shù)據(jù)傾斜產(chǎn)生原因
3.解決數(shù)據(jù)傾斜思路
2.1業(yè)務(wù)邏輯
2.2程序?qū)用?/p>
2.3調(diào)參方面
2.4從業(yè)務(wù)和數(shù)據(jù)上解決
數(shù)據(jù)倉庫的8個(gè)發(fā)展階段
1、概念階段(1978-1988)
數(shù)據(jù)倉庫最早的概念可以追溯到20世紀(jì)70年代MIT的一項(xiàng)研究,
該研究致力于開發(fā)一種優(yōu)化的技術(shù)架構(gòu)并提出這些架構(gòu)的指導(dǎo)性意見。
第一次,MH■的研究員將業(yè)務(wù)系統(tǒng)和分析系統(tǒng)分開,將業(yè)務(wù)處理和分
析處理分成不同的層次,并采用單獨(dú)的數(shù)據(jù)存儲(chǔ)和完全不同的設(shè)計(jì)準(zhǔn)則。
同時(shí),MIT的研究成果與80年代提出的信息中心(Informationcenter)
相吻合:即把那些新出現(xiàn)的、不可以預(yù)測的、但是大量存在的分析型的負(fù)
載從業(yè)務(wù)處理系統(tǒng)中剝離出來。
但是限于當(dāng)時(shí)的信息處理和數(shù)據(jù)存儲(chǔ)能力,該研究只是確立了一個(gè)論
點(diǎn):這兩種信息處理的方式差別如此之大,以至于它們只能采用完全不同
的架構(gòu)和設(shè)計(jì)方法。
2、萌芽階段
在80年代中后期,作為當(dāng)時(shí)技術(shù)最先進(jìn)的公司,DEC已經(jīng)開始采用分
布式網(wǎng)絡(luò)架構(gòu)來支持其業(yè)務(wù)應(yīng)用,并且DEC公司首先將業(yè)務(wù)系統(tǒng)移植到
其自身的RDBMS產(chǎn)品:RdB,并且,DEC公司從工程部、銷售部、財(cái)
務(wù)部以及信息技術(shù)部抽調(diào)了不同的人員組建了新的小組,不僅研究新的分
析系統(tǒng)架構(gòu),并要求將其應(yīng)用到其全球的財(cái)務(wù)系統(tǒng)中。該小組結(jié)合MIT的
研究結(jié)論,建立了TA2(TechnicalArchitecture2)規(guī)范,該規(guī)范定義了
分析系統(tǒng)的四個(gè)組成部分:
?數(shù)據(jù)獲取
?數(shù)據(jù)訪問
?目錄
?用戶服務(wù)
其中的數(shù)據(jù)獲取和數(shù)據(jù)訪問目前大家都很清楚,而目錄服務(wù)是用于幫
助用戶在網(wǎng)絡(luò)中找到他們想要的信息,類似于業(yè)務(wù)元數(shù)據(jù)管理;用戶服務(wù)
用以支持對數(shù)據(jù)的直接交互,包含了其他服務(wù)的所有人機(jī)交互界面,這是
系統(tǒng)架構(gòu)的一個(gè)非常大的轉(zhuǎn)變,第一次將交互界面作為單獨(dú)的組件提出
來。
3、集成階段
全企業(yè)集成(Enterpriselntergration,1988)同時(shí),IBM也在處理信
息管理不同方面的問題,其最煩人的問題是不斷增加的信息孤島,舊M的
很多客戶要面對很多分立系統(tǒng)的數(shù)據(jù)集成問題,而這些系統(tǒng)有不同的編碼
方式和數(shù)據(jù)格式。
1988年,為解決全企業(yè)集成問題,舊M愛爾蘭公司的BarryDevlin和
PaulMurphy第一次提出了"信息倉庫(Informationwarehouse)"的概
念,將其定義為:“一個(gè)結(jié)構(gòu)化的環(huán)境,能支持最終用戶管理其全部的業(yè)
務(wù),并支持信息技術(shù)部門保證數(shù)據(jù)質(zhì)量”,并在1991年在DECTA2的基
礎(chǔ)上把信息倉庫的概念包含進(jìn)去,并稱之為VITAL規(guī)范,將PC、圖形化
界面、面向?qū)ο蟮慕M件以及局域網(wǎng)都包含在VITAL里,并定義了85種信
息倉庫的組件,包括數(shù)據(jù)抽取、轉(zhuǎn)換、有效性驗(yàn)證、加載、Cube開發(fā)和
圖形化查詢工具等。但是舊M只是將這種領(lǐng)先的概念用于市場宣傳,而沒
有付諸實(shí)際的架構(gòu)設(shè)計(jì)。這是舊M有一個(gè)領(lǐng)域上創(chuàng)新后停止不前導(dǎo)致喪失
其領(lǐng)先地位。因此,在90年代初期,數(shù)據(jù)倉庫的基本原理、框架架構(gòu),
以及分析系統(tǒng)的主要原則都已經(jīng)確定,主要的技術(shù),包括關(guān)系型數(shù)據(jù)存
取、網(wǎng)絡(luò)、C/S架構(gòu)和圖形化界面均已具備,只欠東風(fēng)了。
同時(shí)?,在1988年—1991年,一些前沿的公司已經(jīng)開始建立數(shù)據(jù)倉
庫。
、確立階段(1991)
企業(yè)級數(shù)據(jù)倉庫(EDW,1991)1991年,Billlnmon出版了其有關(guān)
數(shù)據(jù)倉庫的第一本書,這本書不僅僅說明為什么要建數(shù)據(jù)倉庫、數(shù)據(jù)倉庫
能給你帶來什么,更重要的是,Inmon第一次提供了如何建設(shè)數(shù)據(jù)倉庫的
指導(dǎo)性意見,該書定義了數(shù)據(jù)倉庫非常具體的原則,包括:數(shù)據(jù)倉庫是面
向主題的(Subject-Oriented)、集成的(Integrated)、包含歷史的
(Time-variant)、相對穩(wěn)定的(Nonvolatile)、面向決策支持的
(DecisionSupport)面向全企業(yè)的(EnterpriseScope)最明細(xì)的數(shù)據(jù)存
(AtomicDetail)數(shù)據(jù)快照式的數(shù)據(jù)獲取(SnapShotCapture)這些原則
到現(xiàn)在仍然是指導(dǎo)數(shù)據(jù)倉庫建設(shè)的最基本原則,雖然中間的一些原則引發(fā)
一些爭論,并導(dǎo)致一些分歧和數(shù)據(jù)倉庫變體的產(chǎn)生。
Billlnmon憑借其這本書奠定了其在數(shù)據(jù)倉庫建設(shè)的位置,被稱之為
“數(shù)據(jù)倉庫之父”。
5、數(shù)據(jù)集市(1994—1996)
數(shù)據(jù)倉庫發(fā)展的第一明顯分歧是數(shù)據(jù)集市概念的產(chǎn)生。由于企業(yè)級數(shù)
據(jù)倉庫的設(shè)計(jì)、實(shí)施很困難,使得最早吃數(shù)據(jù)倉庫螃蟹的公司遭到大面積
的失敗,因此數(shù)據(jù)倉庫的建設(shè)者和分析師開始考慮只建設(shè)企業(yè)級數(shù)據(jù)倉庫
的一部分,然后再逐步添加,但是這有背于Billlnmon的原則:各個(gè)實(shí)施
部分的數(shù)據(jù)抽取、清洗、轉(zhuǎn)換和加載是獨(dú)立,導(dǎo)致了數(shù)據(jù)的混亂與不一致
性。而且部分實(shí)施的項(xiàng)目也有很多失敗,除了常見的業(yè)務(wù)需求定義不清、
項(xiàng)目執(zhí)行不力之外,很重要的原因是因?yàn)槠鋽?shù)據(jù)模型設(shè)計(jì),在企業(yè)級數(shù)據(jù)
倉庫中,Inmon推薦采用3范式進(jìn)行數(shù)據(jù)建模,但是不排除其他的方法,
但是Inmon的追隨者固守OLTP系統(tǒng)的3范式設(shè)計(jì),從而無法支持DSS
系統(tǒng)的性能和數(shù)據(jù)易訪問性的要求。
這時(shí),RalphKimball出現(xiàn)了,他的第一本書
“TheDataWarehouseToolkit”掀起了數(shù)據(jù)集市的狂潮,這本書提供了如
何為分析進(jìn)行數(shù)據(jù)模型優(yōu)化詳細(xì)指導(dǎo)意見,從DimensionalModeling大行
其道,也為傳統(tǒng)的關(guān)系型數(shù)據(jù)模型和多維OLAP之間建立了很好的橋梁。
從此,數(shù)據(jù)集市在很多地方冒了出來,并獲得很大成功,而企業(yè)級數(shù)據(jù)倉
庫已逐漸被人所淡忘。
5、爭吵與混亂(1996-1997)
企業(yè)級數(shù)據(jù)倉庫還是部門級數(shù)據(jù)集市?關(guān)系型還是多維?Billlnmon
和RalphKimball一開始就爭論不休,其各自的追隨者也唇舌相向,形成
相對立的兩派:Inmon派和Kimball派(有點(diǎn)象少林和武當(dāng),呵呵)。
在初期,數(shù)據(jù)集市的快速實(shí)施和較高的成功率讓Kimball派占了上
風(fēng),但是很快,他們也發(fā)現(xiàn)自己陷入了某種困境:企業(yè)中存在6—7個(gè)不
同的數(shù)據(jù)集市,分別有不同的ETL,相互之間的數(shù)據(jù)也不完全一致。同
時(shí),各個(gè)項(xiàng)目實(shí)施中也任意侵犯了Inmon開始定下的準(zhǔn)則:把數(shù)據(jù)集市當(dāng)
成眾多OLTP系統(tǒng)之后的有一個(gè)系統(tǒng),而不是一個(gè)基礎(chǔ)性的集成性的東
西,為保證數(shù)據(jù)的準(zhǔn)確性和實(shí)時(shí)性,有的甚至可以由OLTP系統(tǒng)直接修改
數(shù)據(jù)集市里面的數(shù)據(jù),為了保證系統(tǒng)的性能,有的數(shù)據(jù)集市刪除了歷史數(shù)
據(jù)。等等,不一而足。
當(dāng)然,這導(dǎo)致了一些新的應(yīng)用的出現(xiàn),例如ODS,但是人們對
DataWarehouse、DataMart、ODS的概念非常的模糊,經(jīng)?;鞛橐徽?。
有人說OLAP就是數(shù)據(jù)倉庫,也有人說我要ODS和DataMart,不要
Datawarehouse,也有人說,我DataMart建多了,自然就有
DatawarehouseTo但是Billlnmon一直很旗幟鮮明:“你可以打到幾萬
噸的小魚小蝦,但是這些小魚小蝦加起來不是大鯨魚”。
卜、合并(1998—2001)
經(jīng)過多翻爭吵,證明one-size-fits-all是不可能的,你需要不同的BI
架構(gòu)來滿足不同的業(yè)務(wù)需求。Billlnmon也推出了新的BI架構(gòu)CIF
(Corporationinformationfactory),把Kimball的數(shù)據(jù)集市也包容進(jìn)來
了,第一次,Kimball承認(rèn)了Inmon,但是仍然還有很多人在爭論是自頂
向下,還是自底向上。
8、未來
未來幾個(gè)方向:時(shí)效性方向的實(shí)時(shí)數(shù)倉;數(shù)據(jù)質(zhì)量方向的數(shù)據(jù)治理;數(shù)據(jù)
中臺、數(shù)據(jù)湖(歡迎留言討論!)
推薦閱讀:
數(shù)據(jù)庫、數(shù)據(jù)倉庫、數(shù)據(jù)平臺、數(shù)據(jù)中臺、數(shù)據(jù)湖到底是什么?
二、四種常見數(shù)據(jù)模型
大數(shù)據(jù)時(shí)代,維度建模已成為各大廠的主流方式。
維度建模從分析決策的需求出發(fā)構(gòu)建模型,為分析需求服務(wù)。重點(diǎn)關(guān)
注用戶如何快速的完成數(shù)據(jù)分析,可以直觀的反應(yīng)業(yè)務(wù)模型中的業(yè)務(wù)問
題,需要大量的數(shù)據(jù)預(yù)處理、數(shù)據(jù)冗余,有較好的大規(guī)模復(fù)雜查詢的響應(yīng)
性能。
1、為什么要進(jìn)行數(shù)據(jù)倉庫建模
?性能:良好的模型能幫我們快速查詢需要的數(shù)據(jù),減少數(shù)據(jù)的10吞吐
?成本:減少數(shù)據(jù)冗余、計(jì)算結(jié)果復(fù)用、從而降低存儲(chǔ)和計(jì)算成本
?效率:改善用戶使用數(shù)據(jù)的體驗(yàn),提高使用數(shù)據(jù)的效率
?改善統(tǒng)計(jì)口徑的不一致性,減少數(shù)據(jù)計(jì)算錯(cuò)誤的可能性
2、四種常見模型
2.1維度模型
維度建模按數(shù)據(jù)組織類型劃分可分為星型模型、雪花模型、星座模
型。
Kimball老爺爺維度建模四部曲:
選擇業(yè)務(wù)處理過程>定義粒度>選擇維度>確定事實(shí)
2.1.1星型模型
星型模型主要是維表和事實(shí)表,以事實(shí)表為中心,所有維度直接關(guān)聯(lián)
在事實(shí)表上,呈星型分布。
location
locationkey
street
city
state_or_province
coimtry
2.1.2雪花模型
雪花模型,在星型模型的基礎(chǔ)上,維度表上又關(guān)聯(lián)了其他維度表。這
種模型維護(hù)成本高,性能方面也較差,所以一般不建議使用。尤其是基于
hadoop體系構(gòu)建數(shù)倉,減少join就是減少shuffle,性能差距會(huì)很大。
星型模型可以理解為,一個(gè)事實(shí)表關(guān)聯(lián)多個(gè)維度表,雪花模型可以理
解為一個(gè)事實(shí)表關(guān)聯(lián)多個(gè)維度表,維度表再關(guān)聯(lián)維度表。
「ime|
item\ShippingFactTable
itemkev
SalesFactTableitemnametimekey
brand
itemkey
type
supplier_typeshipperkey
fromlocation
branchlocationtolocation
branch_key
■location_keydollarscost
branch_name
street
branchtypeunitsshipped
city
province_or__state
country|shipper|/
Measures
2.1.3星座模型
星座模型,是對星型模型的擴(kuò)展延伸,多張事實(shí)表共享維度表。
星座模型是很多數(shù)據(jù)倉庫的常態(tài),因?yàn)楹芏鄶?shù)據(jù)倉庫都是多個(gè)事實(shí)表
的。所以星座模型只反映是否有多個(gè)事實(shí)表,他們之間是否共享一些維度
表。
item\ShippingFactTable
item_key
SalesFactTableitemnainetimekey
brand
typeitem_key
suppiier_typeshipperkey
i-------------------------------------
fi,omlocation
branchlocationtolocation
branch_kev
location_keydollarscost
branchname
street
unitsshipped
branch_typecity
province_or_state
countryshipper/
-----------
Measuresshipper_key
shipper_naine
2.2范式模型
即實(shí)體關(guān)系(ER)模型,數(shù)據(jù)倉庫之父Immon提出的,從全企業(yè)的
高度設(shè)計(jì)一個(gè)3NF模型,用實(shí)體加關(guān)系描述的數(shù)據(jù)模型描述企業(yè)業(yè)務(wù)架
構(gòu),在范式理論上符合3NF。此建模方法,對建模人員的能力要求非常
高。
特點(diǎn):設(shè)計(jì)思路自上而下,適合上游基礎(chǔ)數(shù)據(jù)存儲(chǔ),同一份數(shù)據(jù)只存
儲(chǔ)一份,沒有數(shù)據(jù)冗余,方便解耦,易維護(hù),缺點(diǎn)是開發(fā)周期一般比較
長,維護(hù)成本高。
詳見后文:三范式與反范式
2.3DataVault模型
DataVault由Hub(關(guān)鍵核心業(yè)務(wù)實(shí)體)、Link(關(guān)系)、Satellite
(實(shí)體屬性)三部分組成,是DanLinstedt發(fā)起創(chuàng)建的一種模型方法論,
它是在ER關(guān)系模型上的衍生,同時(shí)設(shè)計(jì)的出發(fā)點(diǎn)也是為了實(shí)現(xiàn)數(shù)據(jù)的整
合,并非為數(shù)據(jù)決策分析直接使用。
2.4Anchor模型
高度可擴(kuò)展的模型,所有的擴(kuò)展只是添加而不是修改,因此它將模型
規(guī)范到6NF,基本變成了K-V結(jié)構(gòu)模型。企業(yè)很少使用。
3、數(shù)據(jù)模型的評價(jià)標(biāo)準(zhǔn)
數(shù)據(jù)模型建設(shè)的怎么樣,極度依賴規(guī)范設(shè)計(jì),如果代碼風(fēng)格是“千人
千面”,那么恐怕半年下來,業(yè)務(wù)系統(tǒng)就沒法看了。沒有什么比“數(shù)據(jù)系
統(tǒng)”更看重,,法制,,了,規(guī)范體系不僅能保障數(shù)據(jù)建設(shè)的一致性,也能夠應(yīng)
對業(yè)務(wù)交接的情況,更能夠?yàn)樽詣?dòng)化奠定基礎(chǔ)。
1.業(yè)務(wù)過程清晰:ODS就是原始信息,不修改;DWD面向基礎(chǔ)業(yè)務(wù)過程;
DIM描述維度信息;DWS針對最小場景做指標(biāo)計(jì)算;ADS也要分層,面
向跨域的建設(shè),和面向應(yīng)用的建設(shè);
2.指標(biāo)可理解:按照一定業(yè)務(wù)事務(wù)過程進(jìn)行業(yè)務(wù)劃分,明細(xì)層粒度明確、歷
史數(shù)據(jù)可獲取,匯總層維度和指標(biāo)同名同義,能客觀反映業(yè)務(wù)不同角度下
的量化程度;
3.核心模型相對穩(wěn)定:如果業(yè)務(wù)過程運(yùn)行的比較久,過程相對固定,就要盡
快下沉到公共層,形成可復(fù)用的核心模型;
4.高內(nèi)聚低耦合:各主題內(nèi)數(shù)據(jù)模型要業(yè)務(wù)高內(nèi)聚,避免在一個(gè)模型耦合其
他業(yè)務(wù)的指標(biāo),造成該模型主題不清晰和性價(jià)比低。
小編有話
?在傳統(tǒng)企業(yè)數(shù)倉中,業(yè)務(wù)相對穩(wěn)定,以范式建模為主。如電信、金融行業(yè)
等
?在互聯(lián)網(wǎng)公司,業(yè)務(wù)變化快,需求來來回回的改,計(jì)算和存儲(chǔ)也不是問
題,我們更關(guān)心快速便捷的滿足業(yè)務(wù)需求,所以以維度建模為主。
三、三種事實(shí)表
事實(shí)表作為數(shù)據(jù)倉庫維度建模的核心,緊緊圍繞著業(yè)務(wù)過程來設(shè)計(jì),
通過獲取描述業(yè)務(wù)過程的度量來表達(dá)業(yè)務(wù)過程,包含了引用的維度和與業(yè)
務(wù)過程有關(guān)的度量。
1、三種事實(shí)表概述
事實(shí)表有三種類型:事務(wù)事實(shí)表、周期快照事實(shí)表和累積快照事實(shí)表。
?1.1事務(wù)事實(shí)表
也稱原子事實(shí)表,描述業(yè)務(wù)過程,跟蹤控件或時(shí)間上某點(diǎn)的度量事
件,保存的是最原子的數(shù)據(jù);
個(gè)人理解:類似于mysqlbinlog日志,每一次相關(guān)的change都記
錄下來,生成一行新的數(shù)據(jù)
?1.2周期快照事實(shí)表
以一個(gè)周期為時(shí)間間隔,來記錄事實(shí),一般周期可以是每天、每周、
每月、每年等;
個(gè)人理解:只看某個(gè)業(yè)務(wù)過程,比如訂單收貨,數(shù)據(jù)按訂單收貨時(shí)間
來切分,周期可以為每天、每月等。
?1.3累積快照事實(shí)
用來描述過程開始和結(jié)束之間的關(guān)鍵步驟事件,覆蓋過程的整個(gè)生命
周期,通常具有多個(gè)日期字段來記錄關(guān)鍵時(shí)間點(diǎn);當(dāng)過程隨著生命周期不
斷變化時(shí),記錄也會(huì)隨著過程的變化而被修改;
個(gè)人理解:要看整個(gè)生命周期的多個(gè)業(yè)務(wù)過程,比如:創(chuàng)建訂單一
買家付款一賣家發(fā)貨一買家確認(rèn)收貨。粒度是一個(gè)訂單一行數(shù)據(jù),創(chuàng)建
訂單時(shí)間,付款時(shí)間,發(fā)貨時(shí)間,收貨時(shí)間,分別作為一個(gè)字段,便于計(jì)
算不同業(yè)務(wù)過程的時(shí)間間隔。
2、三種事實(shí)表對比
事務(wù)事實(shí)表周期快照事實(shí)表累積快照事實(shí)表
時(shí)期/以有規(guī)律的、可預(yù)測用于時(shí)間跨度不確定
時(shí)間離散事務(wù)時(shí)間點(diǎn)的的不斷變化的工作流
日期相關(guān)業(yè)務(wù)過程涉及的
維度事務(wù)日期快照日期多個(gè)日期
每行代表實(shí)體的一個(gè)每行代表某時(shí)間周期每行代表一個(gè)實(shí)體的
粒度事務(wù)的一個(gè)實(shí)體生命周期
相關(guān)業(yè)務(wù)過程事實(shí)和
事實(shí)事務(wù)事實(shí)累積事實(shí)時(shí)間間隔事實(shí)
事實(shí)
表加
載插入插入插入與更新
事實(shí)
表更
新不更新不更新業(yè)務(wù)過程變更時(shí)更新
3、事實(shí)表設(shè)計(jì)8大原則
?原則1:盡可能包含所有與業(yè)務(wù)過程相關(guān)的事實(shí)
■分析哪些事實(shí)與業(yè)務(wù)過程相關(guān),是設(shè)計(jì)過程中非常重要的關(guān)注點(diǎn);
■在事實(shí)表中,盡量包含所有與業(yè)務(wù)過程相關(guān)的事實(shí),即使存在冗余,
由于事實(shí)通常是數(shù)字型,存儲(chǔ)開銷不會(huì)太大;
?原則2:只選擇與業(yè)務(wù)過程相關(guān)的事實(shí)
■如,訂單的下單這個(gè)業(yè)務(wù)過程,事實(shí)表中不應(yīng)該存在支付金額這個(gè)表
示支付業(yè)務(wù)過程的事實(shí);
?原則3:分解不可加性事實(shí)為可加的組件
■如,訂單的優(yōu)惠率,應(yīng)分解為訂單原價(jià)金額與訂單優(yōu)惠金額兩個(gè)事實(shí)
存儲(chǔ)在事實(shí)表中;
?原則4:在選擇維度和事實(shí)之前必須先聲明粒度
■因?yàn)樵恿6忍峁┝俗畲笙薅鹊撵`活性,可以支持無法預(yù)期的各種細(xì)
節(jié)層次的用戶需求;
■粒度用于確定事實(shí)表中一行所表示業(yè)務(wù)的細(xì)節(jié)層次,決定了維度模型
的擴(kuò)展性;
■每個(gè)維度和事實(shí)必須與所定義的粒度保持一致;
■設(shè)計(jì)事實(shí)表時(shí),粒度定義越細(xì)越好,一般從最低級別的原子粒度開
始;
?原則5:在同一個(gè)事實(shí)表中不能有多種不同粒度的事實(shí)
■粒度為票一級;(實(shí)際業(yè)務(wù)中,一個(gè)訂單可以同時(shí)支付多張票)
■票支付金額和票折扣金額,兩個(gè)事實(shí)的粒度為"票級",與定義的粒度
一致;
?訂單支付金額和訂單票數(shù),兩個(gè)事實(shí)的粒度為“訂單級",屬于上一層
訂單級數(shù)據(jù),與"票級"事實(shí)表的粒度不一致,且不能進(jìn)行匯總;
■如果,以訂單金額和訂單票數(shù)這兩個(gè)維度匯總總金額和總票數(shù),會(huì)造
成大量的重復(fù)計(jì)算;
■疑問:怎么判斷不同事實(shí)的粒度是否相同?
?原則6:事實(shí)的單位要保持一致
■如,訂單金額、訂單優(yōu)惠金額、訂單運(yùn)費(fèi)這3個(gè)事實(shí),應(yīng)該采用統(tǒng)一
的計(jì)量單位,統(tǒng)一為元或者分,以方便使用;
?原則7:對事實(shí)的null值要處理
■原因:在數(shù)據(jù)庫中,null值對常用數(shù)字型字段的SQL過濾條件都不
生效;如,大于、小于、等于、大于或等于、小于或等于;
?處理:用0代替null;
?原則8:使用退化維度提高事實(shí)表的易用性
■易用性:對事實(shí)表,更較少關(guān)聯(lián)操作、過濾查詢、控制聚合層次、排
序數(shù)據(jù)、定義主從關(guān)系等;
1.事實(shí)表中存儲(chǔ)各種類型的常用維度信息,較少下游用戶使用時(shí)關(guān)聯(lián)多
個(gè)表的操作;
2.通過退化維度,可以實(shí)現(xiàn)對事實(shí)表的過濾查詢、控制聚合層次、排序
數(shù)據(jù)、定義主從關(guān)系等;
?在Kimball的維度建模中,通常按照星形模型的方式設(shè)計(jì),通過事實(shí)表的
外鍵關(guān)聯(lián)專門的維表,這種方式來獲取維度,謹(jǐn)慎使用退化維表;這與大
數(shù)據(jù)領(lǐng)域的事實(shí)表設(shè)計(jì)不一樣;
■思路:通過增加冗余存儲(chǔ),減少計(jì)算開銷,提高使用效率;
、事實(shí)表設(shè)計(jì)方法
Kimball的維度模型設(shè)計(jì)4步法:選擇業(yè)務(wù)過程、聲明粒度、確定維
度、確定事實(shí);
當(dāng)前的互聯(lián)網(wǎng)大數(shù)據(jù)環(huán)境,維度模型的設(shè)計(jì),是基于Kimball的四步
維度建模方法進(jìn)行了更進(jìn)一步的改進(jìn):
?第一步:選擇業(yè)務(wù)過程及確定事實(shí)表類型
■如淘寶的一個(gè)交易訂單,選擇"買家付款”這個(gè)業(yè)務(wù)過程,則事實(shí)表類
型應(yīng)為只包含買家付款這一個(gè)業(yè)務(wù)過程的“單事務(wù)事實(shí)表";
■如選擇了所有4個(gè)業(yè)務(wù)過程,并且需要分享各業(yè)務(wù)過程的時(shí)間間隔,
則事實(shí)表類型應(yīng)為包含了所有4個(gè)業(yè)務(wù)過程的“累積快照事實(shí)表”;
?如是選擇“買家付款”這個(gè)業(yè)務(wù)過程,還是選擇“創(chuàng)建訂單"和"買家付
款”這兩個(gè)業(yè)務(wù)過程,具體根據(jù)業(yè)務(wù)情況來定;
?思路:詳細(xì)分析需求,對業(yè)務(wù)的整個(gè)生命周期進(jìn)行分析,明確關(guān)鍵的
業(yè)務(wù)步驟,從而選擇與需求有關(guān)的業(yè)務(wù)過程;
-以實(shí)例說明:如何選擇業(yè)務(wù)過程?如何確定事實(shí)表類型?
1.分析業(yè)務(wù)的生命周期,業(yè)務(wù)過程通常使用行為動(dòng)詞表示業(yè)務(wù)執(zhí)行的活
動(dòng);
2.明確關(guān)鍵的業(yè)務(wù)步驟:該訂單流轉(zhuǎn)的業(yè)務(wù)過程有4個(gè):創(chuàng)建訂單一
買家付款一賣家發(fā)貨一買家確認(rèn)收貨;
3.根據(jù)業(yè)務(wù)需求,選擇與維度建模有關(guān)的業(yè)務(wù)過程;
4.根據(jù)所選的業(yè)務(wù)過程確定事實(shí)表類型;
?第二步:聲明粒度
■粒度的作用:
■粒度的選擇:盡量選擇最細(xì)級別的原子粒度,以確保事實(shí)表的應(yīng)用具
有最大的靈活性;
1.靈活性:支持無法預(yù)期的各種細(xì)節(jié)層次的用戶需求;
2.對于訂單級別,粒度可以定義為最細(xì)的訂單級別;(如,父子訂單,
事實(shí)表的粒度可以定"子訂單級別";)
3.粒度的聲明,意味著精確定義事實(shí)表的每一行所表示的業(yè)務(wù)含義;
4.明確的粒度能夠確保對實(shí)表中行的意思的理解不會(huì)產(chǎn)生混淆,保證所
有的事實(shí)按照同樣的細(xì)節(jié)層次記錄;
?第三步:確定維度
■如,淘寶訂單"付款事務(wù)事實(shí)表”中,粒度為"子訂單",相關(guān)的維度有
買家、賣家、商品、收貨人信息、業(yè)務(wù)類型、訂單時(shí)間等;
■完成了粒度聲明,就意味著確定了主鍵,對應(yīng)的維度組合以及相關(guān)的
維度字段也可以確定了;
■選擇維度的原則:應(yīng)該選擇能夠描述清楚業(yè)務(wù)過程所處的環(huán)境的維度
信息;
?第四步:確定事實(shí)
■確定原則:選擇與業(yè)務(wù)過程有關(guān)的所有事實(shí),且事實(shí)的粒度要與所聲
明的事實(shí)表的粒度一致;
■思路:可以通過回答"過程的度量是什么"來確定;
■注意:將不可加性事實(shí)分解為可加的組件;(分解的原則:可以通過
分解后的可加的屬性值,計(jì)算得到不可加性事實(shí))
掃描二維碼獲取
更多精彩
四、多維體系結(jié)構(gòu)
在Kimball的維度建模的數(shù)據(jù)倉庫中,關(guān)于多維體系結(jié)構(gòu)(MD)有
三個(gè)關(guān)鍵性概念:總線架構(gòu)(BusArchitecture),
(ConformedDimension)和一致性事實(shí)(ConfomiedFact)。
1、總線架構(gòu)
多維體系結(jié)構(gòu)(總線架構(gòu))數(shù)據(jù)倉庫領(lǐng)域里,有一種構(gòu)建數(shù)據(jù)倉庫的架
構(gòu),叫MultidimensionalArchitecture(MD),中文一般翻譯為“多維體系
結(jié)構(gòu)”,也稱為“總線架構(gòu)”(BusArchitecture)?
多維體系結(jié)構(gòu)的創(chuàng)始人是數(shù)據(jù)倉庫領(lǐng)域中最有實(shí)踐經(jīng)驗(yàn)的Kimball博
士。多維體系結(jié)構(gòu)主要包括后臺(BackRoom)和前臺(FrontRoom)兩
部分。后臺也稱為數(shù)據(jù)準(zhǔn)備區(qū)(StagingArea),是MD架構(gòu)的最為核心
的部件。在后臺,是一致性維度的產(chǎn)生、保存和分發(fā)的場所。同時(shí),代理
鍵也在后臺產(chǎn)生。前臺是MD架構(gòu)對外的接口,包括兩種主要的數(shù)據(jù)集
市,一種是原子數(shù)據(jù)集市,另一種是聚集數(shù)據(jù)集市。
原子數(shù)據(jù)集市保存著最低粒度的細(xì)節(jié)數(shù)據(jù),數(shù)據(jù)以星型結(jié)構(gòu)來進(jìn)行數(shù)
據(jù)存儲(chǔ)。聚集數(shù)據(jù)集市的粒度通常比原子數(shù)據(jù)集市要高,和原子數(shù)據(jù)集市
一樣,聚集數(shù)據(jù)集市也是以星型結(jié)構(gòu)來進(jìn)行數(shù)據(jù)存儲(chǔ)前臺還包括像查詢
管理、活動(dòng)監(jiān)控等為了提供數(shù)據(jù)倉庫的性能和質(zhì)量的服務(wù)。在多維體系結(jié)
構(gòu)中,所有的這些基于星型機(jī)構(gòu)來建立的數(shù)據(jù)集市可以在物理上存在于一
個(gè)數(shù)據(jù)庫實(shí)例中,也可以分散在不同的機(jī)器上,而所有這些數(shù)據(jù)集市的集
合組成的分布式的數(shù)據(jù)倉庫。
公共維度
業(yè)務(wù)過程
提出購買訂單XXX
接收倉庫存貨XXXX
倉庫庫存XXX
接收商店存貨XXXXX
商店庫存XXX
零售XXXXXX
零售預(yù)測XXX
零售促銷跟蹤XXXX
客戶退貨XXXXXX
退貨至供應(yīng)商XXXX
??妥訶XXX
圖4-10零售商的企業(yè)數(shù)據(jù)倉庫總線矩陣示例
致性維度
在多維體系結(jié)構(gòu)中,沒有物理上的數(shù)據(jù)倉庫,由物理上的數(shù)據(jù)集市組
合成邏輯上的數(shù)據(jù)倉庫。而且數(shù)據(jù)集市的建立是可以逐步完成的,最終組
合在一起,成為一個(gè)數(shù)據(jù)倉庫。如果分步建立數(shù)據(jù)集市的過程出現(xiàn)了問
題,數(shù)據(jù)集市就會(huì)變成孤立的集市,不能組合成數(shù)據(jù)倉庫,而一致性維度
的提出正式為了解決這個(gè)問題。
一致性維度的范圍是總線架構(gòu)中的維度,即可能會(huì)在多個(gè)數(shù)據(jù)集市中
都存在的維度,這個(gè)范圍的選取需要架構(gòu)師來決定。一致性維度的內(nèi)容和
普通維度并沒有本質(zhì)上區(qū)別,都是經(jīng)過數(shù)據(jù)清洗和整合后的結(jié)果。一致性
維度建立的地點(diǎn)是多維體系結(jié)構(gòu)的后臺(BackRoom),即數(shù)據(jù)準(zhǔn)備區(qū)。
在多維體系結(jié)構(gòu)的數(shù)據(jù)倉庫項(xiàng)目組內(nèi)需要有專門的維度設(shè)計(jì)師,他的
職責(zé)就是建立維度和維護(hù)維度的一致性。在后臺建立好的維度同步復(fù)制到
各個(gè)數(shù)據(jù)集市。這樣所有數(shù)據(jù)集市的這部分維度都是完全相同的。建立新
的數(shù)據(jù)集市時(shí).,需要在后臺進(jìn)行一致性維度處理,根據(jù)情況來決定是否新
增和修改一致性維度,然后同步復(fù)制到各個(gè)數(shù)據(jù)集市。這是不同數(shù)據(jù)集市
維度保持一致的要點(diǎn)。
在同一個(gè)集市內(nèi),一致性維度的意思是兩個(gè)維度如果有關(guān)系,要么就
是完全一樣的,要么就是一個(gè)維度在數(shù)學(xué)意義上是另一個(gè)維度的子集。
例如,如果建立月維度話,月維度的各種描述必須與日期維度中的完
全一致,最常用的做法就是在日期維度上建立視圖生成月維度。這樣月維
度就可以是日期維度的子集,在后續(xù)鉆取等操作時(shí)可以保持一致。如果維
度表中的數(shù)據(jù)量較大,出于效率的考慮,應(yīng)該建立物化視圖或者實(shí)際的物
理表。這樣,維度保持一致后,事實(shí)就可以保存在各個(gè)數(shù)據(jù)集市中。雖然
在物理上是獨(dú)立的,但在邏輯上由一致性維度使所有的數(shù)據(jù)集市是聯(lián)系在
一起,隨時(shí)可以進(jìn)行交叉探察等操作,也就組成了數(shù)據(jù)倉庫。
3、一致性事實(shí)
在建立多個(gè)數(shù)據(jù)集市時(shí),完成一致性維度的工作就已經(jīng)完成了一致性
的80%—90%的工作量。余下的工作就是建立一致性事實(shí)。一致性事實(shí)和
一致性維度有些不同,一致性維度是由專人維護(hù)在后臺(BackRoom),
發(fā)生修改時(shí)同步復(fù)制到每個(gè)數(shù)據(jù)集市,而事實(shí)表一般不會(huì)在多個(gè)數(shù)據(jù)集市
間復(fù)制。需要查詢多個(gè)數(shù)據(jù)集市中的事實(shí)時(shí).,一般通過交叉探查(drill
across)來實(shí)現(xiàn)。
為了能在多個(gè)數(shù)據(jù)集市間進(jìn)行交叉探查,一致性事實(shí)主要需要保證兩
點(diǎn):第一個(gè)是KPI的定義及計(jì)算方法要一致,第二個(gè)是事實(shí)的單位要一致
性。如果業(yè)務(wù)要求或事實(shí)上就不能保持一致的話,建議不同單位的事實(shí)分
開建立字段保存。
這樣,一致性維度將多個(gè)數(shù)據(jù)集市結(jié)合在一起,一致性事實(shí)保證不同
數(shù)據(jù)集市間的事實(shí)數(shù)據(jù)可以交叉探查,一個(gè)分布式的數(shù)據(jù)倉庫就建成了。
小遍有活
■總線矩陣:業(yè)務(wù)過程和維度的交點(diǎn);
■一致性維度:同一集市的維度表,內(nèi)容相同或包含;
?一致性事實(shí):不同集市的同一事實(shí),需保證口徑一致,單位統(tǒng)一。
追求一致性必然會(huì)增加開發(fā)工作量,但長期來說,使用方便、運(yùn)維簡
單;一致性和性能之間,需要平衡。
五、數(shù)據(jù)倉庫規(guī)范設(shè)計(jì)
1、為什么要進(jìn)行規(guī)范設(shè)計(jì)
無規(guī)矩、不方圓。規(guī)范設(shè)計(jì)是在具體開發(fā)工作之前制定的,過程中不
斷進(jìn)行完善。目的在于約束N個(gè)人對齊認(rèn)知,按照一個(gè)標(biāo)準(zhǔn)或流程進(jìn)行
開發(fā),以保證數(shù)據(jù)一致性,流程清晰且穩(wěn)定。
一個(gè)良好的規(guī)范設(shè)計(jì),應(yīng)當(dāng)起到以下作用:提高開發(fā)效率,提升質(zhì)
■,降低溝通對齊成本,降低運(yùn)維成本等。
下面西紅柿口將帶領(lǐng)大家盤一盤數(shù)據(jù)倉庫有哪些規(guī)范,從中挑選幾個(gè)
重點(diǎn)細(xì)說:
?設(shè)計(jì)規(guī)范
邏輯架構(gòu)、技術(shù)架構(gòu)、分層設(shè)計(jì)、主題劃分、方法論
?命名規(guī)范
各層級命名、任務(wù)命名、表命名、字段命名、指標(biāo)命名等
?模型規(guī)范
建模方法、建模工具、血緣關(guān)系、維度退化、一致性維度、元數(shù)
據(jù)管理
?開發(fā)規(guī)范
腳本注釋、字段別名、編碼規(guī)范、腳本格式、數(shù)據(jù)類型、縮寫規(guī)
范
?流程規(guī)范
需求流程、工程流程、上線流程、調(diào)度流、調(diào)度和表生命周期管
理
人設(shè)計(jì)規(guī)范-指標(biāo)
?Stepl:面向主題域管理
為了提高指標(biāo)管理的效率,你需要按照業(yè)務(wù)線、主題域和業(yè)務(wù)過程三
級目錄方式管理指標(biāo)。
?Step2:劃分原子指標(biāo)和派生指標(biāo)
原子指標(biāo)+原子指標(biāo)=派生指標(biāo)
?Step3:進(jìn)行指標(biāo)命名規(guī)范
需要遵循兩個(gè)原則:易懂與統(tǒng)一
1.易懂,就是看到指標(biāo)的名稱,就可以基本判斷這個(gè)指標(biāo)歸屬于哪個(gè)業(yè)務(wù)過
程;
2.統(tǒng)一,就是要確保派生指標(biāo)和它繼承的原子指標(biāo)命名是一致的。
對于原子指標(biāo),標(biāo)名稱適合用"動(dòng)作+度量”的命名方式(比如注冊用戶
數(shù)、購買用戶數(shù))
對于派生指標(biāo),應(yīng)該嚴(yán)格遵循"時(shí)間周期+統(tǒng)計(jì)粒度+修飾詞+原子指
標(biāo)”的命名方式。(比如30天內(nèi)黑卡會(huì)員購買用戶數(shù))
?Step4:分級管理
指標(biāo)確實(shí)是多,如果一視同仁去管理其實(shí)很難,所以可以按照下面的原則
進(jìn)行等級劃分:
1.一級指標(biāo):數(shù)據(jù)中臺直接產(chǎn)出,核心指標(biāo)(提供給公司高層看的)、原子
指標(biāo)以及跨部門的派生指標(biāo)。
2.二級指標(biāo):基于中臺提供的原子指標(biāo),業(yè)務(wù)部門創(chuàng)建的派生指標(biāo)。
3、命名規(guī)范-表命名
3.1常規(guī)表
常規(guī)表是我們需要固化的表,是正式使用的表,是目前一段時(shí)間內(nèi)需
要去維護(hù)去完善的表。
規(guī)范:分層前鰥[dwd|dws|ads|bi]_業(yè)務(wù)域一主題域一XXX.更新頻率|
全量/增量。
業(yè)務(wù)域、主題域我們都可以用詞根的方式枚舉清楚,不斷完善,粒度
也是同樣的,主要的是時(shí)間粒度、日、月、年、周等,使用詞根定義好簡
稱。
建議格式:dwd_xxx_xxx_da
?di:每日增量
?da:每日全量
?mi:每月增量
?ma:每月全量
3.2中間表
中間表一般出現(xiàn)在Job中,是Job中臨時(shí)存儲(chǔ)的中間數(shù)據(jù)的表,中
間表的作用域只限于當(dāng)前Job執(zhí)行過程中,Job一旦執(zhí)行完成,該中間表
的使命就完成了,是可以刪除的(按照自己公司的場景自由選擇,以前公
司會(huì)保留幾天的中間表數(shù)據(jù),用來排查問題)。
建議格式:mid_table_name_[0~9]
table_name是我們?nèi)蝿?wù)中目標(biāo)表的名字,通常來說一個(gè)任務(wù)只有一
個(gè)目標(biāo)表。這里加上表名,是為了防止自由發(fā)揮的時(shí)候表名沖突,而末尾
大家可以選擇自由發(fā)揮,起一些有意義的名字,或者簡單粗暴,使用數(shù)字
代替,各有優(yōu)劣吧,謹(jǐn)慎選擇。
3.3臨時(shí)表
臨時(shí)表是臨時(shí)測試的表,是臨時(shí)使用一次的表,就是暫時(shí)保存下數(shù)據(jù)
看看,后續(xù)一般不再使用的表,是可以隨時(shí)刪除的表。
建議格式:tmp_xxx
只要加上tmp開頭即可,其他名字隨意,注意tmp開頭的表不要用
來實(shí)際使用,只是測試驗(yàn)證而已。
3.4維度表
維度表是基于底層數(shù)據(jù),抽象出來的描述類的表。維度表可以自動(dòng)從
底層表抽象出來,也可以手工來維護(hù)。
建議格式:dim_xxx
維度表,統(tǒng)一以dim開頭,后面加上,對該指標(biāo)的描述,可以自由發(fā)
揮。
M3聘廂__________________________________________
1表和列的注釋釋是否有缺失,復(fù)雜計(jì)算邏輯是否有注釋釋
2任務(wù)是否支持多次重跑而輸出不變,不能有insertinto語句
3分區(qū)表是否使用分區(qū)鍵過濾并且有有效裁剪
外連接的過逑條件是否使用正確,例如在左連接的where語句存在右
表的過濾條件
5關(guān)聯(lián)小表,是否使用/*+mapjoin*/hint
6不允許引用別的計(jì)算任務(wù)臨時(shí)表
7原則上不允許存在一個(gè)任務(wù)更新多個(gè)目標(biāo)表
8是否存在笞、迪卡爾積
9禁止在代碼里面使用drop11Ible、creat它11Ible、renaiue11lble>
chan零column等ddl語句
10使用動(dòng)態(tài)分區(qū)時(shí).,有沒有檢查分區(qū)鍵值為NULL的情況
11DQC質(zhì)量監(jiān)控規(guī)則是否配置,嚴(yán)禁棵奔
12代碼中有沒有進(jìn)行適當(dāng)?shù)囊?guī)避數(shù)據(jù)傾斜語句
13Where條件中isnull語句有沒有進(jìn)行空字符串處理
5、流程規(guī)范
根據(jù)阿里流程規(guī)范,本文將數(shù)據(jù)倉庫研發(fā)流程抽象為如下幾點(diǎn):
1.需求階段:數(shù)據(jù)產(chǎn)品經(jīng)理應(yīng)如何應(yīng)對不斷變化的業(yè)務(wù)需求。
2.設(shè)計(jì)階段:數(shù)據(jù)產(chǎn)品經(jīng)理、數(shù)據(jù)開發(fā)者應(yīng)如何綜合性能、成本、效率、質(zhì)
量等因素,更好地組織與存儲(chǔ)數(shù)據(jù)。
3.開發(fā)階段:數(shù)據(jù)研發(fā)者如何高效、規(guī)范地進(jìn)行編碼工作。
4.測試階段:測試人員應(yīng)如何準(zhǔn)確地暴露代碼問題與項(xiàng)目風(fēng)險(xiǎn),提升產(chǎn)出質(zhì)
量。
5.發(fā)布階段:如何將具備發(fā)布條件的程序平穩(wěn)地發(fā)布到線上穩(wěn)定產(chǎn)出。
6.運(yùn)維階段:運(yùn)維人員應(yīng)如何保障數(shù)據(jù)產(chǎn)出的時(shí)效性和穩(wěn)定性。
參與角色需求階段設(shè)計(jì)階段開發(fā)階段測試階段發(fā)布險(xiǎn)收
六、元數(shù)據(jù)管理
1、業(yè)務(wù)元數(shù)據(jù)
1.描述“數(shù)據(jù)”背后的業(yè)務(wù)含義
2.主題定義:每段ETL、表背后的歸屬業(yè)務(wù)主題。
3.業(yè)務(wù)描述:每段代碼實(shí)現(xiàn)的具體業(yè)務(wù)邏輯。
4.標(biāo)準(zhǔn)指標(biāo):類似于BI中的語義層、數(shù)倉中的一致性事實(shí);將分析中的指
標(biāo)進(jìn)行規(guī)范化。
5.標(biāo)準(zhǔn)維度:同標(biāo)準(zhǔn)指標(biāo),對分析的各維度定義實(shí)現(xiàn)規(guī)范化、標(biāo)準(zhǔn)化。
6.不斷的進(jìn)行維護(hù)且與業(yè)務(wù)方進(jìn)行溝通確認(rèn)。
2、技術(shù)元數(shù)據(jù)
?數(shù)據(jù)源元數(shù)據(jù)
-例如:數(shù)據(jù)源的IP、端口、數(shù)據(jù)庫類型;數(shù)據(jù)獲取的方式;數(shù)據(jù)存儲(chǔ)
的結(jié)構(gòu);原數(shù)據(jù)各列的定義及key指對應(yīng)的值。
?ETL元數(shù)據(jù)
?根據(jù)ETL目的的不同,可以分為兩類:數(shù)據(jù)清洗元數(shù)據(jù);數(shù)據(jù)處理元
數(shù)據(jù)。
?數(shù)據(jù)清洗,主要目的是為了解決掉臟數(shù)據(jù)及規(guī)范數(shù)據(jù)格式;因此此處
元數(shù)據(jù)主要為:各表各列的“正確”數(shù)據(jù)規(guī)則;默認(rèn)數(shù)據(jù)類型的“正確"
規(guī)則。
-數(shù)據(jù)處理,例如常見的表輸入表輸出;非結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化;特殊字
段的拆分等。源數(shù)據(jù)到數(shù)倉、數(shù)據(jù)集市層的各類規(guī)則。比如內(nèi)容、清
理、數(shù)據(jù)刷新規(guī)則。
?數(shù)據(jù)倉庫元數(shù)據(jù)
?數(shù)據(jù)倉庫結(jié)構(gòu)的描述,包括倉庫模式、視圖、維、層次結(jié)構(gòu)及數(shù)據(jù)集
市的位置和內(nèi)容;業(yè)務(wù)系統(tǒng)、數(shù)據(jù)倉庫和數(shù)據(jù)集市的體系結(jié)構(gòu)和模式
等。
?BI元數(shù)據(jù)
?匯總用的算法、包括各類度量和維度定義算法。數(shù)據(jù)粒度、主題領(lǐng)
域、聚集、匯總、預(yù)定義的查詢與報(bào)告。
3、管理元數(shù)據(jù)
管理領(lǐng)域相關(guān),包括管理流程、人員組織、角色職責(zé)等。
、小編有話
在日常工作中,元數(shù)據(jù)的管理主要體現(xiàn)在元數(shù)據(jù)的采集、存儲(chǔ)、查詢、應(yīng)
用幾個(gè)方面。原則上應(yīng)從規(guī)范化,到腳本化,到工具化的方向進(jìn)行建設(shè)。
?采集:元數(shù)據(jù)采集時(shí)盡可能詳細(xì),真實(shí),可通過工具生成或者勾選,避免
手動(dòng)錄入帶來不規(guī)范等問題
?存儲(chǔ):存儲(chǔ)元數(shù)據(jù)要做到不失真,元數(shù)據(jù)變更時(shí)及時(shí)同步
?查詢:通過網(wǎng)頁或庫表等方式,方便快捷的看到元數(shù)據(jù),輔助進(jìn)行開發(fā)
?應(yīng)用:數(shù)據(jù)血緣、優(yōu)化調(diào)度依賴、數(shù)據(jù)治理等
七、維度表
1、什么是維度表
維度是維度建模的基礎(chǔ)和靈魂。在維度建模中,將度量稱為“事實(shí)",將
環(huán)境描述為"維度”。
維度表包含了事實(shí)表中指定屬性的相關(guān)詳細(xì)信息,最常用的維度表有日期
維度、城市維度等。
日期維表:
num字段名字段中文名描述數(shù)據(jù)類型
1date日期日期yyyMMdd格式bigint
2week星期,數(shù)字型星期,數(shù)字型0-6bigint
星期中文名星期
3week_cn星期中文名string
一年中的第兒一年中的第幾周
4year_weeks12bigint
周3.......
5mon_dt本周周一日期本周周一日期bigint
6sun_dt本周周日日期本周周日日期bigint
7month年月年月,yyyyMM格式bigint
月份簡寫,MM格式
8month_short月份簡寫bigint
1~12
9month__cn月份中文名月份中文名一月……string
1()quarter季度季度,yyyyQl\2\3\4string
11quarter_short季度數(shù)字型季度數(shù)字型1-4bigint
季度中文名第一季
12quarter_cn季度中文名string
度……
13year年份年份,yyyy格式bigint
2、維度表設(shè)計(jì)原則
維度的作用一般是查詢約束、分類匯總以及排序等,我們在進(jìn)行維度表設(shè)
計(jì)時(shí),應(yīng)當(dāng)提前考慮:
(1)維度屬性盡量豐富,為數(shù)據(jù)使用打下基礎(chǔ)
比如淘寶商品維度有近百個(gè)維度屬性,為下游的數(shù)據(jù)統(tǒng)計(jì)、分析、探
查提供了良好的基礎(chǔ)。
(2)給出詳實(shí)的、富有意義的文字描述
屬性不應(yīng)該是編碼,而應(yīng)該是真正的文字。在間里巴巴維度建模中,
一般是編碼和文字同時(shí)存在,比如商品維度中的商品ID和商品標(biāo)題、類
目ID和類目名稱等。ID-般用于不同表之間的關(guān)聯(lián),而名稱一般用于
報(bào)表標(biāo)簽
(3)區(qū)分?jǐn)?shù)值型屬性和事實(shí)
數(shù)值型宇段是作為事實(shí)還是維度屬性,可以參考字段的一般用途。如
果通常用于查詢約束條件或分組統(tǒng)計(jì),則是作為維度屬性;如果通常用于
參與度量的計(jì)算,則是作為事實(shí)。比如商品價(jià)格,可以用于查詢約束條
件或統(tǒng)計(jì)價(jià)格區(qū)間的商品數(shù)量,此時(shí)是作為維度屬性使用的;也可以用于
統(tǒng)計(jì)某類目下商品的平均價(jià)格,此時(shí)是作為事實(shí)使用的。另外,如果數(shù)
值型字段是離散值,則作為維度屬性存在的可能性較大;如果數(shù)值型宇段
是連續(xù)值,則作為度量存在的可能性較大,但并不絕對,需要同時(shí)參考
宇段的具體用途。
(4)沉淀出通用的維度屬性,為建立一致性維度做好鋪墊
有些維度屬性獲取需要進(jìn)行比較復(fù)雜的邏輯處理,有些需要通過多表
關(guān)聯(lián)得到,或者通過單表的不同宇段混合處理得到,或者通過對單表的
某個(gè)字段進(jìn)行解析得到。此時(shí),需要將盡可能多的通用的維度屬性進(jìn)行沉
淀。一方面,可以提高下游使用的方便性,減少復(fù)雜度;另一方面,可以
避免下游使用解析時(shí)由于各自邏輯不同而導(dǎo)致口徑不一致。
(5)退化維度(DegenerateDimension)
在維度類型中,有一種重要的維度稱作為退化維度。這種維度指的是
直接把一些簡單的維度放在事實(shí)表中。退化維度是維度建模領(lǐng)域中的一個(gè)
非常重要的概念,它對理解維度建模有著非常重要的作用,退化維度一般
在分析中可以用來做分組使用。
(6)緩慢變化維(SlowlyChangingDimensions)
維度的屬性并不是始終不變的,它會(huì)隨著時(shí)間的流逝發(fā)生緩慢的變
化,這種隨時(shí)間發(fā)生變化的維度我們一般稱之為緩慢變化維(SCD),緩
慢變化維一般使用代理健作為維度表的主健。
推薦閱讀:緩慢變化維度的10種處理方式
緩慢變化維的三種常用處理方式:
@TYPE1直接覆蓋原值
適用于:不看歷史數(shù)據(jù),簡單粗暴
user_idusernaaedeptname
El024虎妞產(chǎn)品部
I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地理課題申報(bào)項(xiàng)目書范文
- 小學(xué)街舞課題申報(bào)書范文
- 課題申報(bào)書檢索怎么寫
- 體育校級課題申報(bào)書模板
- 單位家電清洗合同范例
- 課題申報(bào)書作業(yè)設(shè)計(jì)模板
- 廚房砌磚合同范本
- 體育強(qiáng)國課題申報(bào)書
- 數(shù)學(xué)作業(yè)課題申報(bào)書格式
- 買隨車吊合同范本
- 生物-天一大聯(lián)考2025屆高三四省聯(lián)考(陜晉青寧)試題和解析
- 2024廣西公務(wù)員考試及答案(筆試、申論A、B類、行測)4套 真題
- 川教版六年級《生命.生態(tài).安全》下冊第1課《我們的閑暇時(shí)光》課件
- 汽車坡道玻璃雨棚施工方案
- 跨文化商務(wù)交際導(dǎo)論 課件 Unit 1 Culture
- 高效空調(diào)制冷機(jī)房智能控制系統(tǒng)技術(shù)規(guī)程
- 幼兒園一日活動(dòng)流程表
- 中國民俗知識競賽題(附答案和詳細(xì)解析)
- 散裝水泥罐體標(biāo)準(zhǔn)資料
- 原發(fā)性肝癌臨床路徑最新版
- 第3章一氧化碳變換
評論
0/150
提交評論