最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

視頻課程 | 個(gè)推資深數(shù)據(jù)研發(fā)解讀數(shù)倉(cāng)建設(shè)與數(shù)據(jù)建模難點(diǎn)

2022-04-25 19:41 作者:個(gè)推  | 我要投稿

近日,2022年個(gè)推TechDay“治數(shù)訓(xùn)練營(yíng)”系列直播課第一期圓滿舉辦。個(gè)推資深大數(shù)據(jù)研發(fā)工程師為大家深入淺出地介紹了數(shù)據(jù)倉(cāng)庫(kù)的前世今生以及數(shù)據(jù)建模的常用方法。

本文對(duì)“治數(shù)訓(xùn)練營(yíng)”第一期《數(shù)據(jù)倉(cāng)庫(kù)與維度建?!?/strong>的干貨內(nèi)容進(jìn)行了總結(jié),同時(shí)也挑選了直播間的精彩提問(wèn)做了Q&A梳理,帶大家一起回顧首期課程。

?

點(diǎn)擊觀看直播回放視頻

https://www.bilibili.com/video/BV1LS4y1a7TG?spm_id_from=333.337.search-card.all.click

https://www.bilibili.com/video/BV1y44y1G72V?spm_id_from=333.337.search-card.all.click


一、數(shù)據(jù)倉(cāng)庫(kù)快速入門(mén)

數(shù)據(jù)倉(cāng)庫(kù)(Data Warehouse),簡(jiǎn)稱(chēng)“數(shù)倉(cāng)”,是大數(shù)據(jù)從業(yè)者繞不開(kāi)的一個(gè)概念?!皵?shù)據(jù)倉(cāng)庫(kù)之父”Bill Inmon最早提出數(shù)倉(cāng)的概念,認(rèn)為“數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)面向主題的、集成的、相對(duì)穩(wěn)定的、反映歷史變化的數(shù)據(jù)集合,用于支持管理決策”。

此外,大數(shù)據(jù)架構(gòu)專(zhuān)家Ralph Kimball在《The Data Warehouse Tookit》一書(shū)中,也對(duì)數(shù)倉(cāng)進(jìn)行了定義:“數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)將源系統(tǒng)數(shù)據(jù)抽取、清洗、規(guī)格化,然后提交到維度數(shù)據(jù)存儲(chǔ)的系統(tǒng),為決策的制定提供查詢(xún)和分析功能的支撐和實(shí)現(xiàn)”。

Bill Inmon對(duì)數(shù)倉(cāng)的定義更強(qiáng)調(diào)整體特性,Ralph Kimball則是從實(shí)施流程角度來(lái)定義數(shù)倉(cāng)。無(wú)論哪個(gè)定義,我們都能從中看到企業(yè)建設(shè)數(shù)據(jù)倉(cāng)庫(kù)的意義重大。企業(yè)通過(guò)建設(shè)數(shù)倉(cāng),不僅能夠?qū)⒎稚⒃诟鳂I(yè)務(wù)系統(tǒng)的數(shù)據(jù)進(jìn)行集中化管理,打破數(shù)據(jù)孤島;還能為后續(xù)高效分析和應(yīng)用數(shù)據(jù),通過(guò)大數(shù)據(jù)賦能業(yè)務(wù)發(fā)展奠定基礎(chǔ)。


二、數(shù)倉(cāng)建設(shè)與數(shù)據(jù)建模

那么,企業(yè)如何建設(shè)數(shù)據(jù)倉(cāng)庫(kù)?如何建設(shè)一個(gè)貼合業(yè)務(wù)需求的、高效、穩(wěn)定、好用的數(shù)據(jù)倉(cāng)庫(kù)?這就需要考慮數(shù)據(jù)模型的選擇和數(shù)據(jù)建模的問(wèn)題。

“數(shù)據(jù)建?!?/strong>是指對(duì)實(shí)體以及實(shí)體和實(shí)體之間的關(guān)系進(jìn)行數(shù)據(jù)化描述和抽象的過(guò)程。“數(shù)據(jù)模型”,則是指組織和存儲(chǔ)數(shù)據(jù)的方法。

目前主流的數(shù)據(jù)建模方法有兩種,分別是范式建模和維度建模:

?

范式建模

范式建模由Bill Inmon提出,指站在企業(yè)角度面向主題的抽象,我們一般使用E-R實(shí)體關(guān)系模型將事物抽象為“實(shí)體”“屬性”“關(guān)系”,來(lái)表示事物和事件關(guān)聯(lián)。范式建模并非針對(duì)某個(gè)具體業(yè)務(wù)流程中實(shí)體對(duì)象關(guān)系的抽象,它需要建模人員全面地、整體地了解企業(yè)的業(yè)務(wù)和數(shù)據(jù),不僅實(shí)施周期長(zhǎng),對(duì)建模人員的能力要求也比較高。

?

維度建模

維度建模由Ralph Kimball提出,主張從分析決策的需求出發(fā)構(gòu)建模型,為分析需求服務(wù)。因此它重點(diǎn)關(guān)注如何使用戶(hù)更快速地完成數(shù)據(jù)分析,同時(shí)保持較好的大規(guī)模復(fù)雜查詢(xún)的響應(yīng)性能。相較范式建模,維度建模建設(shè)周期短,支持敏捷迭代,一般不會(huì)對(duì)數(shù)倉(cāng)架構(gòu)做過(guò)多復(fù)雜的設(shè)計(jì)

?

在構(gòu)建數(shù)倉(cāng)時(shí),我們要根據(jù)具體的數(shù)據(jù)分析場(chǎng)景和業(yè)務(wù)處理系統(tǒng)來(lái)選擇相應(yīng)的數(shù)據(jù)建模方法。比如,就OLTP系統(tǒng)(On-line Transaction Processing:聯(lián)機(jī)事務(wù)處理)而言,由于其主要是面向隨機(jī)讀寫(xiě)的數(shù)據(jù)操作,關(guān)注事務(wù)的處理,因此我們推薦使用OLTP系統(tǒng)及傳統(tǒng)數(shù)據(jù)庫(kù)的企業(yè)通過(guò)范式建模的方法來(lái)設(shè)計(jì)數(shù)據(jù)模型,以解決在事務(wù)處理中的數(shù)據(jù)冗余和一致性問(wèn)題。而OLAP系統(tǒng)(On-line Analytical Processing :聯(lián)機(jī)分析處理)面向批量讀寫(xiě)數(shù)據(jù)的操作,不關(guān)注事務(wù)處理一致性,主要是關(guān)注數(shù)據(jù)的整合以及大數(shù)據(jù)查詢(xún)和處理中的性能,因此一般采用維度建模的方法。

?

具體如何進(jìn)行范式建模和維度建模呢?我們結(jié)合案例分別來(lái)看。

?

三、范式建模方法及實(shí)例剖析

首先來(lái)看范式建模的基本過(guò)程。

在進(jìn)行范式建模時(shí),我們往往要遵從不同的規(guī)范要求設(shè)計(jì)出合理的模型,這些不同的規(guī)范要求就是“范式”。目前行業(yè)中存在一范式、二范式、三范式等不同的模型建設(shè)規(guī)范。越高的范式帶來(lái)的數(shù)據(jù)庫(kù)冗余越小,但是在數(shù)據(jù)計(jì)算方面會(huì)更復(fù)雜。企業(yè)大多采用三范式建模,在保證靈活度以及數(shù)據(jù)計(jì)算速度的同時(shí),降低數(shù)據(jù)處理的復(fù)雜度。

?

范式建模的過(guò)程可以被拆解為以下四步:

1. 抽象出主體

2. 梳理主體之間的關(guān)系

3. 梳理主體的屬性

4. 畫(huà)出E-R關(guān)系圖

?

比如,我們要使用范式建模的方式設(shè)計(jì)某課程管理系統(tǒng)的數(shù)據(jù)模型。

?

該系統(tǒng)主要用來(lái)管理某學(xué)校教師、學(xué)生和課程等相關(guān)數(shù)據(jù),涉及課程選修、考試成績(jī)、教師授課、學(xué)生班級(jí)等方面。那我們首先要梳理出實(shí)體,為教師、課程、學(xué)生、班級(jí);其次梳理出實(shí)體之間的關(guān)系,包括教師講授課程、學(xué)生選修課程、學(xué)生隸屬班級(jí)等;再次要羅列出各實(shí)體和關(guān)系的屬性,比如“學(xué)生”這個(gè)實(shí)體的屬性有姓名、性別、年齡等,“學(xué)生選修課程”這個(gè)關(guān)系的屬性有選修時(shí)間、總課時(shí)等;第四步,則是畫(huà)出E-R圖,用矩形表示“實(shí)體”,用菱形表示“關(guān)系”,用橢圓形表示“屬性”,以可視化的方式清晰展示出主體和主體之間的關(guān)系。

?

四、維度建模方法及實(shí)例剖析

相比范式建模,維度建模稍為復(fù)雜,包括事實(shí)表和維度表兩塊內(nèi)容。

事實(shí)表

首先看事實(shí)表。事實(shí)表分三種,包括事務(wù)性事實(shí)表、周期性快照事實(shí)表、累計(jì)快照事實(shí)表。

  • 事務(wù)性事實(shí)表通常用一條記錄表示某個(gè)時(shí)間點(diǎn)發(fā)生的事件或行為。比如電商業(yè)務(wù)場(chǎng)景中的訂單支付業(yè)務(wù),一般就采用事務(wù)性事實(shí)表來(lái)組織和存儲(chǔ)數(shù)據(jù)。

  • 周期性快照事實(shí)表的一條記錄描述的則是一個(gè)實(shí)體在某一段時(shí)間內(nèi)的狀態(tài)或現(xiàn)狀,比如某顧客每月的積分余額就屬于一條典型的周期性快照事實(shí)表記錄。

  • 累計(jì)快照事實(shí)表的一條記錄則是對(duì)某業(yè)務(wù)流程中發(fā)生的多個(gè)事件的累計(jì)記錄,一般是為了滿足某個(gè)流程節(jié)點(diǎn)運(yùn)轉(zhuǎn)效率的統(tǒng)計(jì)需求。

我們以一個(gè)事務(wù)性事實(shí)表的設(shè)計(jì)過(guò)程為例來(lái)了解事實(shí)表的設(shè)計(jì)方法:

1. 選擇與數(shù)據(jù)分析需求有關(guān)的業(yè)務(wù)過(guò)程。“業(yè)務(wù)過(guò)程”是指在業(yè)務(wù)流程中不可拆分的行為事件。比如,電商業(yè)務(wù)場(chǎng)景下,購(gòu)物的業(yè)務(wù)流程中就包括加購(gòu)、下單、支付、商家發(fā)貨、用戶(hù)確認(rèn)收貨等業(yè)務(wù)過(guò)程。如果我們要分析銷(xiāo)售額,那“支付”就是必選的業(yè)務(wù)過(guò)程。

2. 聲明粒度。我們要盡量選擇最細(xì)粒度,精確定義事實(shí)表的每一行所表示的業(yè)務(wù)含義,以確保事實(shí)表有最大的靈活性。比如,用戶(hù)可能在一個(gè)訂單里面購(gòu)買(mǎi)多個(gè)商品,那每個(gè)購(gòu)買(mǎi)的商品就是一個(gè)子訂單,我們一般選擇將子訂單作為聲明粒度。

3. 確定維度。維度是指業(yè)務(wù)過(guò)程所處的環(huán)境信息,比如用戶(hù)在某個(gè)時(shí)間購(gòu)買(mǎi)了某個(gè)店鋪的某個(gè)商品,那店鋪所屬行業(yè)、商品所在類(lèi)目等均可以被認(rèn)為是維度。

4. 確定事實(shí),即確定業(yè)務(wù)過(guò)程的度量指標(biāo)。比如“支付”這個(gè)業(yè)務(wù)過(guò)程的度量指標(biāo)為支付金額,更復(fù)雜的電商業(yè)務(wù)場(chǎng)景下,可能還包括分?jǐn)傕]費(fèi)、折扣金額等指標(biāo)。

?

需要說(shuō)明的是,每個(gè)數(shù)據(jù)倉(cāng)庫(kù)都包含一個(gè)或者多個(gè)事實(shí)表,事實(shí)表是對(duì)分析主題的度量,它包含了與各維度表相關(guān)聯(lián)的外鍵,并通過(guò)Join方式與維度表關(guān)聯(lián)。

?

維度表

維度表則是用戶(hù)分析數(shù)據(jù)的窗口,記錄了事實(shí)表中相關(guān)事務(wù)、事件的屬性及屬性含義。

?

維度表的設(shè)計(jì)過(guò)程,主要分為以下四步:

?

1. 選擇維度。比如要生成一個(gè)商品維度表,那我們選擇的維度就是商品維度。

2. 確定主維表。比如要建商品維度表,那主維表就是來(lái)自于業(yè)務(wù)系統(tǒng)的商品表。

3. 確定相關(guān)維度表。主維表確定之后,其他的相關(guān)維度表也就隨之確定。比如商品維度表的相關(guān)維度表有商品類(lèi)目表、所屬品牌表、商品所屬行業(yè)表等。

4. 確定維度屬性。這些屬性一般來(lái)自于主維表和相關(guān)維表。我們將主維表和相關(guān)維表的屬性集成,并對(duì)相同屬性合并(比如,商品類(lèi)目表和所屬品牌表中可能都會(huì)有所屬行業(yè)屬性,那我們就可以對(duì)所屬行業(yè)這個(gè)屬性進(jìn)行合并),然后將最終得到的屬性放到要生成的維度表里。

?

此外,本期個(gè)推TechDay“治數(shù)訓(xùn)練營(yíng)”還對(duì)范式建模與維度建模的基本原則、建模中的常見(jiàn)問(wèn)題(比如范式建模中的傳遞依賴(lài)問(wèn)題、維度建模中的緩慢變化維問(wèn)題等)、數(shù)倉(cāng)分層等進(jìn)行了詳細(xì)闡述。

更多精彩內(nèi)容,猛戳直播回顧視頻Get吧!

?

點(diǎn)擊觀看直播回放視頻

https://www.bilibili.com/video/BV1LS4y1a7TG?spm_id_from=333.337.search-card.all.click

https://www.bilibili.com/video/BV1y44y1G72V?spm_id_from=333.337.search-card.all.click


彩蛋:直播間Q&A精選

1. 什么樣的數(shù)據(jù)倉(cāng)庫(kù)才算建設(shè)得比較完善?

數(shù)據(jù)倉(cāng)庫(kù)主要是為數(shù)據(jù)分析服務(wù)。一個(gè)完善的數(shù)倉(cāng)首先要滿足企業(yè)對(duì)業(yè)務(wù)分析的需求。

數(shù)倉(cāng)的建設(shè)是一個(gè)不斷迭代和優(yōu)化的過(guò)程,需要從成本、性能、效率等方面綜合考慮,以尋求平衡。一般來(lái)講,在企業(yè)業(yè)務(wù)穩(wěn)定發(fā)展階段,我們的工作主要以維護(hù)現(xiàn)有數(shù)倉(cāng)為主,同時(shí)做一些完善優(yōu)化的工作;對(duì)于業(yè)務(wù)迭代比較快的企業(yè),針對(duì)一些探索類(lèi)的業(yè)務(wù)分析需求,我們需要對(duì)數(shù)倉(cāng)進(jìn)行新的開(kāi)發(fā)投入。

?

2.?在數(shù)倉(cāng)設(shè)計(jì)中,需求方的分析粒度會(huì)隨著時(shí)間和人員的理解以及需求的變化發(fā)生很大的變化,如何在數(shù)倉(cāng)建設(shè)初期盡可能考慮到這個(gè)問(wèn)題?

這就需要數(shù)倉(cāng)建設(shè)團(tuán)隊(duì)在前期就做好需求調(diào)研、業(yè)務(wù)調(diào)研、數(shù)據(jù)調(diào)研等工作。

使用維度建模的情況下,我們要嚴(yán)格遵循事實(shí)表的設(shè)計(jì)原則,在聲明粒度時(shí),要盡量選擇最新的粒度,并且保留盡可能多的數(shù)據(jù)維度信息,確保事實(shí)表有最大的靈活性。

?

3.?針對(duì)緩慢變化維的問(wèn)題,是否可以將維度表變成拉鏈表來(lái)解決呢?

拉鏈表也是常用的解決思路,屬于插入新行的解決方法,與直播中講到的插入新行的例子很類(lèi)似。

不同的是,我們直播中舉例的是“商品key”代理主鍵作為關(guān)聯(lián)事實(shí)表的字段,所以可以通過(guò)修改“商品key”實(shí)現(xiàn)維度變化的處理;而拉鏈表是通過(guò)不修改關(guān)聯(lián)字段,直接在表中增加兩個(gè)字段start、end來(lái)標(biāo)記數(shù)據(jù)行的有效時(shí)間,在使用時(shí)需要先篩選有效的數(shù)據(jù)行。

相對(duì)來(lái)說(shuō),修改代理主鍵的方法比較好理解,也更方便用戶(hù)使用。

?

4.?數(shù)據(jù)指標(biāo)方面,在存在多個(gè)業(yè)務(wù)部門(mén)的情況下,如何將相同或者近似名稱(chēng)的指標(biāo)做統(tǒng)一管理?當(dāng)出現(xiàn)名稱(chēng)相同但定義不同的指標(biāo)時(shí),如何處理?

該問(wèn)題涉及到數(shù)倉(cāng)建設(shè)規(guī)范中的指標(biāo)命名規(guī)范設(shè)計(jì),可以在指標(biāo)命名中避免該問(wèn)題,比如在命名時(shí)增加部門(mén)維度等。

另外,在我們“治數(shù)訓(xùn)練營(yíng)”的后續(xù)課程中也會(huì)有相應(yīng)的內(nèi)容介紹,敬請(qǐng)期待。

?

推薦書(shū)目

當(dāng)一個(gè)公司在戰(zhàn)略上決定做云計(jì)算和大數(shù)據(jù)服務(wù)后,如何將該戰(zhàn)略進(jìn)行逐步分解,最終落地實(shí)施?這其中涉及技術(shù)構(gòu)建、運(yùn)營(yíng)管理、組織能力建設(shè)等一系列活動(dòng),有哪些方法論和實(shí)踐可供借鑒?相信本書(shū)能給您帶來(lái)靈感!

?

關(guān)注個(gè)推技術(shù)實(shí)踐微信公眾號(hào),

后臺(tái)回復(fù)“數(shù)倉(cāng)”,

獲取本期直播課件~


視頻課程 | 個(gè)推資深數(shù)據(jù)研發(fā)解讀數(shù)倉(cāng)建設(shè)與數(shù)據(jù)建模難點(diǎn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
广灵县| 循化| 怀仁县| 无极县| 策勒县| 富川| 青铜峡市| 安新县| 丰宁| 隆安县| 岳普湖县| 石泉县| 吉水县| 武城县| 湘阴县| 阿勒泰市| 绿春县| 叶城县| 营山县| 建昌县| 九寨沟县| 锡林郭勒盟| 双鸭山市| 广南县| 开原市| 淮阳县| 玛沁县| 宁晋县| 泰和县| 鲁甸县| 石家庄市| 旅游| 玛沁县| 大同县| 宣城市| 界首市| 木兰县| 海伦市| 建宁县| 江门市| 南华县|