自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大話數(shù)倉(cāng),數(shù)據(jù)倉(cāng)庫(kù),維度建模方法(二)

大數(shù)據(jù) 數(shù)據(jù)倉(cāng)庫(kù)
前文已經(jīng)簡(jiǎn)單介紹了什么是數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)事實(shí)表、維表等相關(guān)概念。在了解這些概念之后,我們要建設(shè)符合企業(yè)要求,能支持業(yè)務(wù)使用、運(yùn)營(yíng)分析的數(shù)據(jù)倉(cāng)庫(kù)。

前文已經(jīng)簡(jiǎn)單介紹了什么是數(shù)據(jù)倉(cāng)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)事實(shí)表、維表等相關(guān)概念。在了解這些概念之后,我們要建設(shè)符合企業(yè)要求,能支持業(yè)務(wù)使用、運(yùn)營(yíng)分析的數(shù)據(jù)倉(cāng)庫(kù)。然而在對(duì)數(shù)據(jù)建模之前,我們要對(duì)整個(gè)業(yè)務(wù)系統(tǒng)有深刻的理解,只有深度理解了公司內(nèi)的業(yè)務(wù),在數(shù)倉(cāng)建設(shè)過(guò)程中才會(huì)抽象出公共維度的事實(shí)寬表,減少數(shù)據(jù)重復(fù)建模、提升數(shù)據(jù)質(zhì)量。

一、維度建模方法論

數(shù)據(jù)倉(cāng)庫(kù)建模方法論有多種:分別是維度建模、范式建模、Data Vault模型、Anchor模型。而在企業(yè)中最流行,最常用的數(shù)倉(cāng)建模方式便是維度建模。

1、維度模型

按數(shù)據(jù)組織建模類型劃分可分為星型模型、雪花模型、星座模型。前文中已經(jīng)介紹了相關(guān)概念,這里不再做過(guò)多贅述。

1.1、星型模型

星型模型是維表和事實(shí)表,以事實(shí)表為中心,所有維度直接關(guān)聯(lián)在事實(shí)表上,呈星型分布,即是 星型模型。

1.2、雪花模型

在星型模型的基礎(chǔ)上,維度表上又關(guān)聯(lián)了其他維度表,這種叫雪花模型。

雪花模型維護(hù)成本高,性能較差,一般很少使用。尤其在基于Hadoop體系構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)時(shí),盡可能的要減少join的操作。

1.3、星座模型

星座模型,是對(duì)星型模型的擴(kuò)展延伸,多張事實(shí)表共享維度表。

2、范式模型

即實(shí)體關(guān)系(ER)模型,從全企業(yè)的高度設(shè)計(jì)一個(gè)3NF模型,用實(shí)體加關(guān)系描述的數(shù)據(jù)模型描述企業(yè)業(yè)務(wù)架構(gòu),在范式理論上符合3NF。

3、Data Vault模型

DataVault由Hub(關(guān)鍵核心業(yè)務(wù)實(shí)體)、Link(關(guān)系)、Satellite(實(shí)體屬性) 三部分組成 ,它是在ER關(guān)系模型上的衍生,同時(shí)設(shè)計(jì)的出發(fā)點(diǎn)也是為了實(shí)現(xiàn)數(shù)據(jù)的整合,并非為數(shù)據(jù)決策分析直接使用。

4、Anchor模型

高度可擴(kuò)展的模型,所有的擴(kuò)展只是添加而不是修改,因此它將模型規(guī)范到6NF,基本變成了K-V結(jié)構(gòu)模型,基本很少使用。

二、維度建模流程

下面通過(guò)一個(gè)業(yè)務(wù)場(chǎng)景來(lái)簡(jiǎn)單論述維度建模的過(guò)程,我們以微商城下單為例:一個(gè)會(huì)員購(gòu)買一件商品,會(huì)生成一條記錄數(shù)據(jù)。這條記錄包含了會(huì)員的ID、商品的ID、時(shí)間,支付金額,支付方式等等諸多業(yè)務(wù)信息,我們對(duì)這條記錄進(jìn)行拆分。

維度建模的步驟:

2.1、收集業(yè)務(wù)需求與數(shù)據(jù)實(shí)現(xiàn)

在進(jìn)行數(shù)據(jù)建模之前,我們要跟業(yè)務(wù)方進(jìn)行充分溝通,理解整個(gè)鏈路的業(yè)務(wù),對(duì)底層數(shù)據(jù)要充分認(rèn)識(shí)。通過(guò)溝通交流、查看數(shù)據(jù)庫(kù)數(shù)據(jù)或現(xiàn)有報(bào)表數(shù)據(jù),理解他們需要的關(guān)鍵性指標(biāo),運(yùn)營(yíng)指標(biāo)。同時(shí)數(shù)據(jù)實(shí)際情況要跟多開發(fā)組進(jìn)行反復(fù)核驗(yàn),確保數(shù)據(jù)的 原子性(原生業(yè)務(wù)數(shù)據(jù),未進(jìn)行任何加工處理的數(shù)據(jù))。

2.2、選擇業(yè)務(wù)過(guò)程

業(yè)務(wù)過(guò)程是業(yè)務(wù)活動(dòng)事件,如下單,支付,退款都是業(yè)務(wù)過(guò)程,把這些過(guò)程轉(zhuǎn)換為事實(shí)表中的事實(shí),多數(shù)事實(shí)表只記錄某一業(yè)務(wù)過(guò)程的結(jié)果。業(yè)務(wù)過(guò)程的選擇非常重要,因?yàn)闃I(yè)務(wù)過(guò)程定義了特定的設(shè)計(jì)目標(biāo)以及對(duì)粒度、維度、事實(shí)的定義。

2.3、聲明粒度

聲明粒度是維度設(shè)計(jì)的重要步驟,粒度用于確定某一事實(shí)表中的行表示什么。在選擇維度或事實(shí)前必須聲明粒度,因?yàn)槊總€(gè)維度或事實(shí)必須與定義的粒度保持一致。在從給定的業(yè)務(wù)過(guò)程獲取數(shù)據(jù)時(shí),原子粒度是最低級(jí)別的粒度。

2.4、確認(rèn)維度

維度是度量的環(huán)境,用來(lái)反映業(yè)務(wù)的一類屬性。這類屬性的集合構(gòu)成一個(gè)維度,也可以稱為實(shí)體對(duì)象。維度屬于一個(gè)數(shù)據(jù)域,如地理維度(其中包括國(guó)家、地區(qū)、省以及城市等級(jí)別的內(nèi)容)、時(shí)間維度(其中包括年、季、月、周、日等級(jí)別的內(nèi)容)。

2.5、確認(rèn)事實(shí)

事實(shí) 涉及來(lái)自業(yè)務(wù)過(guò)程事件的度量,基本上都是以數(shù)據(jù)值表示。事實(shí)表作為數(shù)據(jù)倉(cāng)庫(kù)維度建模的核心,緊緊圍繞著業(yè)務(wù)過(guò)程來(lái)設(shè)計(jì),通過(guò)獲取描述業(yè)務(wù)過(guò)程的度量來(lái)表達(dá)業(yè)務(wù)過(guò)程,包含了引用的維度和與業(yè)務(wù)過(guò)程有關(guān)的度量。在設(shè)計(jì)過(guò)程中,可以選擇不同類型的事實(shí)表,它們有各自的適用場(chǎng)景

2.6、數(shù)據(jù)建模

選擇一種維度模型進(jìn)行數(shù)據(jù)建模,使用星型建模對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行建模。

三、數(shù)倉(cāng)建模規(guī)范

3.1、數(shù)倉(cāng)層級(jí)劃分

數(shù)據(jù)倉(cāng)庫(kù)分層數(shù)據(jù)倉(cāng)庫(kù)分層

ODS原始數(shù)據(jù)層

ODS層保存所有操作數(shù)據(jù),不對(duì)原始數(shù)據(jù)做任何處理。在業(yè)務(wù)系統(tǒng)和數(shù)據(jù)倉(cāng)庫(kù)之間形成一個(gè)隔離,源系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的變化不影響其他數(shù)據(jù)分層。減輕業(yè)務(wù)系統(tǒng)被反復(fù)抽取的壓力,由ODS統(tǒng)一進(jìn)行抽取和分發(fā)。記住ODS層數(shù)據(jù)要保留數(shù)據(jù)的原始性。

處理原則:

  • 根據(jù)源業(yè)務(wù)系統(tǒng)表的情況以增量或全量方式抽取數(shù)據(jù);
  • ODS層以流水表和快照表為主,按日期對(duì)數(shù)據(jù)進(jìn)行分區(qū)保存,不使用拉鏈表;
  • ODS層的數(shù)據(jù)不做清洗和轉(zhuǎn)換,數(shù)據(jù)的表結(jié)構(gòu)和數(shù)據(jù)粒度與原業(yè)務(wù)系統(tǒng)保持一致。

DWD數(shù)據(jù)明細(xì)層

DWD層的數(shù)據(jù)是經(jīng)由ODS層數(shù)據(jù)經(jīng)過(guò)清洗、轉(zhuǎn)換后的明細(xì)數(shù)據(jù),滿足對(duì)標(biāo)準(zhǔn)化數(shù)據(jù)需求。如對(duì)NULL值處理,對(duì)數(shù)據(jù)字典解析,對(duì)日期格式轉(zhuǎn)換,字段合并、臟數(shù)據(jù)處理等。

處理原則:

  • 數(shù)據(jù)結(jié)構(gòu)與ODS層一致,但可以對(duì)表結(jié)構(gòu)進(jìn)行裁剪和匯總等操作;
  • 對(duì)數(shù)據(jù)做清洗、轉(zhuǎn)換;
  • DWD層的數(shù)據(jù)不一定要永久保存,具體保存周期視業(yè)務(wù)情況而定。

DWS數(shù)據(jù)匯總層

DWS層數(shù)據(jù) 按主題對(duì)數(shù)據(jù)進(jìn)行抽象、歸類,提供業(yè)務(wù)系統(tǒng)細(xì)節(jié)數(shù)據(jù)的長(zhǎng)期沉淀。這一層是一些匯總后的寬表,是根據(jù)DWD層數(shù)據(jù)按照各種維度或多種維度組合,把需要查詢的一些事實(shí)字段進(jìn)行匯總統(tǒng)計(jì)。可以滿足一些特定查詢、數(shù)據(jù)挖掘應(yīng)用,面向業(yè)務(wù)層面,根據(jù)需求進(jìn)行匯總。

處理原則:

  • 面向全局、數(shù)據(jù)整合;
  • 存放最全的歷史數(shù)據(jù),業(yè)務(wù)發(fā)生變化時(shí)易于擴(kuò)展,適應(yīng)復(fù)雜的實(shí)際業(yè)務(wù)情況;
  • 盡量減少數(shù)據(jù)訪問(wèn)時(shí)的計(jì)算量,優(yōu)化表的關(guān)聯(lián)。維度建模,星形模型;
  • 事實(shí)拉寬,度量預(yù)先計(jì)算, 基本都是快照表。反規(guī)范化,有數(shù)據(jù)冗余。

ADS數(shù)據(jù)明細(xì)層

ADS應(yīng)用層是根據(jù)業(yè)務(wù)需要,由DWD、DWS數(shù)據(jù)統(tǒng)計(jì)而出的結(jié)果,可以直接提供查詢展現(xiàn),或?qū)胫罯racle等關(guān)系型數(shù)據(jù)庫(kù)中使用。這一層的數(shù)據(jù)會(huì)面向特定的業(yè)務(wù)部門,不同的業(yè)務(wù)部門使用不同的數(shù)據(jù),支持?jǐn)?shù)據(jù)挖掘。

處理原則:

  • 形式各式,主要按不同的業(yè)務(wù)需求來(lái)處理;
  • 保持?jǐn)?shù)據(jù)量小,定時(shí)刷新數(shù)據(jù);
  • 數(shù)據(jù)同步到不同的關(guān)系型數(shù)據(jù)庫(kù)或hbase等其他數(shù)據(jù)庫(kù)中。
  • 提供最終數(shù)據(jù),來(lái)滿足業(yè)務(wù)人員、數(shù)據(jù)分析人員的數(shù)據(jù)需求。

圖片

數(shù)據(jù)倉(cāng)庫(kù)分層模式作用

3.1.1、數(shù)據(jù)結(jié)構(gòu)化更清晰:對(duì)于不同層級(jí)的數(shù)據(jù),他們作用域不相同,每一個(gè)數(shù)據(jù)分層都有它的作用域,這樣我們?cè)谑褂帽淼臅r(shí)候能更方便地定位和理解。

3.1.2、數(shù)據(jù)血緣追蹤:提供給外界使用的是一張業(yè)務(wù)表,但是這張業(yè)務(wù)表可能來(lái)源很多張表。如果有一張來(lái)源表出問(wèn)題了,我們可以快速準(zhǔn)確的定位到問(wèn)題,并清楚每張表的作用范圍。

3.1.3、減少重復(fù)開發(fā):數(shù)據(jù)分層規(guī)范化,開發(fā)一些通用的中間層數(shù)據(jù),能夠減少重復(fù)計(jì)算,提高單張業(yè)務(wù)表的使用率。

3.1.4、簡(jiǎn)化復(fù)雜的問(wèn)題:把一個(gè)復(fù)雜的業(yè)務(wù)分成多個(gè)步驟實(shí)現(xiàn),每一層只處理單一的步驟,比較簡(jiǎn)單和容易理解。而且便于維護(hù)數(shù)據(jù)的準(zhǔn)確性,當(dāng)數(shù)據(jù)出現(xiàn)問(wèn)題之后,可以不用修復(fù)所有的數(shù)據(jù),只需要從有問(wèn)題的步驟開始修復(fù)。有點(diǎn)類似Spark RDD的容錯(cuò)機(jī)制。

3.1.5、減少業(yè)務(wù)的影響:業(yè)務(wù)可能會(huì)經(jīng)常變化,這樣做就不必改一次業(yè)務(wù)就需要重新接入數(shù)據(jù)。

3.2、數(shù)據(jù)域劃分和命名

數(shù)據(jù)域的劃分至關(guān)重要,在數(shù)據(jù)建模過(guò)程中,往往需要我們根據(jù)業(yè)務(wù)劃分?jǐn)?shù)據(jù)并約定命名。建議使用業(yè)務(wù)名稱結(jié)合數(shù)據(jù)層次約定相關(guān)命名的英文縮寫,這樣劃分層次更清晰,見名即可知意。

3.2.1、數(shù)據(jù)域劃分

按業(yè)務(wù)劃分:

命名時(shí)按主要的業(yè)務(wù)劃分,以指導(dǎo)物理模型的劃分原則、命名原則及使用。如公司有多條業(yè)務(wù)線,可以按照不同業(yè)務(wù)線進(jìn)行劃分。

按數(shù)據(jù)域劃分:

命名時(shí)按照數(shù)據(jù)域進(jìn)行劃分,以便有效地對(duì)數(shù)據(jù)進(jìn)行管理。例如,交易 數(shù)據(jù)的英文縮寫可定義為“trd”,會(huì)員數(shù)據(jù)的英文縮寫可以定義為 mbr。

按業(yè)務(wù)過(guò)程劃分:

當(dāng)一個(gè)數(shù)據(jù)域由多個(gè)業(yè)務(wù)過(guò)程組成時(shí),命名時(shí)可以按業(yè)務(wù)流程劃分。業(yè)務(wù)過(guò)程是從數(shù)據(jù)分析角度看客觀存在的或者抽象的業(yè)務(wù)行為動(dòng)作。例如,交易數(shù)據(jù)域中的“退款”這個(gè)業(yè)務(wù)過(guò)程的英文縮寫可約定命名為“rfd_ent”。

3.2.2、任務(wù)命名

針對(duì)數(shù)據(jù)域任務(wù)命名一定要按照規(guī)范執(zhí)行,這里以作者工作中常使用的命名方式為例,當(dāng)然每個(gè)人習(xí)慣不同,命名可能有所不同。

如:ods_jnxx_mbr_intgl_di
ods:代表ods層
jnxx:公司名稱英文縮寫
mbr:會(huì)員 的縮寫 mbr,表示會(huì)員業(yè)務(wù)
intgl:會(huì)員積分 英文的縮寫,會(huì)員積分相關(guān)任務(wù)
di:代表天增量。


d:代表日全量同步
ri:代表小時(shí)增量同步
m:代表月
等等,這里就不一一舉例了。
責(zé)任編輯:華軒 來(lái)源: Spark大數(shù)據(jù)
相關(guān)推薦

2023-11-23 16:53:56

數(shù)據(jù)倉(cāng)庫(kù)大數(shù)據(jù)

2022-02-18 09:02:04

數(shù)據(jù)倉(cāng)庫(kù)治理

2024-04-30 00:00:00

數(shù)倉(cāng)維度建模

2021-08-11 07:53:22

數(shù)倉(cāng)維度建模

2021-06-11 07:26:16

數(shù)據(jù)倉(cāng)庫(kù)機(jī)器學(xué)習(xí)

2011-03-25 16:15:42

SQL Server

2022-08-01 11:30:27

數(shù)據(jù)建模

2023-08-14 16:56:53

2022-10-27 09:50:41

數(shù)據(jù)倉(cāng)開發(fā)

2024-06-12 13:46:41

2009-01-18 16:01:42

數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)建模常用術(shù)語(yǔ)

2023-10-08 16:26:23

數(shù)據(jù)倉(cāng)庫(kù)

2011-07-20 11:12:41

數(shù)據(jù)倉(cāng)庫(kù)星型模式事實(shí)表

2021-01-06 10:36:55

MySQL數(shù)據(jù)庫(kù)Hive

2023-12-13 07:26:24

數(shù)據(jù)湖倉(cāng)數(shù)據(jù)倉(cāng)庫(kù)性能

2022-06-30 18:17:00

數(shù)據(jù)集云數(shù)據(jù)建模計(jì)數(shù)據(jù)倉(cāng)庫(kù)

2022-03-01 17:16:16

數(shù)倉(cāng)建模ID Mapping

2021-12-02 08:41:30

數(shù)倉(cāng)建模設(shè)計(jì)

2011-05-13 14:17:27

智能數(shù)據(jù)倉(cāng)庫(kù)

2022-03-14 18:34:07

騰訊云數(shù)倉(cāng)建模大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)