當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 江西OA系統(tǒng) > 南昌OA系統(tǒng) > 南昌OA信息化
把握數(shù)據(jù)倉(cāng)庫(kù)中的“鍵”
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
文章來源:泛普軟件目前,在數(shù)據(jù)倉(cāng)庫(kù)邏輯模型設(shè)計(jì)上主要有實(shí)體-關(guān)系建模和維度建模兩種方法,其中維度建模,即星型模式設(shè)計(jì)在國(guó)內(nèi)數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目工程實(shí)踐中應(yīng)用更為廣泛。星型結(jié)構(gòu)模型典型的形式是一個(gè)主題由中間的一個(gè)大表和圍繞在其周圍的一組小表組成。中間的大表稱為“事實(shí)表”,存儲(chǔ)數(shù)值型度量指標(biāo)和連接到維度表的外鍵;外圍的小表稱為“維度表”,存儲(chǔ)用于描述事物的文本屬性信息及連接到事實(shí)表的主鍵。
這一結(jié)構(gòu)體現(xiàn)了兩種關(guān)系,一是維度表與事實(shí)表之間的一對(duì)多關(guān)系;二是通過事實(shí)表體現(xiàn)出的維度表之間相互的多對(duì)多關(guān)系。實(shí)踐證明,這種簡(jiǎn)單而對(duì)稱的結(jié)構(gòu)能夠表達(dá)各種復(fù)雜的業(yè)務(wù)邏輯,并有助于最終用戶的訪問。
主外鍵關(guān)系是維度建模的重要基礎(chǔ),那么怎樣決定數(shù)據(jù)倉(cāng)庫(kù)中的主鍵呢?至少有三個(gè)方面因素必須考慮:第一,主鍵應(yīng)該是穩(wěn)定的;第二,主鍵應(yīng)該能夠標(biāo)識(shí)出到相關(guān)源系統(tǒng)的映射;第三,主鍵實(shí)際是一種約束,必須考慮加載和查詢的效率。
維度表中的鍵
維度表一般由主鍵、分類層次和屬性描述組成。對(duì)于主鍵的選擇一般存在兩種觀點(diǎn):一種是采用自然鍵(Natural Key),即操作型系統(tǒng)使用的具有一定內(nèi)置含義的標(biāo)識(shí)符;另一種是采用代理鍵(Surrogate Key),即由裝載程序或者數(shù)據(jù)庫(kù)系統(tǒng)所賦予的一個(gè)數(shù)值,該數(shù)值按順序分配,沒有內(nèi)置含義但可以作為一行維度信息的惟一標(biāo)識(shí)。
根據(jù)筆者的項(xiàng)目經(jīng)驗(yàn),推薦采納第二種觀點(diǎn),主要原因是代理鍵簡(jiǎn)化了事實(shí)表與維度表的主外鍵關(guān)系。維度表作為用戶進(jìn)入事實(shí)表的入口,承擔(dān)著記錄觀察視角的歷史變化軌跡的任務(wù)。如果以自然鍵、時(shí)間標(biāo)簽,或許還有機(jī)構(gòu)代碼聯(lián)合起來也可以在邏輯上惟一標(biāo)識(shí)出一個(gè)產(chǎn)品,但如果作為主鍵,那就意味著在事實(shí)表中也要加入同樣的外鍵信息,而事實(shí)表記錄行數(shù)是巨大的,在多個(gè)維度上重復(fù)這樣的做法會(huì)使事實(shí)表由于列寬過于膨脹而迅速崩潰。
最好的辦法是采用代理鍵,即選擇一個(gè)只占用4個(gè)字節(jié)就可以處理20億個(gè)正整數(shù)的列作為維度表的主鍵,這樣既解決了事實(shí)表存儲(chǔ)空間的浪費(fèi)問題,又維持了自身的獨(dú)立和穩(wěn)定。
另一個(gè)好處是,代理鍵可以作為數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)與源系統(tǒng)之間的緩沖。隨著企業(yè)的發(fā)展,生產(chǎn)系統(tǒng)中的產(chǎn)品名稱、產(chǎn)品分類、組織機(jī)構(gòu)幾乎不可避免地會(huì)發(fā)生調(diào)整,有的時(shí)候甚至自然鍵本身也會(huì)發(fā)生變化。就像身份證號(hào)碼都從15位變到18位一樣,在歷史的長(zhǎng)河中一般認(rèn)為不可能的事其實(shí)都有可能發(fā)生。如果采用了代理鍵,這些變化會(huì)被屏蔽在維度表內(nèi),需要記錄歷史軌跡的就貼上時(shí)間標(biāo)簽,不需要的就直接更新掉,變化的過程不會(huì)對(duì)事實(shí)表產(chǎn)生任何沖擊。維持業(yè)務(wù)系統(tǒng)的自然鍵與維度表代理鍵的對(duì)照關(guān)系的目的也在于此,既保留了業(yè)務(wù)系統(tǒng)到數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的映射,又提高了數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的抗震性。
事實(shí)表中的鍵
事實(shí)表中包含度量指標(biāo)和連接到相關(guān)維度表的一組外鍵,這組外鍵的聯(lián)合惟一標(biāo)識(shí)了一行事實(shí)數(shù)據(jù)。然而,事實(shí)表在維度建模過程中是如此重要,以致于我們必須進(jìn)一步認(rèn)識(shí)它。這里的關(guān)鍵是對(duì)邏輯主鍵和物理主鍵的認(rèn)識(shí)。
邏輯主鍵是構(gòu)成事實(shí)表的所有維度外鍵的聯(lián)合。由于事實(shí)表存在多種類型,從粒度上看有原子級(jí)和匯總級(jí);從度量的可加性上看有完全可加、半可加和不可加類型。在數(shù)據(jù)倉(cāng)庫(kù)邏輯模型設(shè)計(jì)階段,使用邏輯主鍵是妥當(dāng)?shù)模@是一個(gè)具有很好包容性和概括性的定義。物理主鍵是在具體的項(xiàng)目場(chǎng)景中能夠惟一標(biāo)識(shí)事實(shí)表中一行數(shù)據(jù)的列的聯(lián)合。在數(shù)據(jù)倉(cāng)庫(kù)物理模型設(shè)計(jì)階段,一般會(huì)采用物理主鍵的概念。邏輯主鍵有時(shí)是和物理主鍵一致的,但并不總是這樣。
物理模型中保單事實(shí)表的物理主鍵已經(jīng)確定,那么是否意味著一定要在事實(shí)表上真正建立起聯(lián)合主鍵?這個(gè)問題目前在業(yè)界存在著廣泛的爭(zhēng)議。筆者認(rèn)為應(yīng)該視情況而定,如果事實(shí)表很大,每天的增量信息很多,那么這個(gè)聯(lián)合主鍵可以不做顯式的聲明,即不在保單事實(shí)表上建立主鍵,物理主鍵只用于ETL及數(shù)據(jù)核查過程。
因?yàn)?,在OLTP系統(tǒng)環(huán)境中,數(shù)據(jù)的完整性通???jī)煞N方式來保證,一是應(yīng)用程序的邏輯保證,另一個(gè)是數(shù)據(jù)庫(kù)結(jié)構(gòu)自身的約束機(jī)制。這兩種方式相互補(bǔ)充,而數(shù)據(jù)倉(cāng)庫(kù)環(huán)境中的情況則完全不同,數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的完整性更依賴于應(yīng)用程序,也就是ETL系統(tǒng)的保證。
首先,ETL系統(tǒng)運(yùn)行時(shí)間雖然很長(zhǎng),但其結(jié)構(gòu)是簡(jiǎn)單的,重復(fù)地抓取、清洗、轉(zhuǎn)換、加載動(dòng)作。與其相比,OLTP系統(tǒng)可能同時(shí)在一張表上執(zhí)行大量并行業(yè)務(wù)操作;其次,事實(shí)表的惟一入口是維度表,按照維度建模的思路實(shí)現(xiàn)ETL程序,只可能產(chǎn)生不準(zhǔn)確的維度信息,但不可能在事實(shí)表中產(chǎn)生重復(fù)記錄;第三,與OLTP系統(tǒng)相比,數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)沒有交互式人機(jī)錄入界面,不存在“人為”錯(cuò)誤。
因此,當(dāng)裝載時(shí)間窗是一個(gè)必須考慮的問題時(shí),建議從數(shù)據(jù)倉(cāng)庫(kù)環(huán)境中刪除一些不必要的約束,其中包括主鍵約束、外鍵約束和惟一索引約束。這些約束規(guī)則可以在外部得以實(shí)施。 (CCW)
- 1用戶群體年輕化拉動(dòng)移動(dòng)OA辦公系統(tǒng)興起
- 2OA選型的三大陷阱
- 3OA系統(tǒng)的發(fā)展需要單位大膽的去使用
- 4現(xiàn)代企業(yè)辦公需要智能化OA
- 5黑客兵器的四大基本派系
- 6無(wú)紙化辦公意義重大 OA給政府部門帶來驚喜
- 7哪一種加密方式會(huì)更好呢?
- 8備戰(zhàn)OA系統(tǒng)選型 請(qǐng)打有準(zhǔn)備的仗
- 9移動(dòng)OA助推企業(yè)進(jìn)入發(fā)展“快車道”
- 10以協(xié)同OA為平臺(tái)深化人力資源管理
- 11間諜軟件的攻擊手段
- 12大數(shù)據(jù)如何在企業(yè)落地
- 13Linux遭遇擴(kuò)展性問題
- 14BPM在協(xié)同軟件中的地位
- 15泛普軟件:智能化撲面而來 智OA蓄勢(shì)崛起
- 16如何全面了解云計(jì)算?
- 17準(zhǔn)備金下調(diào)是央行貨幣政策轉(zhuǎn)向的一個(gè)信號(hào)?
- 18OA系統(tǒng)中的往來函件等能否作為證據(jù)使用呢?這是困擾著許多人的問
- 19校園網(wǎng)信息安全攻略
- 202013年CIO開年困惑之:免費(fèi)OA VS付費(fèi)OA
- 21文件備份系統(tǒng)無(wú)法保證數(shù)據(jù)完整
- 22手機(jī)智能化有所為 OA辦公系統(tǒng)價(jià)值延伸
- 23如何進(jìn)行網(wǎng)絡(luò)行為分析
- 24七種IP擁塞控制算法需改進(jìn)
- 25OA系統(tǒng)將審批自動(dòng)化
- 26利用Linux安全防護(hù)工具
- 27OA選型幾點(diǎn)建議
- 28泛普軟件:云計(jì)算是如何幫助大數(shù)據(jù)實(shí)現(xiàn)經(jīng)濟(jì)效益
- 29什么驅(qū)動(dòng)信息系統(tǒng)
- 30用SSL技術(shù)保護(hù)Apache服務(wù)器通信
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓