首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實用文檔 繽紛校園 英語學(xué)習(xí) | ||
2010考研 | 自學(xué)考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院 | ||
四六級 | 商務(wù)英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福 | ||
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點英、法、德、日、韓語 | 在職申碩英語 | ||
在職攻碩英語 | 成人英語三級 | ||
等級考試 | 水平考試 | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證 | ||
公務(wù)員 | 報關(guān)員 | 報檢員 | 外銷員 | 司法考試 | 導(dǎo)游考試 | 教師資格 | 國際商務(wù)師 | 跟單員 | ||
單證員 | 物流師 | 價格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師 | ||
期貨從業(yè)資格 | 社會工作者 | ||
會計職稱 | 注會CPA | 經(jīng)濟(jì)師 | 統(tǒng)計師 | 注冊稅務(wù)師 | 評估師 | 精算師 | 高會 | ACCA | 審計師 | ||
法律顧問 | 會計證 | ||
一級建造師 | 二級建造師 | 造價師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結(jié)構(gòu)師 | 建筑師 | 安全評價師 | ||
房地產(chǎn)估價師 | 土地估價師 | 設(shè)備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀(jì)人 | 造價員 | ||
投資項目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價 | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師 | ||
公路造價工程師 | 招標(biāo)師 | ||
執(zhí)業(yè)護(hù)士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格 |
提起數(shù)據(jù)建模來,有一點是首先要強(qiáng)調(diào)的,數(shù)據(jù)建模師和DBA有著較大的不同,對數(shù)據(jù)建模師來說,對業(yè)務(wù)的深刻理解是第一位的,不同的建模方法和技巧是為業(yè)務(wù)需求來服務(wù)的。而則暫時拋開業(yè)務(wù)不談,主要關(guān)注于建模方法和技巧的經(jīng)驗總結(jié)。
從目前的數(shù)據(jù)庫及數(shù)據(jù)倉庫建模方法來說,主要分為四類。 mda.com
第一類是大家最為熟悉的關(guān)系數(shù)據(jù)庫的三范式建模。通常我們將三范式建模方法用于建立各種操作型數(shù)據(jù)庫系統(tǒng)。
第二類是Inmon提倡的三范式數(shù)據(jù)倉庫建模。它和操作型數(shù)據(jù)庫系統(tǒng)的三范式建模在側(cè)重點上有些不同。Inmon的數(shù)據(jù)倉庫建模方法分為三層,第一層是實體關(guān)系層,也即企業(yè)的業(yè)務(wù)數(shù)據(jù)模型層,在這一層上和企業(yè)的操作型數(shù)據(jù)庫系統(tǒng)建模方法是相同的;第二層是數(shù)據(jù)項集層,在這一層的建模方法根據(jù)數(shù)據(jù)的產(chǎn)生頻率及訪問頻率等因素與企業(yè)的操作型數(shù)據(jù)庫系統(tǒng)的建模方法產(chǎn)生了不同;第三層物理層是第二層的具體實現(xiàn)。
第三類是Kimball提倡的數(shù)據(jù)倉庫的維度建模。我們一般也稱之為星型結(jié)構(gòu)建模,有時也加入一些雪花模型在里面。維度建模是一種面向用戶需求的、容易理解的、訪問效率高的建模方法,也是筆者比較喜歡的一種建模方式。
第四類是更為靈活的一種建模方式。通常用于后臺的數(shù)據(jù)準(zhǔn)備區(qū),建模的方式不拘一格,以能滿足需要為目的,建好的表不對用戶提供接口,多為臨時表。
下面簡單談?wù)劦谒念惤7椒ǖ囊恍┑慕?jīng)驗。
數(shù)據(jù)準(zhǔn)備區(qū)有一個最大的特點,就是不會直接面對用戶,所以對數(shù)據(jù)準(zhǔn)備區(qū)中的表進(jìn)行操作的人只有ETL工程師。ETL工程師可以自己來決定表中數(shù)據(jù)的范圍和數(shù)據(jù)的生命周期。下面舉兩個例子:
1)數(shù)據(jù)范圍小的臨時表
當(dāng)需要整合或清洗的數(shù)據(jù)量過大時,我們可以建立同樣結(jié)構(gòu)的臨時表,在臨時表中只保留我們需要處理的部分?jǐn)?shù)據(jù)。這樣,不論是更新還是對表中某些項的計算都會效率提高很多。處理好的數(shù)據(jù)發(fā)送入準(zhǔn)備加載到數(shù)據(jù)倉庫中的表中,最后一次性加載入數(shù)據(jù)倉庫。
2)帶有冗余字段的臨時表
由于數(shù)據(jù)準(zhǔn)備區(qū)中的表只有自己使用,所以建立冗余字段可以起到很好的作用而不用承擔(dān)風(fēng)險。
舉例來說,筆者在項目中曾遇到這樣的需求,客戶表{客戶ID,客戶凈扣值},債項表{債項ID,客戶ID,債項余額,債項凈扣值},即客戶和債項是一對多的關(guān)系。其中,客戶凈扣值和債項余額已知,需要計算債項凈扣值。計算的規(guī)則是按債項余額的比例分配客戶的凈扣值。這時,我們可以給兩個表增加幾個冗余字段,如客戶表{客戶ID,客戶凈扣值,客戶余額},債項表{債項ID,客戶ID,債項余額,債項凈扣值,客戶余額,客戶凈扣值}。這樣通過三條SQL就可以直接完成整個計算過程。將債項余額匯總到客戶余額,將客戶余額和客戶凈扣值冗余到債項表中,在債項表中通過(債項余額×客戶凈扣值/客戶余額)公式即可直接計算處債項凈扣值。
另外還有很多大家可以發(fā)揮的建表方式,如不需要主鍵的臨時表等等?偨Y(jié)來說,正因為數(shù)據(jù)準(zhǔn)備區(qū)是不對用戶提供接口的,所以我們一定要利用好這一點,以給我們的數(shù)據(jù)處理工作帶來最大的便利為目的來進(jìn)行數(shù)據(jù)準(zhǔn)備區(qū)的表設(shè)計。
行業(yè)借鑒經(jīng)驗:
數(shù)據(jù)倉庫架構(gòu)經(jīng)驗談
對于數(shù)據(jù)倉庫的架構(gòu)方法,不同的架構(gòu)師有不同的原則和方法,筆者在這里來總結(jié)一下當(dāng)前常采用的架構(gòu)方式及其優(yōu)缺點。這些架構(gòu)方式不限于某個行業(yè),可以供各個行業(yè)借鑒使用。
首先需要說明的一點是,目前在數(shù)據(jù)倉庫領(lǐng)域比較一致的意見是在數(shù)據(jù)倉庫中需要保留企業(yè)范圍內(nèi)一致的原子層數(shù)據(jù)。而獨立的數(shù)據(jù)集市架構(gòu)(Independent data marts)沒有企業(yè)范圍內(nèi)一致的數(shù)據(jù),很可能會導(dǎo)致信息孤島的產(chǎn)生,除非在很小的企業(yè)內(nèi)或只針對固定主題,否則不建議建立這樣的架構(gòu)方式。聯(lián)邦式的數(shù)據(jù)倉庫架構(gòu)(Federated Data Warehouse Architecture)不管是在地域上的聯(lián)邦還是功能上的聯(lián)邦都需要先在不同平臺上建立各自的數(shù)據(jù)倉庫,再通過參考(reference)數(shù)據(jù)來實現(xiàn)整合,而這樣很容易造成整合的不徹底,除非聯(lián)邦式的數(shù)據(jù)倉庫架構(gòu)也采用Kimball的總線架構(gòu)(Bus Architecture)中類似的功能,即在數(shù)據(jù)準(zhǔn)備區(qū)保留一致性維度(Conformed Table)并不斷更新它。所以,這兩種架構(gòu)方式不在討論范圍之內(nèi)。下面主要討論剩下的三種架構(gòu)方式。