亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

深入探討數據倉庫緩慢變化維的解決方案

2024-07-21 02:43:55
字體:
來源:轉載
供稿:網友
這篇論壇文章深入探討了數據倉庫緩慢變化維的解決方案,詳細內容請參考下文:

緩慢變化維定義

Wikipedia中的定義:

Dimension is a term in data management and data warehousing that refers to logical groupings of data such as geographical location, customer information, or PRoduct information.

Slowly Changing Dimensions (SCD) are dimensions that have data that slowly changes.

大意是說數據會發生緩慢變化的維度就叫”緩慢變化維”。

舉個例子就清楚了:

在一個零售業數據倉庫中,事實表保存著各銷售人員的銷售記錄,某天一個銷售人員從北京分公司調到上海分公司了,那么如何來保存這個變化呢?也就是說銷售人員維度要怎么恰當的處理這一變化。先來回答一個問題,為什么要處理,或保存這一變化?如果我們要統計北京地區或上海地區的總銷售情況的時候,這個銷售人員的銷售記錄應該算在北京還是算在上海?當然是調離前的算在北京,調離后的算在上海,但是如標記這個銷售人員所屬區域?這里就需要處理一下這個維度的數據,即我們緩慢變化維需要做的事情。

處理緩慢變化維一般按不同情況有以下幾種解決方案:

一. 新數據覆蓋舊數據

此方法必須有前提條件,即你不關心這個數劇的變化。例如,某個銷售人員的英文名改了,如果你不關心員工的英文名有什么變化則可直接覆蓋(修改)數據倉庫中的數據。

二. 保存多條記錄,并添加字段加以區分

這種情況下直接新添一條記錄,同時保留原有記錄,并用單獨的專用的字段保存區別。如:

(以下表格中Supplier_State表示上面例子中所屬區域,為描述清晰,不用代理鍵表示)

Supplier_key Supplier_Code Supplier_Name Supplier_State Disable

001 ABC Phlogistical Supply Company CA Y

002 ABC Phlogistical Supply Company IL N

或:

Supplier_key Supplier_Code Supplier_Name Supplier_State Version

001 ABC Phlogistical Supply Company CA 0

002 ABC Phlogistical Supply Company IL 1

以上兩種是添加數據版本信息或是否可用來標識新舊數據。

下面一種則是添加記錄的生效日期和失效日期來標識新舊數據:

Supplier_key Supplier_Code Supplier_Name Supplier_State Start_Date End_Date

001 ABC Phlogistical Supply Company CA 01-Jan-2000 21-Dec-2004

002 ABC Phlogistical Supply Company IL 22-Dec-2004

空的End_Date表示當前版本數據,或者你也可一用一個默認的大時間 (如: 12/31/9999)來代替空值, 這樣數據還能被索引識別到.

三. 不同字段保存不同值

Supplier_key Supplier_Name Original_Supplier_State Effective_Date Current_Supplier_State

001 Phlogistical Supply Company CA 22-Dec-2004 IL

這種方法用不同的字段保存變化痕跡.但是這種方法不能象第二種方法一樣保存所有變化記錄,它只能保存兩次變化記錄.適用于變化不超過兩次的維度。

四. 另外建表保存歷史記錄

即另外建一個歷史表來表存變化的歷史記錄,而維度只保存當前數據。

Supplier:

Supplier_key Supplier_Name Supplier_State

001 Phlogistical Supply Company IL

Supplier_History:

Supplier_key Supplier_Name Supplier_State Create_Date

001 Phlogistical Supply Company CA 22-Dec-2004

這種方法僅僅記錄一下變化歷史痕跡,其實做起統計運算來還是不方便的。

五. 混合模式

這種模式是以上幾種模式的混合體,相對而言此種方法更全面,更能應對錯綜復雜且易變化的用戶需求,也是較為常用的。

Row_Key Supplier_key Supplier_Code Supplier_Name Supplier_State Start_Date End_Date Current Indicator

1 001 ABC001 Phlogistical Supply Company CA 22-Dec-2004 15-Jan-2007 N

2 001 ABC001 Phlogistical Supply Company IL 15-Jan-2007 1-Jan-2099 Y

此中方法有以下幾條優點:

1. 能用簡單的過濾條件選出維度當前的值。

2. 能較容易的關聯出歷史任意一時刻事實數據的值。

3. 如果事實表中有一些時間字段(如:Order Date, Shipping Date, Confirmation Date),那么我們很容易選擇哪一條維度數據進行關聯分析。

其中Row_Key和 Current Indicator字段是可有可無的,加上去更方便,畢竟維度表的數據都不大,多點冗余字段不占太大空間但能提高查詢效率。

這種設計模式下事實表應以Supplier_key為外鍵,雖然這個字段不能唯一標識一條維度數據,從而形成了事實表與維表多對多的關系,因此在做事實和維度做關聯時應加上時間戳字段(或Indicator字段)。

六. 非常規混合模式

上面說到第五種實現方式有點弊端,那就是事實表和維表不是多對一關系,而是多對多關系,這種關系不能在建模時解決只能在報表層面,在報表運行時解決,且在BI語意層建模時需要添加時間過濾條件,比較繁瑣。

下面這種解決方案可以解決此多對多關系,但是得修改一下事實表:

Supplier Dimension:

Version_Number Supplier_key Supplier_Code Supplier_Name Supplier_State Start_Date End_Date

1 001 ABC001 Phlogistical Supply Company CA 22-Dec-2004 15-Jan-2007

0 001 ABC001 Phlogistical Supply Company IL 15-Jan-2007 1-Jan-2099

Fact Delivery: (為描述清晰,同樣不使用代理鍵標識維度)

Delivery_Key Supplier_key Supplier_version_number Quantity Product Delivery_Date Order_Date

1 001 0 132 Bags 22-Dec-2006 15-Oct-2006

2 001 0 324 Chairs 15-Jan-2007 1-Jan-2007

此方案中向維表中的當前數據版本號始終為0,即插入維度數據時先將老版本的數據的version_number改成1(遞增),然后再插入當前數據,此時才能保持當前數據版本號始終為0。

事實表中插入數據時所有的維度數據版本號始終全部為0。

因此此方案完全可解決事實表和維表多對多關系問題,另外還有個優點是能保證事實表和維表的參照完整性,而且我們在用ERwin,PowerDesigner等建模工具建模時,Version_Number和Supplier_key可作為復合主鍵在兩實體間建立鏈接。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区欧美| 久久激情视频免费观看| 国产精品旅馆在线| 亚洲成人999| 亚洲男人第一av网站| 国产亚洲综合久久| 国产97在线亚洲| 尤物yw午夜国产精品视频| 日韩欧美在线一区| 欧美乱大交xxxxx另类电影| 中文字幕亚洲一区二区三区| 日本久久91av| 日韩综合视频在线观看| 国产啪精品视频| 日韩黄在线观看| 精品久久中文字幕久久av| 国模视频一区二区三区| 色哟哟亚洲精品一区二区| 亚洲欧美在线免费观看| 久久久久亚洲精品成人网小说| 亚洲欧美日韩久久久久久| 2019中文字幕在线免费观看| 日韩经典第一页| 欧美国产日韩一区二区| 欧美高清videos高潮hd| 欧美成人免费观看| 一本色道久久88综合亚洲精品ⅰ| 国产欧美日韩丝袜精品一区| 伊人男人综合视频网| 国产综合久久久久久| 亚洲xxxxx| 国产精品美女免费| 亚洲精品美女在线观看| 亚洲午夜女主播在线直播| 国产精品日韩一区| 国产一区玩具在线观看| 久久精品久久久久| 姬川优奈aav一区二区| 亚洲第一天堂无码专区| 国外成人免费在线播放| 国产精品久久久久久久7电影| 久久久精品视频在线观看| 欧美激情a∨在线视频播放| 黑人狂躁日本妞一区二区三区| 91福利视频在线观看| 欧美亚洲视频在线观看| 欧美人与物videos| 久久天堂电影网| 亚洲人成在线观看| 欧洲精品在线视频| 亚洲第一男人av| 97在线视频免费看| 精品亚洲aⅴ在线观看| 久久久av网站| 97精品国产aⅴ7777| 欧美一区二区三区免费视| 国内免费久久久久久久久久久| 国模私拍一区二区三区| 理论片在线不卡免费观看| 九九热精品视频| 日韩最新在线视频| 亚洲欧美国产精品va在线观看| 最新国产成人av网站网址麻豆| 国产精品丝袜一区二区三区| 成人av色在线观看| 伊人伊人伊人久久| 91精品国产高清| 日韩av在线最新| 狠狠躁夜夜躁人人爽超碰91| 欧美一级高清免费播放| 中文字幕一区二区精品| 夜色77av精品影院| 日韩电影大片中文字幕| 91精品视频免费观看| 中文字幕久久久av一区| 午夜精品理论片| 欧洲永久精品大片ww免费漫画| 亚洲区一区二区| 国产精品一区二区久久| 日韩在线观看免费高清| 韩国欧美亚洲国产| 久久婷婷国产麻豆91天堂| 欧美日韩人人澡狠狠躁视频| 一区二区三区在线播放欧美| 欧美日韩加勒比精品一区| 91精品国产亚洲| 午夜精品一区二区三区在线视频| 午夜精品一区二区三区在线| 欧美激情国产日韩精品一区18| 国产午夜精品视频免费不卡69堂| 成人免费大片黄在线播放| 九九热精品视频| 欧美性高跟鞋xxxxhd| 亚洲欧美日韩在线高清直播| 国产欧亚日韩视频| 91中文精品字幕在线视频| 国产精品日日做人人爱| 国产精品夜色7777狼人| 国产91成人video| 欧美激情xxxxx| 成人中文字幕+乱码+中文字幕| 日韩在线精品一区| 国产亚洲精品久久久久久| 久久国产精品久久久久| 91精品国产自产在线| 久久久日本电影| 亚洲色图在线观看| 成人免费看黄网站| 国产一区二中文字幕在线看| 国产精品日韩一区| 久久久精品久久久| 亚洲欧美999| 97国产一区二区精品久久呦| 国产亚洲激情在线| 亚洲国产精品系列| 欧美精品成人91久久久久久久| 亚洲视频在线观看| 欧美黑人性猛交| 中日韩美女免费视频网站在线观看| 亚洲国产欧美一区二区三区久久| 国产精品久久77777| 日韩中文字幕视频在线观看| 亚洲人成在线观看网站高清| 久久精品国产成人| 亚洲最新在线视频| 高清日韩电视剧大全免费播放在线观看| 国产精品一区二区三区免费视频| 欧美精品日韩www.p站| 亚洲国产精品yw在线观看| 欧美电影电视剧在线观看| 欧美激情视频一区| 国产精品久久久久久久久久尿| 九九久久久久99精品| 草民午夜欧美限制a级福利片| 精品国产精品三级精品av网址| 岛国av在线不卡| 精品福利在线观看| 久久五月天色综合| 日韩av在线影院| 亚洲一级黄色av| 另类天堂视频在线观看| 精品国产一区二区三区久久| 欧美精品18videosex性欧美| …久久精品99久久香蕉国产| 日韩电影中文字幕在线| 懂色av一区二区三区| 亚洲精选在线观看| 国产精品一二三视频| 国产欧美精品va在线观看| 国产成人91久久精品| 国产91亚洲精品| 韩剧1988在线观看免费完整版| 中文字幕精品久久| 国产亚洲欧洲高清| 亚洲国产成人精品女人久久久| 在线观看久久久久久| 欧美在线免费视频| 日韩在线视频一区| 亚洲一区二区三区久久| 亚洲性视频网址| 亚洲精品久久久久久久久久久久| 中文字幕亚洲情99在线| 午夜精品在线观看| 亚洲人成在线电影|