事務(wù)事實(shí)表用于跟蹤定義業(yè)務(wù)過程的個(gè)體行為
設(shè)計(jì)案例
場景:為交易事務(wù)設(shè)計(jì)事實(shí)表
1)業(yè)務(wù)分析:交易事務(wù)包括下單梨州、支付祖秒、發(fā)貨诞吱、完結(jié)四個(gè)業(yè)務(wù)過程
2)確定粒度:同一個(gè)訂單中可以包含多個(gè)在商品,每個(gè)商品對應(yīng)一個(gè)子訂單竭缝。在上述四個(gè)業(yè)務(wù)過程中下單房维、支付、完結(jié)選擇子訂單作為粒度抬纸,而發(fā)貨業(yè)務(wù)過程包含物流信息咙俩,以父訂單為粒度
3)確定維度:賣家、買家湿故、商品阿趁、商品類目、發(fā)貨地區(qū)晓锻、收貨地區(qū)歌焦、父訂單一級雜項(xiàng)維度
4)確定事實(shí):每個(gè)業(yè)務(wù)過程有自己的事實(shí),如下單過程的下單金額砚哆、下單數(shù)量独撇;支付過程的支付金額、積分金額等
5)冗余維度:為了提升效率躁锁,把常用的維度榮譽(yù)到事實(shí)表
單事務(wù)事實(shí)表
一個(gè)業(yè)務(wù)過程一張事實(shí)表纷铣,方便對每個(gè)業(yè)務(wù)做獨(dú)立分析
多事務(wù)事實(shí)表
將不同業(yè)務(wù)過程放在同一個(gè)事實(shí)表中,又可以分為不同業(yè)務(wù)過程使用不同事實(shí)字段和不同業(yè)務(wù)過程使用相同事實(shí)字段兩種
1)不同業(yè)務(wù)過程使用不同事實(shí)字段战转,一般用于業(yè)務(wù)相似搜立,粒度相同但是業(yè)務(wù)過程的度量差異大的場景。有兩個(gè)典型的問題:
① 在數(shù)據(jù)中遇到不是當(dāng)前業(yè)務(wù)過程的度量槐秧,采用零值處理
② 表中存在多個(gè)業(yè)務(wù)啄踊,如何標(biāo)記忧设?給每一個(gè)數(shù)據(jù)加一個(gè)屬性標(biāo)識(shí)是否當(dāng)日業(yè)務(wù)
2)不同業(yè)務(wù)過程使用相同事實(shí)字段,用一個(gè)標(biāo)簽字段標(biāo)識(shí)是那種業(yè)務(wù)(如商品的收藏/刪除)颠通。一般用于業(yè)務(wù)相似址晕,粒度相同同時(shí)業(yè)務(wù)過程的度量差異不大的場景。但是有一個(gè)問題要注意顿锰,因?yàn)橛猛粋€(gè)字段標(biāo)識(shí)不同業(yè)務(wù)的度量谨垃,所以數(shù)據(jù)一個(gè)周期內(nèi)會(huì)有多條記錄
兩種事實(shí)表對比
另外,如果一個(gè)業(yè)務(wù)過程的事實(shí)量巨大硼控,不宜使用多事務(wù)事實(shí)表刘陶,會(huì)造成大量零值