首先介紹關(guān)系數(shù)據(jù)模型、多維數(shù)據(jù)模型和 Data Vault 模型這三種常見的數(shù)據(jù)倉庫模型和與之相關(guān)的設(shè)計(jì)方法,然后討論數(shù)據(jù)集市的設(shè)計(jì)問題,最后說明一個數(shù)據(jù)倉庫項(xiàng)目的實(shí)施步驟响禽。規(guī)劃實(shí)施過程是整個數(shù)據(jù)倉庫設(shè)計(jì)的重要組成部分。
關(guān)系模型、多維模型已經(jīng)有很長的歷史,而 Data Vault 模型相對比較新。它們都是流行的數(shù)據(jù)倉庫建模方式,但又有各自的特點(diǎn)和適用場景彻况。讀者在了解了本章的內(nèi)容后,可以根據(jù)實(shí)際需求選擇適合的方法構(gòu)建自己的數(shù)據(jù)倉庫。
2.1 關(guān)系數(shù)據(jù)模型
關(guān)系模型是由 E.F.Codd 在 1970 年提出的一種通用數(shù)據(jù)模型舅踪。由于關(guān)系數(shù)據(jù)模型簡單明了,并且有堅(jiān)實(shí)的數(shù)學(xué)理論基礎(chǔ),所以一經(jīng)推出就受到了業(yè)界的高度重視疗垛。關(guān)系模型被廣泛應(yīng)用于數(shù)據(jù)處理和數(shù)據(jù)存儲,尤其是在數(shù)據(jù)庫領(lǐng)域,現(xiàn)在主流的數(shù)據(jù)庫管理系統(tǒng)幾乎都是以關(guān)系數(shù)據(jù)模型為基礎(chǔ)實(shí)現(xiàn)的。
關(guān)系數(shù)據(jù)模型可以提供高性能的數(shù)據(jù)更新操作,能很好地滿足事務(wù)型系統(tǒng)的需求,這點(diǎn)毋庸置疑硫朦。但是對于查詢與分析密集型的數(shù)據(jù)倉庫系統(tǒng)還是否合適呢?對這個問題的爭論由來已久,基本可以分為 Inmon 和 Kimball 兩大陣營, Inmon 陣營是應(yīng)用關(guān)系數(shù)據(jù)模型構(gòu)建數(shù)據(jù)倉庫的支持者贷腕。
關(guān)系數(shù)據(jù)模型與數(shù)據(jù)倉庫
數(shù)據(jù)倉庫最重要的一個用途是作為堅(jiān)實(shí)的、可靠的咬展、一致的數(shù)據(jù)基礎(chǔ)為后續(xù)的報表系統(tǒng)泽裳、數(shù)據(jù)分析、數(shù)據(jù)挖掘或BI系統(tǒng)服務(wù)破婆。數(shù)據(jù)模型還必須支持為組織建立的業(yè)務(wù)規(guī)則涮总。這就意味著數(shù)據(jù)模型必須比簡單的平面文件功能更強(qiáng)。為此關(guān)系數(shù)據(jù)模型也是最佳選擇之一祷舀。
關(guān)系數(shù)據(jù)模型已被證明是可靠的瀑梗、簡單的數(shù)據(jù)建模方法。應(yīng)用其規(guī)范化規(guī)則,將產(chǎn)生一個穩(wěn)定的裳扯、一致的數(shù)據(jù)模型抛丽。該模型支持由組織制定的政策和約定的規(guī)則,同時為數(shù)據(jù)集市分析數(shù)據(jù)提供了更多的靈活性,使得數(shù)據(jù)庫存儲以及數(shù)據(jù)裝載方面也是最有效的。
當(dāng)然,任何一種數(shù)據(jù)模型都不可能是完美無瑕的饰豺。關(guān)系數(shù)據(jù)模型的缺點(diǎn)也很明顯,它需要額外建立數(shù)據(jù)集市的存儲區(qū),并增加相應(yīng)的數(shù)據(jù)裝載過程亿鲜。另外,對數(shù)據(jù)倉庫的使用強(qiáng)烈依賴于對SQL語言的掌握程度。
2.2 維度數(shù)據(jù)模型
維度數(shù)據(jù)模型簡稱維度模型( Dimensional modeling, DM ),是一套技術(shù)和概念的集合,用于數(shù)據(jù)倉庫設(shè)計(jì)冤吨。不同于關(guān)系數(shù)據(jù)模型,維度模型不一定要引入關(guān)系數(shù)據(jù)庫蒿柳。
在邏輯上相同的維度模型,可以被用于多種物理形式,比如維度數(shù)據(jù)庫或是簡單的平面文件饶套。根據(jù)數(shù)據(jù)倉庫大師Kimball的觀點(diǎn),維度模型是一種趨向于支持最終用戶對數(shù)據(jù)倉庫進(jìn)行查詢的設(shè)計(jì)技術(shù),是圍繞性能和易理解性構(gòu)建的。盡管關(guān)系模型對于事務(wù)處理系統(tǒng)表現(xiàn)非常出色,但它并不是面向最終用戶的垒探。
2.2.1 維度數(shù)據(jù)模型建模過程
維度模型通常以一種被稱為星型模式的方式構(gòu)建妓蛮。所謂星型模式,就是以一個事實(shí)表為中心,周圍環(huán)繞著多個維度表。還有一種模式叫做雪花模式,是對維度做進(jìn)一步規(guī)范化后形成的圾叼。
2.2.2 維度規(guī)范化
與關(guān)系模型類似,維度也可以進(jìn)行規(guī)范化蛤克。對維度的規(guī)范化(又叫雪花化),可以去除冗余屬性,是對非規(guī)范化維度做的規(guī)范化處理,在下面介紹雪花模型時,會看到維度規(guī)范化的例子。一個非規(guī)范化維度對應(yīng)一個維度表,規(guī)范化后,一個維度會對應(yīng)多個維度表,維度被嚴(yán)格地以子維度的形式連接在一起褐奥。實(shí)際上,在很多情況下,維度規(guī)范化后的結(jié)構(gòu)等同于一個低范式級別的關(guān)系型結(jié)構(gòu)。
2.2.3 維度數(shù)據(jù)模型的特點(diǎn)
- 易理解翘簇。相對于規(guī)范化的關(guān)系模型,維度模型容易理解且更直觀撬码。在維度模型中,信息按業(yè)務(wù)種類或維度進(jìn)行分組,這會提高信息的可讀性,也方便了對于數(shù)據(jù)含義的解釋。簡化的模型也讓系統(tǒng)以更為高效的方式訪問數(shù)據(jù)庫版保。關(guān)系模型中,數(shù)據(jù)被分布到多個離散的實(shí)體中,對于一個簡單的業(yè)務(wù)流程,可能需要很多表聯(lián)合在一起才能表示呜笑。
- 高性能。維度模型更傾向于非規(guī)范化,因?yàn)檫@樣可以優(yōu)化查詢的性能彻犁。介紹關(guān)系模型時多次提到,規(guī)范化的實(shí)質(zhì)是減少數(shù)據(jù)冗余,以優(yōu)化事務(wù)處理或數(shù)據(jù)更新的性能叫胁。
- 可擴(kuò)展。維度模型是可擴(kuò)展的汞幢。由于維度模型允許數(shù)據(jù)冗余,因此當(dāng)向一個維度表或事實(shí)表中添加字段時,不會像關(guān)系模型那樣產(chǎn)生巨大的影響,帶來的結(jié)果就
是更容易容納不可預(yù)料的新增數(shù)據(jù)驼鹅。
2.2.4 星型模式
星型模式是維度模型最簡單的形式,也是數(shù)據(jù)倉庫以及數(shù)據(jù)集市開發(fā)中使用最廣泛的形式。星型模式由事實(shí)表和維度表組成,一個星型模式中可以有一個或多個事實(shí)表,每個事實(shí)表引用任意數(shù)量的維度表森篷。星型模式的物理模型像一顆星星的形狀,中心是一個事實(shí)表,圍繞在事實(shí)表周圍的維度表表示星星的放射狀分支,這就是星型模式這個名字的由來输钩。
- 優(yōu)點(diǎn)
- 星型模式是非規(guī)范化的,在星型模式的設(shè)計(jì)開發(fā)過程中,不受應(yīng)用于事務(wù)型關(guān)系數(shù)據(jù)庫的范式規(guī)則的約束。星型模式的優(yōu)點(diǎn)如下:
- 簡化查詢仲智。查詢數(shù)據(jù)時,星型模式的連接邏輯比較簡單,而從高度規(guī)范化的事務(wù)模型查詢數(shù)據(jù)時,往往需要更多的表連接买乃。
- 簡化業(yè)務(wù)報表邏輯。與高度規(guī)范化的模式相比,由于查詢更簡單,因此星型模式簡化了普通的業(yè)務(wù)報表(如每月報表)邏輯钓辆。
- 獲得查詢性能剪验。星型模式可以提升只讀報表類應(yīng)用的性能。
- 快速聚合前联」ζ荩基于星型模式的簡單查詢能夠提高聚合操作的性能。
- 便于向立方體提供數(shù)據(jù)似嗤。星型模式被廣泛用于高效地建立 OLAP 立方體,幾乎所有的 OLAP 系統(tǒng)都提供 ROLAP模型(關(guān)系型OLAP),它可以直接將星型模式中的數(shù)據(jù)當(dāng)作數(shù)據(jù)源,而不用單獨(dú)建立立方體結(jié)構(gòu)疫铜。
- 缺點(diǎn)
星型模式的主要缺點(diǎn)是不能保證數(shù)據(jù)完整性。一次性地插入或更新操作可能會造成數(shù)據(jù)異常,而這種情況在規(guī)范化模型中是可以避免的双谆。星型模式的數(shù)據(jù)裝載,一般都是以高度受控的方式,用批處理或?qū)崟r過程執(zhí)行的,以此來抵消數(shù)據(jù)保護(hù)方面的不足壳咕。
星型模式的另一個缺點(diǎn)是對于分析需求來說不夠靈活席揽。它更偏重于為特定目的建造數(shù)據(jù)視圖,因此實(shí)際上很難進(jìn)行全面的數(shù)據(jù)分析。星型模式不能自然地支持業(yè)務(wù)實(shí)體的多對多關(guān)系,需要在維度表和事實(shí)表之間建立額外的橋接表谓厘。
2.2.5 雪花模式
雪花模式是一種多維模型中表的邏輯布局,其實(shí)體關(guān)系圖有類似于雪花的形狀,因此得名幌羞。與星型模式相同,雪花模式也是由事實(shí)表和維度表所組成。所謂
的 “ 雪花化 ” 就是將星型模式中的維度表進(jìn)行規(guī)范化處理竟稳。當(dāng)所有的維度表完成規(guī)范化后,就形成了以事實(shí)表為中心的雪花型結(jié)構(gòu),即雪花模式属桦。
- 優(yōu)點(diǎn)
雪花模式是和星型模式類似的邏輯模型。實(shí)際上,星型模式是雪花模式的一個特例(維度沒有多個層級)他爸。某些條件下,雪花模式更具優(yōu)勢:
- 一些OLAP 多維數(shù)據(jù)庫建模工具專為雪花模型進(jìn)行了優(yōu)化聂宾。
- 規(guī)范化的維度屬性節(jié)省存儲空間。
- 缺點(diǎn)
雪花模型的主要缺點(diǎn)是維度屬性規(guī)范化增加了查詢的連接操作和復(fù)雜度诊笤。相對于平面化的單表維度,多表連接的查詢性能會有所下降系谐。但雪花模型的查詢性能問題近年來隨著數(shù)據(jù)瀏覽工具的不斷優(yōu)化而得到緩解。
和具有更高規(guī)范化級別的事務(wù)型模式相比,雪花模式并不確保數(shù)據(jù)完整性讨跟。向雪花模式的表中裝載數(shù)據(jù)時,一定要有嚴(yán)格的控制和管理,避免數(shù)據(jù)的異常插入或更
新纪他。
2.3 Data Vault 模型
Data Vault 是一種數(shù)據(jù)倉庫建模方法,用來存儲來自多個操作型系統(tǒng)的完整的歷史數(shù)據(jù)。 Data Vault 方法需要跟蹤所有數(shù)據(jù)的來源,因此其中每個數(shù)據(jù)行都要包含數(shù)據(jù)來源和裝載時間屬性,用以審計(jì)和跟蹤數(shù)據(jù)值所對應(yīng)的源系統(tǒng)晾匠。 Data Vault不區(qū)分?jǐn)?shù)據(jù)在業(yè)務(wù)層面的正確與錯誤,它保留操作型系統(tǒng)的所有時間的所有數(shù)據(jù),裝載數(shù)據(jù)時不做數(shù)據(jù)驗(yàn)證茶袒、清洗等工作,這點(diǎn)明顯有別于其他數(shù)據(jù)倉庫建模方法。 Data Vault 建模方法顯式地將結(jié)構(gòu)信息和屬性信息分離,能夠還原業(yè)務(wù)環(huán)境的變化凉馆。 Data Vault允許并行數(shù)據(jù)裝載,不需要重新設(shè)計(jì)就可以實(shí)現(xiàn)擴(kuò)展薪寓。
2.3.1 Data Vault 模型簡介
Data Vault ( DV )模型用于企業(yè)級的數(shù)據(jù)倉庫建模,是 Dan Linstedt 在 20 世紀(jì) 90 年代提出的。在最近幾年, Data Vault 模型獲得了很多關(guān)注澜共。
Dan Linstedt 將 Data Vault 模型定義如下:
Data Vault 是面向細(xì)節(jié)的,可追蹤歷史的,一組有連接關(guān)系的規(guī)范化的表的集合预愤。這些表可以支持一個或多個業(yè)務(wù)功能。它是一種綜合了第三范式( 3NF )和星型模型優(yōu)點(diǎn)的建模方法咳胃。其設(shè)計(jì)理念是要滿足企業(yè)對靈活性植康、可擴(kuò)展性、一致性和對需求的適應(yīng)性要求,是一種專為企業(yè)級數(shù)據(jù)倉庫量身定制的建模方式展懈。
從上面的定義可以看出, Data Vault 既是一種數(shù)據(jù)建模的方法論,又是構(gòu)建企業(yè)數(shù)據(jù)倉庫的一種具體方法销睁。 Data Vault 建模方法論里不僅定義了 Data Vault 的組成部分和組成部分之間的交互方式,還包括了最佳實(shí)踐來指導(dǎo)構(gòu)建企業(yè)數(shù)據(jù)倉庫。例如,業(yè)務(wù)規(guī)則應(yīng)該在數(shù)據(jù)的下游實(shí)現(xiàn),就是說 Data Vault 只按照業(yè)務(wù)數(shù)據(jù)的原樣保存數(shù)據(jù),不做任何解釋存崖、過濾冻记、清洗、轉(zhuǎn)換来惧。即使從不同數(shù)據(jù)源來的數(shù)據(jù)是自相矛盾的(例如同一個客戶有不同的地址), Data Vault 模型不會遵照任何業(yè)務(wù)的規(guī)則,如 “ 以系統(tǒng) A 的地址為準(zhǔn) ” 冗栗。 Data Vault 模型會保存兩個不同版本的數(shù)據(jù),對數(shù)據(jù)的解釋將推遲到整個架構(gòu)的后一個階段(數(shù)據(jù)集市)。
2.3.2 Data Vault 模型的組成部分
Data Vault 模型有中心表( Hub )、鏈接表( Link )隅居、附屬表( Satellite )三個主要組成部分钠至。中心表記錄業(yè)務(wù)主鍵,鏈接表記錄業(yè)務(wù)關(guān)系,附屬表記錄業(yè)務(wù)描述。
在 DataVault 模型的標(biāo)準(zhǔn)定義里,附屬表的主鍵應(yīng)該是附屬表里參照到中心表或鏈接表的外鍵字段和裝載時間字段的組合胎源。盡管這個定義是正確的,但從技術(shù)角度考
慮,我們最好還是增加一個代理鍵棉钧。使用只有一列的代理鍵更易維護(hù)。另外,對外鍵列和裝載時間列聯(lián)合建立唯一索引,也是一個好習(xí)慣涕蚤。
2.3.3 Data Vault 模型的特點(diǎn)
一個設(shè)計(jì)良好的 Data Vault 模型應(yīng)該具有以下特點(diǎn):
- 所有數(shù)據(jù)都基于時間來存儲,即使數(shù)據(jù)是低質(zhì)量的,也不能在 ETL 過程中處理掉宪卿。
- 依賴越少越好。
- 和源系統(tǒng)越獨(dú)立越好万栅。
- 設(shè)計(jì)上適合變化佑钾。(源系統(tǒng)中數(shù)據(jù)的變化。在不改變模型的情況下可擴(kuò)展烦粒。)
- ETL 作業(yè)可以重復(fù)執(zhí)行休溶。
- 數(shù)據(jù)完全可追蹤。
2.3.4 Data Vault 模型的構(gòu)建
在 Data Vault 模型中,各個實(shí)體有著嚴(yán)格撒遣、通用的定義與準(zhǔn)確邮偎、靈活的功能描述,這不但使得 Data Vault 模型能夠最直觀管跺、最一般地反映數(shù)據(jù)之間內(nèi)含的業(yè)務(wù)規(guī)則,同時也為構(gòu)建 Data Vault 模型提供了一致而普遍的方法义黎。
Data Vault 模型的建立可以遵循如下步驟:
設(shè)計(jì)中心表
首先要確定企業(yè)數(shù)據(jù)倉庫要涵蓋的業(yè)務(wù)范圍;其次要將業(yè)務(wù)范圍劃分為若干原子業(yè)務(wù)實(shí)體,比如客戶、產(chǎn)品等;然后,從各個業(yè)務(wù)實(shí)體中抽象出能夠唯一標(biāo)識該實(shí)體的業(yè)務(wù)主鍵,該業(yè)務(wù)主鍵要在整個業(yè)務(wù)的生命周期內(nèi)不會發(fā)生變化;最后,由該業(yè)務(wù)主鍵生成中心表豁跑。設(shè)計(jì)鏈接表
鏈接表體現(xiàn)了中心表之間的業(yè)務(wù)關(guān)聯(lián)廉涕。設(shè)計(jì)鏈接表,首先要熟悉各個中心表代表的業(yè)務(wù)實(shí)體之間的業(yè)務(wù)關(guān)系,可能是兩個或者多個中心表之間的關(guān)系。根據(jù)業(yè)務(wù)需求,這種關(guān)系可以是 1 對 1 艇拍、 1 對多,或者多對多的狐蜕。
然后,從相互之間有業(yè)務(wù)關(guān)系的中心表中,提取出代表各自業(yè)務(wù)實(shí)體的中心表主鍵,這些主鍵將被加入到鏈接表中,組合構(gòu)成該鏈接表的主鍵。同樣出于技術(shù)的原因,需要增加代理鍵卸夕。
在生成鏈接表的同時,要注意如果中心表之間有業(yè)務(wù)交易數(shù)據(jù)的話,就需要在鏈接表中保存交易數(shù)據(jù),有兩種方法,一是采用加權(quán)鏈接表,二是給鏈接表加上附屬表來處理交易數(shù)據(jù)层释。設(shè)計(jì)附屬表
附屬表包含了各個業(yè)務(wù)實(shí)體與業(yè)務(wù)關(guān)聯(lián)的詳細(xì)的上下文描述信息。設(shè)計(jì)附屬表,首先要收集各個業(yè)務(wù)實(shí)體在提取業(yè)務(wù)主鍵后的其他信息,比如客戶住址快集、產(chǎn)品價格等;由于同一業(yè)務(wù)實(shí)體的各個描述信息不具有穩(wěn)定性,會經(jīng)常發(fā)生變化,所以,在必要的時候,需要將變化頻率不同的信息分隔開來,為一個中心表建立幾個附屬表,然后提取出該中心表的主鍵,作為描述該中心表的附屬表的主鍵贡羔。
當(dāng)業(yè)務(wù)實(shí)體之間存在交易數(shù)據(jù)的時候,需要為沒有加權(quán)的鏈接表設(shè)計(jì)附屬表,也可以根據(jù)交易數(shù)據(jù)的不同變化情況設(shè)計(jì)多個附屬表。設(shè)計(jì)必要的 PIT 表
Point—In—Time 表是由附屬表派生而來的个初。如果一個中心表或者鏈接表設(shè)計(jì)有多個附屬表的話,而為了訪問數(shù)據(jù)方便,就有用到 PIT 表的可能乖寒。
PIT 表的主鍵也是由其所歸屬的中心表提取而來,該中心表有幾個附屬表, PIT 表就至少應(yīng)該有幾個字段來存放各個附屬表的變化對比時間。
2.4 數(shù)據(jù)集市
數(shù)據(jù)集市是數(shù)據(jù)倉庫的一種簡單形式,通常由組織內(nèi)的業(yè)務(wù)部門自己建立和控制院溺。一個數(shù)據(jù)集市面向單一主題域,如銷售楣嘁、財務(wù)、市場等。數(shù)據(jù)集市的數(shù)據(jù)源可以是操作型系統(tǒng)(獨(dú)立數(shù)據(jù)集市),也可以是企業(yè)級數(shù)據(jù)倉庫(從屬數(shù)據(jù)集市)逐虚。
2.4.2 數(shù)據(jù)集市與數(shù)據(jù)倉庫的區(qū)別
不同于數(shù)據(jù)集市,數(shù)據(jù)倉庫處理整個組織范圍內(nèi)的多個主題域,通常是由組織內(nèi)的核心單位,如IT部門承建,所以經(jīng)常被稱為中心數(shù)據(jù)倉庫或企業(yè)數(shù)據(jù)倉庫聋溜。數(shù)據(jù)倉庫需要集成很多操作型源系統(tǒng)中的數(shù)據(jù)。由于數(shù)據(jù)集市的復(fù)雜度和需要處理的數(shù)據(jù)都小于數(shù)據(jù)倉庫,因此更容易建立與維護(hù)痊班。表 2-19 總結(jié)了數(shù)據(jù)倉庫與數(shù)據(jù)集市的主要區(qū)別勤婚。
2.4.3 數(shù)據(jù)集市設(shè)計(jì)
數(shù)據(jù)集市主要用于部門級別的分析型應(yīng)用,數(shù)據(jù)大都是經(jīng)過了匯總和聚合操作,粒度級別較高。數(shù)據(jù)集市一般采用維度模型設(shè)計(jì)方法,數(shù)據(jù)結(jié)構(gòu)使用星型模式或雪花模式涤伐。
正如前面所介紹的,設(shè)計(jì)維度模型先要確定維度表馒胆、事實(shí)表和數(shù)據(jù)粒度級別,下一步是使用主外鍵定義事實(shí)表和維度表之間的關(guān)系。數(shù)據(jù)集市中的主鍵最好使用系統(tǒng)生成的自增的單列數(shù)字型代理鍵凝果。模型建立好之后,設(shè)計(jì) ETL 步驟抽取操作型源系統(tǒng)的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗和轉(zhuǎn)換,最終裝載進(jìn)數(shù)據(jù)集市中的維度表和事實(shí)表中祝迂。
2.5 數(shù)據(jù)倉庫實(shí)施步驟
定義范圍
在實(shí)施數(shù)據(jù)倉庫前,需要制定一個開發(fā)計(jì)劃。這個計(jì)劃的關(guān)鍵輸入是信息需求和數(shù)據(jù)倉庫用戶的優(yōu)先級器净。當(dāng)這些信息被定義和核準(zhǔn)后,就可以制作一個交付物列表,并給數(shù)據(jù)倉庫開發(fā)團(tuán)隊(duì)分配相應(yīng)的任務(wù)型雳。確定需求
數(shù)據(jù)倉庫項(xiàng)目的需求可以分為業(yè)務(wù)需求和技術(shù)需求。邏輯設(shè)計(jì)
定義了項(xiàng)目的范圍和需求,就有了一個基本的概念設(shè)計(jì)山害。下面就要進(jìn)入數(shù)據(jù)倉庫的邏輯設(shè)計(jì)階段纠俭。邏輯設(shè)計(jì)過程中,需要定義特定數(shù)據(jù)的具體內(nèi)容,數(shù)據(jù)之間的關(guān)系,支持?jǐn)?shù)據(jù)倉庫的系統(tǒng)環(huán)境等,本質(zhì)是發(fā)現(xiàn)邏輯對象之間的關(guān)系。物理設(shè)計(jì)
物理設(shè)計(jì)指的是將邏輯設(shè)計(jì)的對象集合,轉(zhuǎn)化為一個物理數(shù)據(jù)庫,包括所有的表浪慌、索引冤荆、約束、視圖等权纤。物理數(shù)據(jù)庫結(jié)構(gòu)需要優(yōu)化以獲得最佳的性能钓简。每種數(shù)據(jù)庫產(chǎn)品都有自己特別的優(yōu)化方法,這些優(yōu)化對查詢性能有極大的影響。比較通用的數(shù)據(jù)倉庫優(yōu)化方法有位圖索引和表分區(qū)汹想。
裝載數(shù)據(jù)
這個步驟實(shí)際上涉及整個 ETL 過程外邓。需要執(zhí)行的任務(wù)包括:源和目標(biāo)結(jié)構(gòu)之間建立映射關(guān)系;從源系統(tǒng)抽取數(shù)據(jù);對數(shù)據(jù)進(jìn)行清洗和轉(zhuǎn)換;將數(shù)據(jù)裝載進(jìn)數(shù)據(jù)倉庫;創(chuàng)建并存儲元數(shù)據(jù)。訪問數(shù)據(jù)
訪問步驟是要使數(shù)據(jù)倉庫的數(shù)據(jù)可以被使用,使用的方式包括:數(shù)據(jù)查詢古掏、數(shù)據(jù)分析损话、建立報表圖表、數(shù)據(jù)發(fā)布等槽唾。根據(jù)采用的數(shù)據(jù)倉庫架構(gòu),可能會引入數(shù)據(jù)集市的創(chuàng)建丧枪。通常,最終用戶會使用圖形化的前端工具向數(shù)據(jù)庫提交查詢,并顯示查詢結(jié)果。管理維護(hù)
這個步驟涵蓋在數(shù)據(jù)倉庫整個生命周期里的管理和維護(hù)工作夏漱。這步需要執(zhí)行的任務(wù)包括:確保對數(shù)據(jù)的安全訪問豪诲、管理數(shù)據(jù)增長、優(yōu)化系統(tǒng)以獲得更好的性能挂绰、保證
系統(tǒng)的可用性和可恢復(fù)性等屎篱。
2.6 小結(jié)
- 關(guān)系模型服赎、多維模型和 Data Vault 模型是三種常見的數(shù)據(jù)倉庫模型。
- 數(shù)據(jù)結(jié)構(gòu)交播、完整性約束和 SQL 語言是關(guān)系模型的三個要素重虑。
- 規(guī)范化是通過應(yīng)用范式規(guī)則實(shí)現(xiàn)的。第一范式( 1NF )要求保持?jǐn)?shù)據(jù)的原子性秦士、第二范式( 2NF )消除了部分依賴缺厉、第三范式( 3NF )消除了傳遞依賴。關(guān)系模型的數(shù)據(jù)倉庫一般要求滿足 3NF 隧土。
- 事實(shí)提针、維度、粒度是維度模型的三個核心概念曹傀。
- 維度模型的四步設(shè)計(jì)法是選擇業(yè)務(wù)流程辐脖、聲明粒度、確定維度皆愉、確定事實(shí)嗜价。
- 星型模式和雪花模式是維度模型的兩種邏輯表示。對星型模式進(jìn)一步規(guī)范化,就形成了雪花模式幕庐。
- Data Vault 模型有中心表( Hub )久锥、鏈接表( Link )、附屬表( Satellite )三個主要組成部分异剥。中心表記錄業(yè)務(wù)主鍵,鏈接表記錄業(yè)務(wù)關(guān)系,附屬表記錄業(yè)務(wù)描述瑟由。
- Data Vault 不區(qū)分?jǐn)?shù)據(jù)在業(yè)務(wù)層面的正確與錯誤,它保留操作型系統(tǒng)的所有時間的所有數(shù)據(jù),裝載數(shù)據(jù)時不做數(shù)據(jù)驗(yàn)證、清洗等工作届吁。
- 數(shù)據(jù)集市是部門級的错妖、面向單一主題域的數(shù)據(jù)倉庫绿鸣。
- )數(shù)據(jù)集市的復(fù)雜度和需要處理的數(shù)據(jù)都小于數(shù)據(jù)倉庫,因此更容易建立與維護(hù)疚沐。
- )實(shí)施一個數(shù)據(jù)倉庫項(xiàng)目的主要步驟是:定義范圍、確認(rèn)需求潮模、邏輯設(shè)計(jì)亮蛔、物理設(shè)計(jì)、裝載數(shù)據(jù)擎厢、訪問數(shù)據(jù)究流、管理維護(hù)。