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

數(shù)倉緩慢變化維SCD深度講解

大數(shù)據(jù)
維度緩慢變化維SCD(Slowly Changing Dimensions)一些維度表的數(shù)據(jù)不是靜態(tài)的,而是會(huì)隨著時(shí)間而緩慢地變化把處理維度表數(shù)據(jù)歷史變化的問題,稱為緩慢變化維問題,簡稱SCD問題。

[[373665]]

前言

維度緩慢變化維SCD(Slowly Changing Dimensions)一些維度表的數(shù)據(jù)不是靜態(tài)的,而是會(huì)隨著時(shí)間而緩慢地變化(這里的緩慢是相對(duì)事實(shí)表而言,事實(shí)表數(shù)據(jù)變化的速度比維度表快,如果還不知道什么是事實(shí)表和維度表請(qǐng)看→數(shù)倉模型設(shè)計(jì)詳細(xì)講解)把處理維度表數(shù)據(jù)歷史變化的問題,稱為緩慢變化維問題,簡稱SCD問題。

舉例說明

例如:用根據(jù)用戶維度,統(tǒng)計(jì)不同出生年份的消費(fèi)金額占比。(80后、90后、00后)。而期間,用戶可能去修改用戶數(shù)據(jù),例如:將出生日期改成了 1992年。此時(shí),用戶維度表就發(fā)生了變化。當(dāng)然這個(gè)變化相對(duì)事實(shí)表的變換要慢。但這個(gè)用戶維度表的變化,就是緩慢變化維。

這個(gè)用戶的數(shù)據(jù)不是一直不變,而是有可能發(fā)生變化。例如:用戶修改了出生日期、或者用戶修改了住址。

一、SCD問題的幾種解決方案

以下為解決緩慢變化維問題的幾種辦法:

  • 保留原始值
  • 改寫屬性值
  • 增加維度新行
  • 增加維度新列
  • 添加歷史表

1.1 保留原始值

某一個(gè)屬性值絕不會(huì)變化。事實(shí)表始終按照該原始值進(jìn)行分組。例如:出生日期的數(shù)據(jù),始終按照用戶第一次填寫的數(shù)據(jù)為準(zhǔn)

1.2 改變屬性值

對(duì)其相應(yīng)需要重寫維度行中的舊值,以當(dāng)前值替換。因此其始終反映最近的情況。

當(dāng)一個(gè)維度值的數(shù)據(jù)源發(fā)生變化,并且不需要在維度表中保留變化歷史時(shí),通常用新數(shù)據(jù)來覆蓋舊數(shù)據(jù)。這樣的處理使屬性所反映的中是最新的賦值。

用戶維度表 修改前:

修改后:

  • 這種方法有個(gè)前提,用戶不關(guān)心這個(gè)數(shù)據(jù)的變化
  • 這樣處理,易于實(shí)現(xiàn),但是沒有保留歷史數(shù)據(jù),無法分析歷史變化信息

1.3 增加維度新行

數(shù)據(jù)倉庫系統(tǒng)的目標(biāo)之一是正確地表示歷史。典型代表就是拉鏈表

保留歷史的數(shù)據(jù),并插入新的數(shù)據(jù)。

用戶維度表 修改前:圖片修改后:

1.4 增加維度新列

用不同的字段來保存不同的值,就是在表中增加一個(gè)字段,這個(gè)字段用來保存變化后的當(dāng)前值,而原來的值則被稱為變化前的值??偟膩碚f,這種方法通過添加字段來保存變化后的痕跡。

用戶維度表 修改前:

修改后

1.5 使用歷史表

另外建一個(gè)表來保存歷史記錄,這種方式就是將歷史數(shù)據(jù)與當(dāng)前數(shù)據(jù)完全分開來,在維度中只保存當(dāng)前最新的數(shù)據(jù)。用戶維度表

用戶維度歷史表

這種方式的優(yōu)點(diǎn)是可以同時(shí)分析當(dāng)前及前一次變化的屬性值,缺點(diǎn)是只保留了最后一次變化信息。

思考

我在這里給大家提個(gè)場(chǎng)景題,比如我們?cè)谔詫毶腺徺I一件商品,從下單-支付-發(fā)貨-配送-確認(rèn)收貨這個(gè)幾步流。需求:統(tǒng)計(jì)出在發(fā)送到配置過程中轉(zhuǎn)了幾次?

小結(jié)

今天給大家分享了SCD解決方案,但是其實(shí)以上的解決方案不是很好,其實(shí)數(shù)倉有一個(gè)非常好的解決緩慢變化維拉鏈表既保留了歷史數(shù)據(jù)又不會(huì)造成數(shù)據(jù)冗余,拉鏈表我們下期講。信自己,努力和汗水總會(huì)能得到回報(bào)的。我是大數(shù)據(jù)老哥,我們下期見。

本文轉(zhuǎn)載自微信公眾號(hào)「大數(shù)據(jù)老哥」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系大數(shù)據(jù)老哥公眾號(hào)。

 

責(zé)任編輯:武曉燕 來源: 大數(shù)據(jù)老哥
相關(guān)推薦

2021-01-04 05:42:48

數(shù)倉模型設(shè)計(jì)

2009-01-19 16:15:05

緩慢變化維數(shù)據(jù)倉庫解決方案

2021-01-31 23:54:23

數(shù)倉模型

2022-08-22 17:46:56

虛擬數(shù)倉Impala

2010-02-07 15:29:41

Android問題

2022-07-26 15:38:58

數(shù)據(jù)倉數(shù)據(jù)治理數(shù)據(jù)團(tuán)隊(duì)

2023-01-03 17:43:39

網(wǎng)易郵箱數(shù)倉

2010-05-05 16:05:36

Unix cfengi

2022-03-01 17:16:16

數(shù)倉建模ID Mapping

2021-12-02 08:41:30

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

2009-09-15 10:16:01

LINQ動(dòng)態(tài)查詢

2010-05-04 13:42:18

Unix打印系統(tǒng)

2010-04-26 10:03:17

2023-11-23 16:53:56

數(shù)據(jù)倉庫大數(shù)據(jù)

2022-01-13 10:45:48

數(shù)倉對(duì)象主題域

2022-02-18 09:02:04

數(shù)據(jù)倉庫治理

2023-08-07 01:25:39

2021-08-11 07:53:22

數(shù)倉維度建模

2022-12-08 10:16:58

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

2020-12-07 14:01:20

數(shù)倉Flume數(shù)據(jù)
點(diǎn)贊
收藏

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