生活随笔
收集整理的這篇文章主要介紹了
财务项目的维度建模
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
財(cái)務(wù)項(xiàng)目的維度建模
1.維度建模的作用
無(wú)論是在數(shù)據(jù)庫(kù)里還是在DW/BI設(shè)計(jì)中,做維度建模都是有必要的,只是兩者由于性能以及目的的不同,在維度建模上的規(guī)則有些不同,我這里說(shuō)的主要是DW/BI設(shè)計(jì)中的維度建模。我們知道大數(shù)據(jù)的一個(gè)最顯著的特征是數(shù)據(jù)體量大,它和用于業(yè)務(wù)系統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)中很大的區(qū)別在于允許存在數(shù)據(jù)的冗余、數(shù)據(jù)的結(jié)構(gòu)也不一定如關(guān)系型數(shù)據(jù)那么規(guī)范等等。對(duì)于一個(gè)中小型電商來(lái)說(shuō),或許一天的來(lái)自服務(wù)器的日志數(shù)據(jù)可能就是200G左右,從存儲(chǔ)的角度講,為了使服務(wù)器能夠使用更長(zhǎng)的時(shí)間,合理設(shè)計(jì)表之間的結(jié)構(gòu),減少數(shù)據(jù)的冗余,在保證查詢效率的前提下設(shè)計(jì)表之間最合理的結(jié)構(gòu)是必要的,這就是維度建模。
2,事實(shí)表
1.基本上所有的事實(shí)表按粒度可以劃分為3類(lèi):事務(wù)、周期性快照和累積快照。事務(wù)粒度級(jí)別的最為常見(jiàn)。2.一般事實(shí)表具有兩個(gè)或者更多的外鍵與維度表的主鍵關(guān)聯(lián):例如事實(shí)表中的產(chǎn)品鍵始終與產(chǎn)品維度表中的產(chǎn)品鍵匹配,當(dāng)事實(shí)表中所有鍵與對(duì)應(yīng)維度表中的主鍵各自正確匹配時(shí),這些表滿足參照完整性,可以通過(guò)維度表使用連接操作來(lái)實(shí)現(xiàn)對(duì)事實(shí)表的訪問(wèn)。3.事實(shí)表通常具有包含包含外鍵集合的主鍵,事實(shí)表的主鍵稱(chēng)為組合鍵,具有組合鍵的表稱(chēng)為事實(shí)表,事實(shí)表表示多對(duì)多關(guān)系,其他稱(chēng)為維度表。
3,維度表
1,維度表包含與業(yè)務(wù)過(guò)程量事件有關(guān)的文本環(huán)境,主要用于對(duì)事實(shí)表的行進(jìn)行描述,常見(jiàn)維度:時(shí)間維度、地域維度、產(chǎn)品維度等等,不同的業(yè)務(wù)需求會(huì)有不同的結(jié)果。2,維度表通常有多列,或者說(shuō)包含多個(gè)屬性。有很多個(gè)屬性的維度表并不稀奇。也可能存在一些只包含少量屬性的維度表。與事實(shí)表比較,維度表趨向于包含較少的行,但由于可能存在大量文本列而導(dǎo)致存在多列的情況。每個(gè)維度表由單一主鍵定義,用于在與事實(shí)表連接操作時(shí)實(shí)現(xiàn)參照完整性的基礎(chǔ)。3,維度屬性可作為查詢約束、分組、報(bào)表標(biāo)識(shí)的主要來(lái)源。對(duì)查詢或報(bào)表請(qǐng)求來(lái)說(shuō),屬性以詞或詞組加以區(qū)分。例如,當(dāng)用戶希望按照品牌來(lái)查看銷(xiāo)售額時(shí),要查看的品牌必須存在于維度屬性中。4,維度表屬性在DW/BI系統(tǒng)中起著至關(guān)重要的作用。因?yàn)榫S度表的屬性是所有查詢約束和報(bào)表標(biāo)識(shí)的來(lái)源。同時(shí),維度屬性對(duì)構(gòu)建DW/BI系統(tǒng)的可用性和可理解性也起著十分重要的作用。屬性應(yīng)該包含真實(shí)使用的詞匯而不是令人疑惑的縮寫(xiě),應(yīng)該盡量減少在維度中使用代碼,應(yīng)該將代碼替換為詳細(xì)的文本屬性。5,某些情況下,操作碼或標(biāo)識(shí)符對(duì)用戶具有確切的業(yè)務(wù)含義,或者需要利用這些操作碼與后臺(tái)的操作環(huán)境進(jìn)行交互,在此情況下,代碼應(yīng)該以清晰的維度屬性出現(xiàn),輔以對(duì)應(yīng)的用戶友好的文本描述符,例如,操作碼頭兩位數(shù)字表示業(yè)務(wù)類(lèi)別,3~4位表示全球區(qū)域。與其強(qiáng)制用戶查詢或過(guò)濾操作碼,不如將隱含的意思拆分,以不同的維度屬性方式展現(xiàn)給用戶。這樣用戶就能方便的開(kāi)展過(guò)濾、分組和制作報(bào)表等工作。
強(qiáng)大的維度屬性帶來(lái)的回報(bào)時(shí)健壯的分片-分塊分析能力。6,維度表往往具有層次關(guān)系,層次描述信息的存儲(chǔ)存在冗余,這樣做的主要目的是為了方便使用和提高查詢效率,也許你會(huì)堅(jiān)持在產(chǎn)品維度表里僅存儲(chǔ)品牌代碼,建立品牌分類(lèi)查詢表的方式,同樣的方法建立單獨(dú)的類(lèi)別查詢表,使數(shù)據(jù)規(guī)范化。這種規(guī)范化的方法構(gòu)建的模式稱(chēng)為雪花模式,維度表通常不一定滿足第三范式,他常常是非規(guī)范的,一個(gè)維度表中往往存在多對(duì)一的關(guān)系,由于與事實(shí)表比較,維度表通常小的多,因此采用規(guī)范化或雪花模型對(duì)數(shù)據(jù)庫(kù)的總?cè)萘坎](méi)有多大影響。一般對(duì)維度表存儲(chǔ)空間的權(quán)衡往往需要關(guān)注簡(jiǎn)單性和可訪問(wèn)性。
財(cái)務(wù)項(xiàng)目的維度建模初稿
背景:
這個(gè)財(cái)務(wù)項(xiàng)目主要是集團(tuán)的財(cái)務(wù)部為了方便對(duì)200多家子公司進(jìn)行管理以及減少平時(shí)由人工做賬可能產(chǎn)生的錯(cuò)誤,我們做這個(gè)DW/BI主要是服務(wù)于財(cái)務(wù)部門(mén)和決策者,可以由我們最終應(yīng)用層的數(shù)據(jù)直接生成資產(chǎn)負(fù)債表、現(xiàn)金流量表等報(bào)表。
總賬事實(shí)表處理:
總賬(Gener Ledger)是核心基礎(chǔ)財(cái)務(wù)系統(tǒng),它將來(lái)自分類(lèi)賬或采購(gòu)、支付和收入等不同系統(tǒng)的詳細(xì)信息關(guān)聯(lián)到一起。在研究總賬數(shù)據(jù)的基本方法時(shí),發(fā)現(xiàn)需要包含周期快照和事務(wù)事實(shí)表的互補(bǔ)模式。周期快照主要是為了是按月進(jìn)行處理,減少財(cái)務(wù)人員做月報(bào)的人力投入,而加上一個(gè)粒度位日的事務(wù)事實(shí)表(序時(shí)賬)的目的在于如果周期快照數(shù)據(jù)有什么問(wèn)題,可以方便技術(shù)人員查看原子數(shù)據(jù),快速定位問(wèn)題,或者某些月的數(shù)據(jù)存在異常,可以方便決策者和財(cái)務(wù)人員查看最原始數(shù)據(jù),找出經(jīng)營(yíng)上或其他方面出現(xiàn)的問(wèn)題。
最終我在總賬這塊的維度建模如下圖:(由于還沒(méi)有太具體的要求,所以很多表里的字段肯定不夠,一般應(yīng)該至少會(huì)有30個(gè)字段)
其實(shí)總賬周期事實(shí)表里有一個(gè)字段期末余額是屬于半可加字段,數(shù)倉(cāng)中也可以通過(guò)計(jì)算得到,但是由于期末余額的計(jì)算如果沒(méi)有添加到這個(gè)快照事實(shí)表,則計(jì)算需要回溯到最原始的那個(gè)快照,而添加后回溯到上一個(gè)快照即可計(jì)算。為了提高一定的查詢效率,提高用戶滿意度,我個(gè)人感覺(jué)應(yīng)該將其放入這個(gè)快照事實(shí)表。
憑證和現(xiàn)金流量事實(shí)處理:
總結(jié)
以上是生活随笔為你收集整理的财务项目的维度建模的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。