中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

數(shù)倉理論基礎(chǔ)-創(chuàng)新互聯(lián)

數(shù)倉理論基礎(chǔ)

引用:尚硅谷電商數(shù)倉

為樂東黎族等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及樂東黎族網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、樂東黎族網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

什么是數(shù)倉?

存儲(chǔ)數(shù)據(jù)、具備管理 分析能力,為企業(yè)做決策提供數(shù)據(jù)依據(jù)。

數(shù)據(jù)倉庫的主體 hive

兩種建模方式: ER和維度

ER模型

實(shí)體關(guān)系模型: 將復(fù)雜的數(shù)據(jù)抽象為 實(shí)體和關(guān)系。實(shí)體表示一個(gè)對(duì)象,關(guān)系指的是兩個(gè)實(shí)體之間的關(guān)系,比如學(xué)生和班級(jí)之間的從屬關(guān)系。

舉例:學(xué)生管理系統(tǒng) 管理學(xué)生和班級(jí)的信息

1.抽取實(shí)體: 學(xué)生、班級(jí)

2.實(shí)體關(guān)系模型 一對(duì)多 畫圖 ER圖

3.建表,通常一個(gè)實(shí)體對(duì)應(yīng)一張表,通過外鍵進(jìn)行關(guān)聯(lián),通常在多的一側(cè)加外鍵,比如在學(xué)生一側(cè)加上班級(jí)信息

多對(duì)多關(guān)系模型,比如說又加了一個(gè)學(xué)生選課信息

學(xué)生表和選課表是多對(duì)多的關(guān)系,一個(gè)學(xué)生可以選多門課,一門課可以被多個(gè)學(xué)生選。

處理多對(duì)多的表一般需要加一個(gè)中間表。 學(xué)生id 和選課id

數(shù)據(jù)庫規(guī)范化

范式:normal form 有6種

函數(shù):一個(gè)x對(duì)應(yīng)一個(gè)y

  • 完全函數(shù)依賴:f(x,y)=z 必須通過x,y得到一個(gè)z,z完全依賴于x y
  • 部分函數(shù)依賴 f(x,y)=z z部分函數(shù)依賴于 x y k
  • 傳遞函數(shù)依賴
第一范式

屬性不可切割,指的是實(shí)體的屬性。(也就是列不可再分)

比如5臺(tái)電腦 可以被拆成數(shù)量5 和電腦

第二范式

不能存在 非主鍵字段 部分函數(shù)依賴于主鍵字段

在這里插入圖片描述

比如上面這張表中 聯(lián)合主鍵字段是 學(xué)號(hào)+課名,分?jǐn)?shù)完全依賴于學(xué)號(hào)+課名,但是姓名部分依賴于學(xué)號(hào),所以不滿足第二范式。解決方案是把表拆成兩個(gè)。能夠部分減少函數(shù)冗余。

但也存在冗余 比如說 經(jīng)濟(jì)系和王強(qiáng)存儲(chǔ)了兩份數(shù)據(jù)了。

第三范式

不能存在非主鍵字段傳遞函數(shù)依賴于主鍵字段

學(xué)號(hào)能夠推出系名—系名能夠推出系主任

在這里插入圖片描述

這種數(shù)據(jù)建模的主要目的主要是減少數(shù)據(jù)冗余,保證數(shù)據(jù)的一致性并不適合用于分析統(tǒng)計(jì)。

維度模型

通過事實(shí)維度進(jìn)行呈現(xiàn)。

在這里插入圖片描述

事實(shí)通常對(duì)應(yīng)業(yè)務(wù)過程,例如下單、支付、加入購物車等

維度:業(yè)務(wù)過程發(fā)生時(shí)所處的環(huán)境,客觀的事物(時(shí)間、地點(diǎn)等)、用戶信息

如上圖所示,中間的是事實(shí)表,旁邊的一圈是維度表

事實(shí)表

事實(shí)表:包含兩個(gè)維度外鍵度量值

維度外鍵:和其他表關(guān)聯(lián)的外鍵id

度量:(量化業(yè)務(wù)過程 比如下單金額 下單數(shù)量)

事實(shí)表的特點(diǎn)是細(xì)長,因?yàn)橛涗浟艘恍┦聦?shí)信息,會(huì)有很多,行的增速會(huì)比較快。

事實(shí)表分類:事務(wù)型事實(shí)表、周期型快照事實(shí)表、累積型快照事實(shí)表

事務(wù)型事實(shí)表
  • 事務(wù)型事實(shí)表:對(duì)應(yīng)一個(gè)過程,保存最細(xì)粒度操作時(shí)間

最細(xì)粒度,能滿足更多的需求。如何理解呢? 如果訂單事實(shí)表中只有支付金額,沒有具體購買數(shù)量,那么就無法滿足統(tǒng)計(jì)購買總量的需求。

設(shè)計(jì)流程

遵循以下4個(gè)步驟

選擇業(yè)務(wù)過程→聲明粒度→確認(rèn)維度→確認(rèn)事實(shí)

1.選擇業(yè)務(wù)過程

根據(jù)業(yè)務(wù)需求,比如下單、付款、退單等

2.聲明粒度

粒度要盡可能細(xì),即每行數(shù)據(jù)表示什么。比如訂單表中最細(xì)粒度要到一行數(shù)據(jù)表示一個(gè)sku

3.確定維度

確定每張事務(wù)型事實(shí)表相關(guān)的維度有哪些。即時(shí)間、地點(diǎn)、人物等信息

維度的豐富程度決定了指標(biāo)的豐富程度,比如按時(shí)間統(tǒng)計(jì)、按地點(diǎn)統(tǒng)計(jì)等

4.確認(rèn)事實(shí)

事實(shí)就是每個(gè)業(yè)務(wù)過程的度量值,比如金額、個(gè)數(shù)、次數(shù)等可累加的值

不足
  • 存量型指標(biāo)的統(tǒng)計(jì)效率較低

    如何理解? 什么是存量型指標(biāo),比如說京東的京豆,主要包括獲取京豆和消費(fèi)京豆,設(shè)計(jì)到兩張事實(shí)表。A表示獲取京豆的事實(shí)表,B表示消費(fèi)京豆的事實(shí)表。

    需求:統(tǒng)計(jì)截止當(dāng)日所有用戶的剩余京豆的數(shù)量。

    思路:需要關(guān)聯(lián)兩張事實(shí)表A.B,做一個(gè)聚合操作,事實(shí)表通常是比較大的,所以效率比較低。

  • 多事務(wù)關(guān)聯(lián)統(tǒng)計(jì)

    需求:統(tǒng)計(jì)近30天用戶從下單到支付的平均時(shí)間間隔。

    思路:關(guān)聯(lián)下單事實(shí)表和支付事實(shí)表,按照訂單id進(jìn)行join,支付時(shí)間減去下單時(shí)間,再求平均值。需要大表join大表,效率也會(huì)比較低。

周期快照事實(shí)表

周期性打快照,保存某一個(gè)表(mysql 中的表)的當(dāng)前狀態(tài),通常是一個(gè)分區(qū)表,一天一個(gè)分區(qū)。直接同步現(xiàn)有的結(jié)果,從結(jié)果中拿數(shù)據(jù)。

典型指標(biāo):

  • 存量型:如賬戶余額 商品庫存等。業(yè)務(wù)系統(tǒng)中會(huì)有對(duì)應(yīng)的此表,直接同步過來即可,以滿足存量型指標(biāo)的統(tǒng)計(jì)。
  • 狀態(tài)型:溫度、形式速度等。變化的值通常是連續(xù)的,無法捕獲原子事務(wù)操作,只能定期采樣。
設(shè)計(jì)流程

確定粒度→確認(rèn)事實(shí)

1.確定粒度

采樣周期和維度確定粒度。

采樣周期一般是天

維度是要統(tǒng)計(jì)的指標(biāo),例:統(tǒng)計(jì)每個(gè)倉庫每種商品的庫存。

這樣就能確定粒度:每天的每個(gè)倉庫的商品庫存

2.確認(rèn)事實(shí)

根據(jù)統(tǒng)計(jì)指標(biāo)確定,如商品、倉庫

事實(shí)類型

可加事實(shí):可按照維度表進(jìn)行累加。

半可加事實(shí):只能按照一部分維度累加是有意義的,周期快照事實(shí)表都是半可加事實(shí)。 日期+倉庫+商品維度 放的是存量信息 按照日期累加是沒有意義的。

不可加事實(shí):比率型事實(shí)。比率相加會(huì)超過1,但是比率不可能會(huì)超過1,一般要避免這種表的出現(xiàn)??梢园驯嚷兽D(zhuǎn)換成分子和分母。

累積型快照事實(shí)表

基于一個(gè)業(yè)務(wù)流程的多個(gè)業(yè)務(wù)過程。

通常具有多個(gè)日期字段。數(shù)據(jù)不是一次性寫完的,如下表

訂單id用戶id下單日期支付日期發(fā)貨日期確認(rèn)收貨日期訂單金額支付金額
100112342020-06-142020-06-152020-06-162020-06-1710001000

發(fā)貨、收獲日期等都是后來才寫入的。主要是用戶滿足時(shí)間間隔需求,比如前文提到的平均時(shí)間。

設(shè)計(jì)流程

選擇業(yè)務(wù)過程→ 確認(rèn)粒度 →確認(rèn)維度 → 確認(rèn)事實(shí)

1.選擇業(yè)務(wù)過程

對(duì)應(yīng)了多個(gè)業(yè)務(wù)過程,例如上表中的下單-支付-發(fā)貨-確認(rèn)收貨

2.確認(rèn)粒度

事實(shí)表的一行的數(shù)據(jù)表示粒度

3.確認(rèn)維度

與業(yè)務(wù)過程相關(guān)的維度,這里每個(gè)業(yè)務(wù)過程都有一個(gè)日期維度

4.確認(rèn)事實(shí)

各業(yè)務(wù)過程的度量值,比如上表中的訂單金額、支付金額。

維度表

事實(shí)表周圍得一圈就是維度表,一個(gè)維度表得基本組成就是一個(gè)主鍵字段和各種維度字段。

設(shè)計(jì)步驟

確定維度表->確定主維表和相關(guān)維表->確定維度屬性

  1. 確定維度表

與事實(shí)相關(guān)得維度都要確定。某些維度比較少,可以直接在事實(shí)表中增加字段。比如支付方式 只有微信、支付寶、銀聯(lián)等 可以在事實(shí)表中增加響應(yīng)得字段。這個(gè)操作叫做維度退化

為什么要維度退化?找到如下的解釋

因?yàn)楹唵蔚哪J奖葟?fù)雜的更容易理解,也有更好的查詢性能。

應(yīng)該就是減少了join操作吧。

  1. 確定主維表和相關(guān)維表

主維表:

  1. 確定維度屬性

就是確定維度表字段,維度屬性就是主維表和相關(guān)維表的一些字段。

需要遵循以下需求:

  • 盡可能多的維度屬性
  • 盡量不適用編碼,使用文字說明,比如支付方式1表示支付寶,一般存儲(chǔ)支付寶
  • 某個(gè)經(jīng)常用的維度屬性可以提前拼接
設(shè)計(jì)要點(diǎn)
  • 規(guī)范化 與反規(guī)范化

星型模型和雪花模型:區(qū)別就是對(duì)于維度表是否進(jìn)行規(guī)范化設(shè)計(jì)

規(guī)范化設(shè)計(jì)得到的是雪花模型。比較接近范式建模,維度表會(huì)被拆分的比較細(xì)。

反規(guī)范化設(shè)計(jì)得到的是星型模型。

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-7vf7go5Z-1669446110255)(數(shù)倉項(xiàng)目.assets/image-20221126144826420.png)]

  • 維度變化

    維度會(huì)改變的,我們需要保存歷史維度數(shù)據(jù)或者說是狀態(tài),有兩種方法。全量快照表和拉鏈表

    • 全量快照表

      每天全量同步,保存一份維度數(shù)據(jù)。浪費(fèi)點(diǎn)存儲(chǔ)空間

    • 拉鏈表

      記錄生命周期,狀態(tài)改變了,就新增一條記錄。如下表

      [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-ilBlbupt-1669446110256)(數(shù)倉項(xiàng)目.assets/image-20221126145247285.png)]

      節(jié)省了存儲(chǔ)空間,比較適合與變化不大的維度表。如下表,手機(jī)號(hào)碼變化不大,每天全量快照會(huì)浪費(fèi)比較多的存儲(chǔ)

      [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-49OCYke2-1669446110256)(數(shù)倉項(xiàng)目.assets/image-20221126145336321.png)]

      缺點(diǎn)就是制作起來比較麻煩,在存儲(chǔ)成本較低的今天,更多的是采用全量快照表的方式。

  • 多值維度

    一條記錄對(duì)應(yīng)多種維度,如一個(gè)訂單對(duì)應(yīng)多種商品,如何解決呢?

    • 降低事實(shí)表的粒度,讓一個(gè)訂單對(duì)應(yīng)一個(gè)商品項(xiàng)
    • 事實(shí)表中增加字段,前提是維度個(gè)數(shù)固定
  • 多值屬性

    維度表的某個(gè)屬性有多個(gè)值,比如一個(gè)手機(jī)可以有 品牌、內(nèi)存、CPU等屬性

    解決辦法

    • 將多值屬性放到一個(gè)字段,用key value表示 “k1:v1,k2:v2”
    • 將多值放到多個(gè)字段,前提是屬性個(gè)數(shù)固定

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前標(biāo)題:數(shù)倉理論基礎(chǔ)-創(chuàng)新互聯(lián)
新聞來源:http://www.rwnh.cn/article32/copcsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、App設(shè)計(jì)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
东乡县| 长垣县| 于都县| 昌乐县| 吐鲁番市| 乌拉特中旗| 咸宁市| 泗阳县| 朔州市| 安塞县| 阜康市| 扎赉特旗| 长海县| 石河子市| 嘉禾县| 曲沃县| 顺义区| 新化县| 五河县| 竹北市| 新邵县| 武平县| 堆龙德庆县| 临城县| 仙居县| 获嘉县| 祁阳县| 朝阳市| 临猗县| 麻栗坡县| 获嘉县| 潍坊市| 鄂尔多斯市| 田东县| 柳江县| 神农架林区| 枞阳县| 鄂伦春自治旗| 林西县| 霍林郭勒市| 清苑县|