1.銀行案例研究與總線矩陣
基本需求
業(yè)務用戶希望看到每個賬戶5年的奈虾、以月為單位的歷史快照數(shù)據(jù)劣像。
每個賬戶有一個基本的余額萧吠。業(yè)務上希望用同一個分析來分組不同類型的賬戶并比較基本余額品追。
每個類型的賬戶(也就是銀行的產(chǎn)品)有一系列自定義維度屬性和數(shù)值事實,其內(nèi)容不同的產(chǎn)品具有較大的差別。
每個賬戶被認為屬于一個家庭卒茬。由于婚姻狀況和其他各種生命不同階段因素的變化,會使賬戶/家庭關系產(chǎn)生數(shù)量驚人的變化。
除了家庭確定外,用戶對人口統(tǒng)計信息感興趣,無論它涉及的是個體客戶或家庭咖熟。
此外,銀行為每個賬戶和家庭獲取并存儲與活動或特征有關的行為積分圃酵。
2.分類維度以避免出現(xiàn)維度太少的情況
可以考慮添加下列的維度到初步的模型中,因為它們不會改變事實表的粒度。增加這些維度通常不會改變已有的維度關鍵字或事實表中的度量事實馍管。所有應用可以不加改變地繼續(xù)使用郭赐。任何出現(xiàn)在事實表中的具有單一值的描述性屬性的度量,都是增加到現(xiàn)存維度或自身維度的候選項。
- 因果維度,例如,晉升确沸、合同捌锭、交易、存儲環(huán)境,甚至是天氣罗捎。這些維度在第3章已經(jīng)討論過,它們對事件的產(chǎn)生原因提供了見識观谦。
- 多日期維度,特別是當事實表是累積快照時。參考第4章有關帶有多個日期戳的示例事實表桨菜。
- 區(qū)分操作型事務控制號的退化維度,例如,訂單豁状、發(fā)票、提貨單或票據(jù),可參考,第3章的相關內(nèi)容倒得。
- 角色扮演的維度,例如,當單個事務涉及與多個業(yè)務實體有關,而每個實體由不同的維度表示時泻红。在第6章中,我們描述了處理多個日期的角色扮演示例。
- 狀態(tài)維度,可以在一個更大的環(huán)境內(nèi)(例如,賬戶狀態(tài)中)區(qū)分事務的當前狀態(tài)或月快照霞掺。
- 審計維度,在第6章中討論過,用于跟蹤數(shù)據(jù)沿革和質(zhì)量谊路。
- 涉及相關指標和標識的雜項維度,在第6章中討論過。
家庭維度
將賬戶和家庭視為不同維度的決定是設計者的權利菩彬。即使從直觀的角度來看,它們是存在關聯(lián)的,但之所以將它們區(qū)別開來,主要是因為賬戶維度的大小以及家庭維度中賬戶構成的波動性缠劝。在大型銀行中,賬戶維度非常巨大,很容易形成,1 000萬行的賬戶維度表,涉及幾百萬個家庭。家庭維度提供與事實表關聯(lián)的更小的入口點,不需要遍歷包含1000萬行的賬戶維度表挤巡。同時,鑒于賬戶與家庭之間存在經(jīng)常變化的情況,可以選擇使用事實表獲取它們之間的關系,不需要在每個賬戶維度表中包含家庭屬性剩彬。采用這樣的方法,可以避免在包含1000萬行的賬戶維度中使用類型2緩慢變化維度技術。
多值維度和權重因子
權重因子是一種包含多個賬戶擁有者的簡單的分配數(shù)字可加事實的方法矿卑。
(這個權重因子有什么用???)
再談微型維度
由于維度行的數(shù)量和屬性波動(例如,對月度信用機構屬性更新)的原因,依靠緩慢變化維度技術類型2來跟蹤賬戶維度的變化是不合理的喉恋。相反,可以中斷可瀏覽的和可變化的屬性,將它們放入微型維度中
在橋接表中增加微型維度
(挺重要的,可以解決一般的多對多問題,但不是全部)
在銀行賬戶的示例中,賬戶-客戶橋接表可能會變得非常龐大。如果您有2000萬賬戶和2500萬客戶,假設賬戶維度和客戶維度都是緩慢變化類型2維度(您可以通過帶有新主鍵的新增行跟蹤歷史情況),則幾年后橋接表可能會有幾百萬行。經(jīng)驗豐富的建模人員可能會問“當我的客戶維度變成快速變化的巨型維度時會發(fā)生什么事情呢? ”當快速變化的人口統(tǒng)計和狀態(tài)屬性被增加到客戶維度,迫使大量的類型2增加到客戶維度中時,會出現(xiàn)這種情況轻黑。現(xiàn)在2500萬行客戶維度有可能增加到幾億行數(shù)據(jù)糊肤。針對快速變化的巨型維度的標準處理方法是將快速變化的人口統(tǒng)計和狀態(tài)屬性分裂為類型4微型維度,通常稱為人口統(tǒng)計維度。當人口統(tǒng)計維度直接附加到包含客戶維度的事實表時,這樣做會獲得良好的效果,因為它能夠使大型維度保持穩(wěn)定,并能夠使它在每次人口統(tǒng)計或狀態(tài)屬性發(fā)生變化時不快速增長
實現(xiàn)橋接表的方法是將每個賬戶連接到與之關聯(lián)的客戶以及他們的人口統(tǒng)計氓鄙。現(xiàn)在橋接表的主鍵包含賬戶鍵馆揉、客戶鍵和人口統(tǒng)計鍵。依據(jù)新人口統(tǒng)計被分配到每個賬戶的頻繁程度,橋接表可能會快速增長抖拦。按照上述設計,由于銀行賬戶事實表的粒度是每月每賬戶,所以橋接表被限制為僅需要在月末改變記錄升酣。這樣做將減輕跟蹤橋接表變化的壓力。
動態(tài)值范圍事實
下圖所示的模式設計確保隨時建立范圍值報表态罪。范圍定義表可以包含所需的多個不同報表范圍集合噩茄。特定范圍組的名稱存儲于范圍組列中。范圍定義表通過使用一對小于和大于連接符與余額事實表連接复颈。報表使用范圍寬度名稱作為行頭并按照排序?qū)傩耘判颉?/p>
3.異構產(chǎn)品的超類和子類模式
在許多金融服務行業(yè)中,由于機構提供的產(chǎn)品或服務的異構性導致利弊共存绩聘。我們在介紹中曾提到,典型的零售銀行為同樣的客戶提供大量的產(chǎn)品,從活期存款到信用卡。雖然每個銀行賬戶都有一個與之關聯(lián)的主余額和利息額,但每個產(chǎn)品類型都包含許多未與其他產(chǎn)品共享的特殊的屬性和度量事實耗啦。例如,活期存款具有最低余額凿菩、透支限額、服務費,以及其他與網(wǎng)上銀行關聯(lián)的度量帜讲。而定期存款(例如,存款單)的一些屬性與活期存款重疊,但是它包含特有的屬性,包括到期日衅谷、復合率和當前利率。
使用兩種視圖來表示,一是全局視圖,二是業(yè)務領域視圖
現(xiàn)在子類活期事實表和對應的活期賬戶維度都被擴展用于描述僅針對活期存款產(chǎn)品的所有特定事實和屬性似将。這些子類模式還必須包含超類事實和屬性,這樣當需要完整的事實和屬性時,就可以避免超類和子類模式之間發(fā)生連接操作会喝。也可以為其他業(yè)務領域建立不同的子類事實和賬戶表,以支持針對它們的深度分析需求。
(作者說,子類中要包含超類的屬性,防止連接操作,感覺這個挺好的,注意一下)
子類維度提供不相關的信息屬性分區(qū),之間不存在屬性的折疊
包含公共產(chǎn)品的超類與子類產(chǎn)品
以上所討論的超類與子類產(chǎn)品技術適合應用于單一邏輯行包含許多特定產(chǎn)品事實的事實表玩郊。另一方面,一些業(yè)務過程獲得的度量,例如,銀行的新賬戶需求,可能不會根據(jù)業(yè)務領域而變化。此時,不需要業(yè)務領域事實表,一個超類事實表就足夠了枉阵。然而,仍然會存在大量的包含不同屬性的異構產(chǎn)品,此時,可以建立完整的子類賬戶維度表的組合,要根據(jù)應用的情況適當使用它們译红。在開展跨多個產(chǎn)品的分析時,可以使用超類賬戶維度表,因為它可以包含所有賬戶分組。開展單一賬戶類型分析時,如果您希望利用與賬戶類型相關的子類屬性時,可以有選擇地使用子類賬戶維度表,而不是使用超類維度
(這種架構也挺有用的,但是作者說之前的超類和子類技術只適用于單一邏輯,我就不怎么理解了,可能是說多對一的關系吧,對于下面的這種包含公共產(chǎn)品的超類與子類產(chǎn)品架構,作者認為這種架構適用于跨多個產(chǎn)品分析和單一產(chǎn)品的分析的取舍,與第一種有什么區(qū)別呢??第一種單獨的一張子類表就能分析了,因為子類表中有部分完整的數(shù)據(jù),而這個架構子類沒有超類的屬性,必須聯(lián)合超類進行分析,大概吧??我覺得并沒有顯著的區(qū)別)
4.熱可交換維度
一個經(jīng)紀公司可能具有大量跟蹤股票市場的客戶兴溜。所有這些客戶訪問同一個每日波動的股票價格事實表侦厚。但是每個客戶都有一組自己的描述每個股票的屬性集。經(jīng)紀公司可以通過為每個客戶復制不同的股票維度來支持這種多客戶環(huán)境,在查詢時將股票維度與同一個事實表連接拙徽。我們將這種方式稱為熱可交換維度刨沦。要在關系數(shù)據(jù)庫環(huán)境中實現(xiàn)熱可交換維度,事實表與各種股票維度表的參考完整性約束可能必須關閉,以允許針對獨立查詢基礎上的交換。
銀行總線矩陣片段
對維度進行分類以避免維度太少的陷阱
家庭維度用一個賬戶關聯(lián)多個客戶的橋接表,以及權重因子
單一事實表中的多個微型維度
報表的動態(tài)范圍值事實
處理多個行業(yè)的異構產(chǎn)品,不同類別產(chǎn)品包含唯一度量與/或維度屬性,作為超類或亞類模式
熱可交換維度
重點有微型維度,微型維度和橋接表的結合,超類和子類問題