企業(yè)數(shù)據(jù)倉庫環(huán)境
企業(yè)數(shù)據(jù)倉庫(EDW)是從普通數(shù)據(jù)倉庫演變而來的,它們已在上篇文章中進(jìn)行了描述。
企業(yè)數(shù)據(jù)倉庫試圖表示組織的所有業(yè)務(wù)數(shù)據(jù)及其業(yè)務(wù)規(guī)則,而不是將重點(diǎn)放在單個(gè)主題域進(jìn)行分析。然后以業(yè)務(wù)用戶可以使用所有所需主題域的方式顯示倉庫中的數(shù)據(jù)。接下來的部分將介紹企業(yè)數(shù)據(jù)倉庫的常見業(yè)務(wù)需求。
可訪問
對(duì)EDW的訪問,要求最終用戶能夠通過建議的客戶端工作站連接到數(shù)據(jù)倉庫。連接必須是即時(shí)的、按需的和高性能的。然而,對(duì)用戶來說,訪問比可用性重要得多,尤其是對(duì)業(yè)務(wù)用戶來說:應(yīng)該容易理解系統(tǒng)提供的信息的含義,包括對(duì)數(shù)據(jù)倉庫內(nèi)容的正確標(biāo)簽。它還包括
使用順手的應(yīng)用去分析、呈現(xiàn)和使用數(shù)據(jù)倉庫提供的信息的可用性。
多主題域
由于企業(yè)的每個(gè)職責(zé)或部門對(duì)要分析的數(shù)據(jù)都有不同的需求,因此企業(yè)數(shù)據(jù)倉庫必須提供多個(gè)主題域,以滿足各個(gè)用戶的需求。每個(gè)主題域都包含與用戶相關(guān)的數(shù)據(jù)。數(shù)據(jù)是按需求使用的,數(shù)據(jù)倉庫提供了預(yù)期的真相版本,這意味著它遵循需求的信息定義。
為了實(shí)現(xiàn)這個(gè)目標(biāo),主題域所需的所有原始數(shù)據(jù)都被集成、清洗并加載到企業(yè)數(shù)據(jù)倉庫中。然后,它用于構(gòu)建為特定主題域開發(fā)的數(shù)據(jù)集市。這種數(shù)據(jù)集市也稱為依賴數(shù)據(jù)集市,因?yàn)樗鼈円蕾囉?strong>數(shù)據(jù)倉庫作為數(shù)據(jù)的來源。相反,獨(dú)立的數(shù)據(jù)集市直接從業(yè)務(wù)系統(tǒng)中獲取數(shù)據(jù)。由于這種方法需要與構(gòu)建數(shù)據(jù)倉庫相同的清洗和集成工作,因此從中央數(shù)據(jù)倉庫加載數(shù)據(jù)通常更簡單。
真相的單一版本
整合組織中所有可用的業(yè)務(wù)數(shù)據(jù)的目的是為其數(shù)據(jù)提供一個(gè)單一的真相版本。在一個(gè)傳統(tǒng)的組織中,可以使用許多業(yè)務(wù)系統(tǒng),甚至普通的數(shù)據(jù)倉庫。雖然其中一些系統(tǒng)是集成的,但在業(yè)務(wù)數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)往往不一致。這可能是由于同步延遲或錯(cuò)誤、業(yè)務(wù)數(shù)據(jù)的手動(dòng)輸入或不同的原始數(shù)據(jù)源。其結(jié)果是在組織中存在不同版本的真相,例如關(guān)于客戶的收貨地址。在將數(shù)據(jù)加載到企業(yè)數(shù)據(jù)倉庫時(shí),由業(yè)務(wù)部門決定如何清洗數(shù)據(jù),這通常需要選出哪些是主要系統(tǒng)或數(shù)據(jù)源。在某些情況下,基于業(yè)務(wù)規(guī)則的自動(dòng)選擇和驗(yàn)證就足夠了;在其他情況下,需要手動(dòng)選擇來實(shí)現(xiàn)驗(yàn)證過的單一版本的真相。
企業(yè)數(shù)據(jù)倉庫的一致性、單一版本的真實(shí)性是數(shù)據(jù)倉庫用戶所要求達(dá)到的重要目標(biāo)。然而,不同的部門往往要求一個(gè)獨(dú)特的版本的真相,因?yàn)槎加兄笆裁词钦嫦唷辈煌亩x。這就是為什么企業(yè)數(shù)據(jù)倉庫提供了多個(gè)主題域,如前一節(jié)所述。每個(gè)主題域在所需的上下文中為其單個(gè)用戶提供所需的信息。
事實(shí)的單一版本
“事實(shí)的單一版本”的目標(biāo)是提供組織信息的一個(gè)集成的、清洗的版本,即給定上下文中的聚合和濃縮數(shù)據(jù),而“事實(shí)的單一版本”的目標(biāo)是在任何時(shí)候都提供所有數(shù)據(jù)。在這種情況下,EDW應(yīng)該存儲(chǔ)并潛在地提供對(duì)組織任務(wù)至關(guān)重要的所有原始數(shù)據(jù)(參見下一節(jié))。這本書的主要作者是數(shù)據(jù)倉庫行業(yè)中最早倡導(dǎo)這一理念的人之一,特別是由于遵循這一理念的考慮。最終,它導(dǎo)致了DataVault的發(fā)明,是建立DataVault2.0模型的關(guān)鍵原則,并在原始DataVault中實(shí)現(xiàn)了。
在審計(jì)和遵從性要求下,事實(shí)的單一版本也很重要,這在審計(jì)與合規(guī)節(jié)中有介紹。我們將在本書后面了解到,基于DataVault的數(shù)據(jù)倉庫提供兩種版本:真相的單一版本和事實(shí)的單一版本,即部門各視圖的版本和企業(yè)視圖的版本。
至關(guān)重要的資產(chǎn)
由于數(shù)據(jù)倉庫作為戰(zhàn)略業(yè)務(wù)決策基礎(chǔ)的重要性,中央數(shù)據(jù)倉庫已成為一種至關(guān)重要的企業(yè)資產(chǎn)。此外,數(shù)據(jù)倉庫不僅為業(yè)務(wù)決策提供聚合數(shù)據(jù);它們還將豐富的信息反饋給運(yùn)營系統(tǒng),以支持交易處理,創(chuàng)建個(gè)性化報(bào)價(jià),并呈現(xiàn)促銷活動(dòng)的情況。
要成為至關(guān)重要的企業(yè)資產(chǎn),還要求數(shù)據(jù)倉庫的數(shù)據(jù)質(zhì)量必須達(dá)到一定的水平。如果源系統(tǒng)沒有提供所需質(zhì)量的原始數(shù)據(jù),那么數(shù)據(jù)倉庫的工作就是修復(fù)數(shù)據(jù)質(zhì)量問題,并通過數(shù)據(jù)清洗、數(shù)據(jù)集成或任何其他有用的方法來提高數(shù)據(jù)質(zhì)量。
可擴(kuò)展性
可擴(kuò)展性,是指數(shù)據(jù)倉庫架構(gòu)能夠適應(yīng)更高的數(shù)據(jù)量和必須滿足的用戶不斷增加的需求。構(gòu)建架構(gòu)的方式應(yīng)該支持添加更多的數(shù)據(jù),不僅是更多的數(shù)據(jù)量,而且是更復(fù)雜的數(shù)據(jù)。如果數(shù)據(jù)量的增長超過了硬件的能力,那么應(yīng)該可以跨多臺(tái)機(jī)器部署數(shù)據(jù)倉庫,并充分利用增加硬件的方式來增強(qiáng)數(shù)據(jù)倉庫的能力。這個(gè)概念被稱為大規(guī)模并行處理(MPP)。如果架構(gòu)是不可擴(kuò)展的,那么在達(dá)到一定的構(gòu)建級(jí)別時(shí),增加更多的硬件沒有用的或作用甚微的。
數(shù)據(jù)倉庫中的另一個(gè)問題是,由于存在依賴關(guān)系,更改數(shù)據(jù)倉庫通常很復(fù)雜。雖然構(gòu)建數(shù)據(jù)倉庫的第一個(gè)版本很容易,但第二個(gè)版本需要更多的時(shí)間。這是因?yàn)?strong>數(shù)據(jù)倉庫的架構(gòu)在構(gòu)建時(shí)并沒有考慮到這些變化。
數(shù)據(jù)倉庫架構(gòu)節(jié)討論幾種數(shù)據(jù)倉庫架構(gòu)。我們將在后續(xù)文章中“可擴(kuò)展的數(shù)據(jù)倉庫構(gòu)架”中提出一種替代架構(gòu)。該架構(gòu)的優(yōu)勢(shì)在于它的可擴(kuò)展性,可以吸收對(duì)數(shù)據(jù)模型的更改,以及其他優(yōu)勢(shì)。
大數(shù)據(jù)
大數(shù)據(jù)不僅僅是“大量數(shù)據(jù)”或“我能處理的更多數(shù)據(jù)”。我們將大數(shù)據(jù)定義為具有三個(gè)特征的數(shù)據(jù):數(shù)據(jù)量大、快速和多樣性。
第一個(gè)特征是數(shù)據(jù)量大。一些人所說的“大數(shù)據(jù)”通常意味著這些數(shù)據(jù)比他所習(xí)慣處理的要多得多。然而,這種說法是非常主觀的。對(duì)于一個(gè)人或一個(gè)公司來說,大數(shù)據(jù)可能是GB級(jí)的原始數(shù)據(jù),但對(duì)于裝載TB級(jí)甚至PB級(jí)數(shù)據(jù)的人來說,這是相當(dāng)小的數(shù)據(jù)。實(shí)時(shí)加載數(shù)據(jù)有不同的需求,因此與夜間批量加載數(shù)據(jù)或接近實(shí)時(shí)加載數(shù)據(jù)相比,大數(shù)據(jù)的定義也不同(近實(shí)時(shí)意味著來自業(yè)務(wù)系統(tǒng)的數(shù)據(jù)在通常15分鐘的時(shí)間范圍內(nèi)可以在數(shù)據(jù)集市中獲得)。大數(shù)據(jù)的定義也取決于數(shù)據(jù)倉庫可用的硬件。
大數(shù)據(jù)的第二個(gè)特征是快速。這不僅僅是因?yàn)樵聪到y(tǒng)中有大量可用的靜態(tài)數(shù)據(jù)。加載這些數(shù)據(jù)可能會(huì)成為一項(xiàng)復(fù)雜的任務(wù)。然而,存儲(chǔ)在業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)經(jīng)常變化。源系統(tǒng)中可用的數(shù)據(jù)越多,對(duì)其應(yīng)用的更改就越多。因此,典型的大數(shù)據(jù)項(xiàng)目必須處理大量的更新、數(shù)據(jù)更改或添加到源系統(tǒng)的新數(shù)據(jù)。
第三個(gè)特點(diǎn)是多樣性。大數(shù)據(jù)通常沒有相同的結(jié)構(gòu)。相反,大數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)可能會(huì)隨著時(shí)間的推移而改變,或者,如“非結(jié)構(gòu)化”數(shù)據(jù)集(如文本、多媒體),根本沒有普通的結(jié)構(gòu):非結(jié)構(gòu)化數(shù)據(jù)集使用其他類型的結(jié)構(gòu),如語言結(jié)構(gòu),而不是使用列和行作為關(guān)系表。從計(jì)算的角度來看,這些結(jié)構(gòu)被認(rèn)為是非結(jié)構(gòu)化的,因?yàn)槠浣Y(jié)構(gòu)不像關(guān)系表中那樣明顯。在其他情況下,有來自許多不同的小數(shù)據(jù)源的數(shù)據(jù),這些數(shù)據(jù)的總和是具有多種數(shù)據(jù)結(jié)構(gòu)的“大數(shù)據(jù)”。
由于現(xiàn)在可用的數(shù)據(jù)越來越多,數(shù)據(jù)倉庫結(jié)構(gòu)不僅必須能夠擴(kuò)展(指容量),還應(yīng)該能夠處理傳入數(shù)據(jù)的速度和多樣性。在其他情況下,數(shù)據(jù)總是在運(yùn)動(dòng)中:我們的意思是,它目前正在以比實(shí)際數(shù)據(jù)資產(chǎn)更小的包進(jìn)行處理或傳輸。
以TCP/IP網(wǎng)絡(luò)上的數(shù)據(jù)傳輸為例:需要傳輸?shù)?strong>數(shù)據(jù)通常被分割成較小的塊并存儲(chǔ)在IP包中,然后在網(wǎng)絡(luò)上傳輸。這給大數(shù)據(jù)帶來了其他問題,因?yàn)?strong>數(shù)據(jù)在網(wǎng)絡(luò)設(shè)備中流入和流出。為了分析數(shù)據(jù),必須收集、組合和聚合數(shù)據(jù)——在某些情況下是實(shí)時(shí)的。這提高了大數(shù)據(jù)的架構(gòu)和規(guī)劃的標(biāo)準(zhǔn),并導(dǎo)致了性能問題,下一節(jié)將討論這些問題。
性能問題
數(shù)據(jù)倉庫的另一個(gè)問題是系統(tǒng)的性能。在將新一批源數(shù)據(jù)加載到數(shù)據(jù)倉庫時(shí),性能非常重要,因?yàn)榧虞d過程包括在可用的時(shí)間范圍內(nèi)清洗數(shù)據(jù)并將數(shù)據(jù)集成到現(xiàn)有數(shù)據(jù)中。通常,這個(gè)時(shí)間限制在沒有用戶使用系統(tǒng)的時(shí)候,通常是在夜間。另一個(gè)性能的原因是數(shù)據(jù)倉庫的可用性,這取決于系統(tǒng)對(duì)分析性用戶查詢的響應(yīng)時(shí)間。
數(shù)據(jù)倉庫系統(tǒng)的性能受到數(shù)據(jù)庫系統(tǒng)在磁盤上存儲(chǔ)數(shù)據(jù)的方式的影響:數(shù)據(jù)存儲(chǔ)在具有固定數(shù)據(jù)大小的頁面中。例如,SQLServer 為每個(gè)頁面定位8 KB的磁盤空間。每個(gè)頁面保存特定表的一些記錄,表越寬,表的列越多,一個(gè)頁面能容納的行就越少。為了訪問給定行中給定列的內(nèi)容,必須讀取該數(shù)據(jù)塊所在的整個(gè)頁面。由于數(shù)據(jù)倉庫中經(jīng)常使用的分析查詢通常聚合信息,因此必須讀取許多頁才能訪問一行的內(nèi)容。匯總的一個(gè)典型例子是對(duì)給定區(qū)域的銷售額進(jìn)行匯總;這可以是發(fā)票總數(shù)這一欄的總和。
如果表中有許多列,則必須讀取執(zhí)行聚合時(shí)不需要的大量數(shù)據(jù)。因此,數(shù)據(jù)倉庫的一個(gè)目標(biāo)是減少列的寬度,以提高性能。類似的概念也適用于將新數(shù)據(jù)加載到數(shù)據(jù)倉庫中。
提高數(shù)據(jù)倉庫系統(tǒng)性能的其他方法包括:(1)并行化方法加載模式和(2)MPP設(shè)置中的數(shù)據(jù)分布在多個(gè)節(jié)點(diǎn)上,比如在NoSQL數(shù)據(jù)庫中。第一個(gè)選項(xiàng)的目標(biāo)是一次加載多個(gè)表,而不是一個(gè)接一個(gè)地加載表。第二個(gè)選項(xiàng)通過將數(shù)據(jù)分布到多個(gè)節(jié)點(diǎn)來提高性能。
這兩種方法對(duì)DataVault2.0在此類環(huán)境中的成功至關(guān)重要,并且影響了相比于初始版本(DataVault1.0)的DataVault建模的更改。
復(fù)雜性
由于許多業(yè)務(wù)需求,數(shù)據(jù)倉庫系統(tǒng)常常存在復(fù)雜性問題。技術(shù)復(fù)雜性問題來自三個(gè)方面:來源問題、轉(zhuǎn)換問題和目標(biāo)問題。
來源問題是數(shù)據(jù)提取系統(tǒng)產(chǎn)生的問題。以下是問題的典型例子。
- 源系統(tǒng)的可用性有限
- 跨系統(tǒng)連接、篩選或聚合。
- 源數(shù)據(jù)中的索引問題。
- 缺少源鍵,甚至缺少整個(gè)源數(shù)據(jù)集。
- 錯(cuò)誤的或超出范圍的源數(shù)據(jù)。
- 源系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。
- 源系統(tǒng)的CPU、RAM和磁盤負(fù)載。
- 事務(wù)記錄鎖。
在轉(zhuǎn)換數(shù)據(jù)以滿足目標(biāo)的期望時(shí),會(huì)出現(xiàn)轉(zhuǎn)換問題。通常,以下操作直接在轉(zhuǎn)換中執(zhí)行:
- 清洗。
- 數(shù)據(jù)質(zhì)量管理和數(shù)據(jù)對(duì)齊。
- 連接、整合、聚合和過濾。
- 序列賦值常常導(dǎo)致缺乏并行性。
- 數(shù)據(jù)類型修正和錯(cuò)誤處理。
- 排序問題,包括需要大型緩存、頻繁的磁盤溢出和巨大的鍵。
- 直接在源數(shù)據(jù)轉(zhuǎn)換中應(yīng)用業(yè)務(wù)規(guī)則。
- 一個(gè)數(shù)據(jù)流中的多個(gè)目標(biāo)或源。
- 單一轉(zhuǎn)換瓶頸。
問題的最后一個(gè)區(qū)域位于的目標(biāo)。當(dāng)將數(shù)據(jù)加載到目標(biāo)時(shí),會(huì)出現(xiàn)這些問題,包括:
- 缺乏數(shù)據(jù)庫調(diào)優(yōu)
- 導(dǎo)致死鎖的索引更新。
- 在一個(gè)數(shù)據(jù)流中執(zhí)行插入、更新和刪除語句。這迫使這些語句按照特定的順序執(zhí)行,從而阻礙了并行化。
- 一次裝載多個(gè)目標(biāo)
- 廣泛的目標(biāo),如1.2.8性能問題中討論的
- 對(duì)目標(biāo)分配缺乏控制
產(chǎn)生這些問題的一個(gè)常見原因是,許多數(shù)據(jù)倉庫系統(tǒng)試圖在一個(gè)加載周期中實(shí)現(xiàn)大量的工作,而不是將工作分開。其結(jié)果是許多加載過程變得過于復(fù)雜,從而降低了總體性能并增加了維護(hù)成本。最后,它還會(huì)影響整個(gè)團(tuán)隊(duì)的敏捷性和性能,因?yàn)樗麄儽仨毥鉀Q這些問題,而不是實(shí)現(xiàn)新特性。
審計(jì)與合規(guī)
數(shù)據(jù)倉庫的一個(gè)典型需求是能夠提供關(guān)于存儲(chǔ)在系統(tǒng)中的數(shù)據(jù)的來源和提取時(shí)間的信息。這一需求有各種各樣的原因:
- 數(shù)據(jù)倉庫開發(fā)人員試圖追蹤潛在的數(shù)據(jù)異常和理解數(shù)據(jù)流轉(zhuǎn)過程。
- 數(shù)據(jù)的價(jià)值取決于數(shù)據(jù)源或數(shù)據(jù)的年齡。此信息可以在業(yè)務(wù)規(guī)則中使用。
- 合規(guī)性要求對(duì)作為業(yè)務(wù)決策基礎(chǔ)的信息的數(shù)據(jù)流和流程進(jìn)行跟蹤。必須清楚數(shù)據(jù)來自何處以及何時(shí)加載到數(shù)據(jù)倉庫。
然而,Inmon提出了在數(shù)據(jù)倉庫中不添加可審計(jì)性的原因: - 審計(jì)要求數(shù)據(jù)被加載到數(shù)據(jù)倉庫中,如果沒有這些要求,數(shù)據(jù)倉庫是不會(huì)加載的。
- 可能會(huì)更改要加載到數(shù)據(jù)倉庫中的數(shù)據(jù)的時(shí)間。例如,如果數(shù)據(jù)倉庫將是唯一提供審計(jì)功能的地方,它可能需要將所有更改加載到業(yè)務(wù)數(shù)據(jù)中,而不是許多數(shù)據(jù)倉庫項(xiàng)目中典型的每日批量加載。
- 當(dāng)需要審計(jì)功能時(shí),備份和恢復(fù)需求會(huì)發(fā)生巨大的改變。
- 審計(jì)數(shù)據(jù)源迫使數(shù)據(jù)倉庫以最低粒度加載源數(shù)據(jù)。
我們的意見是,審計(jì)應(yīng)該僅限于回答以下問題:
- 這個(gè)特定的數(shù)據(jù)資產(chǎn)是從哪里提取的?
- 什么時(shí)候提取數(shù)據(jù)?
- 提取數(shù)據(jù)的過程是怎樣的?
- 這些數(shù)據(jù)在哪里使用?
數(shù)據(jù)倉庫不應(yīng)該回答業(yè)務(wù)系統(tǒng)如何獲取數(shù)據(jù)的問題。這個(gè)答案通常只能由源系統(tǒng)本身提供。只有在某些情況下,數(shù)據(jù)倉庫才會(huì)接收到關(guān)于用戶和記錄創(chuàng)建或修改時(shí)間的信息。如果數(shù)據(jù)倉庫可以使用此數(shù)據(jù),則我們傾向于僅為信息目的存儲(chǔ)此信息。
為了支持?jǐn)?shù)據(jù)倉庫的可審計(jì)性,我們?cè)?strong>數(shù)據(jù)中添加元信息來跟蹤數(shù)據(jù)源和加載日期和時(shí)間。然而,回答數(shù)據(jù)在何處使用的問題要復(fù)雜得多,因?yàn)?strong>數(shù)據(jù)集市經(jīng)常聚合數(shù)據(jù)以創(chuàng)建供業(yè)務(wù)用戶使用的信息。為了讓數(shù)據(jù)倉庫維護(hù)者能夠回答這些問題,數(shù)據(jù)倉庫流程應(yīng)該簡單易懂。
成本
數(shù)據(jù)倉庫的另一個(gè)挑戰(zhàn)是保持成本盡可能低,因?yàn)橐话銇碚f,我認(rèn)為這是管理的一個(gè)成本因素。數(shù)據(jù)倉庫的成本受到許多因素的影響,從存儲(chǔ)成本到低質(zhì)量和規(guī)劃不良的成本。另一個(gè)成本因素是業(yè)務(wù)需求會(huì)隨時(shí)間變化,這就要求數(shù)據(jù)倉庫適應(yīng)這些變化的需求。
在數(shù)據(jù)倉庫中,存儲(chǔ)成本常常是一個(gè)未計(jì)入的成本因素。在數(shù)據(jù)倉庫項(xiàng)目的開始階段,成本通常很低。如果數(shù)據(jù)倉庫是從一個(gè)影子IT項(xiàng)目開始的,即由業(yè)務(wù)驅(qū)動(dòng)、由外部IT顧問實(shí)施、繞過內(nèi)部IT的項(xiàng)目,那么成本甚至可能隱藏在另一個(gè)項(xiàng)目或活動(dòng)的預(yù)算中。然而,當(dāng)一段時(shí)間過去,數(shù)據(jù)倉庫處理的數(shù)據(jù)量增加時(shí),存儲(chǔ)成本也會(huì)增加。在某些情況下,這是以指數(shù)形式發(fā)生的,而且不只是包括添加新磁盤的成本。如果數(shù)據(jù)倉庫增加了更多的數(shù)據(jù),則需要更快的網(wǎng)絡(luò)連接來訪問數(shù)據(jù);需要更多的計(jì)算能力來處理數(shù)據(jù);更好(和更昂貴)的硬盤控制器需要訪問磁盤。
然而,不斷增長的存儲(chǔ)成本并不是數(shù)據(jù)倉庫的主要成本因素。成本因素包括:
- 儲(chǔ)存成本
- 低質(zhì)量成本
- 糟糕計(jì)劃的代價(jià)
- 更改業(yè)務(wù)需求的成本(參見下一節(jié))
低質(zhì)量和糟糕計(jì)劃的成本是一個(gè)更大的因素:即使項(xiàng)目團(tuán)隊(duì)有對(duì)數(shù)據(jù)倉庫進(jìn)行了深思熟慮的規(guī)劃并確保了質(zhì)量,它對(duì)不斷變化的業(yè)務(wù)需求束手無策,除了預(yù)見性的規(guī)劃。
當(dāng)業(yè)務(wù)需求位于數(shù)據(jù)倉庫的上游時(shí),這一點(diǎn)尤其明顯。正如前面介紹的,這不僅會(huì)對(duì)性能產(chǎn)生負(fù)面影響,而且還會(huì)提高維護(hù)的成本。業(yè)務(wù)需求不應(yīng)該嵌入到數(shù)據(jù)倉庫加載周期中,而應(yīng)該向下移動(dòng)到數(shù)據(jù)集市加載中——更接近業(yè)務(wù)用戶。這允許團(tuán)隊(duì)變得敏捷,控制維護(hù)和開發(fā)成本(通過自動(dòng)生成),并對(duì)不斷變化的業(yè)務(wù)需求提供更好、更快速的響應(yīng)。換句話說,它也控制了數(shù)據(jù)集市的生產(chǎn)成本。
團(tuán)隊(duì)的敏捷性與數(shù)據(jù)處理流程內(nèi)建的復(fù)雜性成正比。通過將復(fù)雜的業(yè)務(wù)需求分離成各自的組件,架構(gòu)的多個(gè)加載部分變得流線型;到可以實(shí)際生成大多數(shù)實(shí)現(xiàn)的地步。這種分離的機(jī)制在響應(yīng)業(yè)務(wù)需求更改時(shí)提供了極端的敏捷性。
其他業(yè)務(wù)要求
今天的商業(yè)環(huán)境的特點(diǎn)是迅速變化的條件和不確定性。因此,業(yè)務(wù)需求經(jīng)常變化是很常見的。數(shù)據(jù)倉庫開發(fā)人員試圖通過仔細(xì)的規(guī)劃和預(yù)期的設(shè)計(jì)來防止對(duì)數(shù)據(jù)倉庫的更改。這種方法通常遵循傳統(tǒng)的瀑布式軟件開發(fā)方法。在這些方法中,通常有四個(gè)階段:
- 設(shè)置數(shù)據(jù)倉庫的需求。
- 數(shù)據(jù)倉庫的架構(gòu)規(guī)劃與設(shè)計(jì)。
- 開發(fā)數(shù)據(jù)倉庫。
- 測(cè)試數(shù)據(jù)倉庫。
相比之下,敏捷軟件開發(fā)方法被設(shè)計(jì)成通過使用客戶反饋來迭代收斂解決方案的方式來改進(jìn)軟件。為了支持這一需求,數(shù)據(jù)倉庫必須適配靈活和適應(yīng)更改。對(duì)現(xiàn)有數(shù)據(jù)倉庫結(jié)構(gòu)的更改不應(yīng)使現(xiàn)有數(shù)據(jù)或應(yīng)用程序失效。敏捷方法的一個(gè)主要優(yōu)點(diǎn)是能夠?qū)I(yè)務(wù)變化做出快速反應(yīng),我們將在《Data Vault 2.0方法論》中學(xué)習(xí)。
為了支持數(shù)據(jù)倉庫工程師和數(shù)據(jù)倉庫業(yè)務(wù)用戶,需要一套工具來查詢、分析和呈現(xiàn)信息。例如報(bào)表工具、查詢分析器、OLAP(在線分析處理)瀏覽器、數(shù)據(jù)挖掘工具等。也包括SQLServer等的這些開箱即用的工具。
另一個(gè)業(yè)務(wù)需求是項(xiàng)目團(tuán)隊(duì)?wèi)?yīng)對(duì)團(tuán)隊(duì)成員自然波動(dòng)的能力。數(shù)據(jù)倉庫中一個(gè)重要的成功因素是在團(tuán)隊(duì)中保留數(shù)據(jù)倉庫成員的知識(shí)和技能,而不管關(guān)鍵成員的退休或退出。對(duì)此的解決方案包括一個(gè)文檔化良好的數(shù)據(jù)倉庫系統(tǒng)和一個(gè)易于理解的設(shè)計(jì)。另一個(gè)解決方案是使用來自微軟等主要供應(yīng)商的商業(yè)智能(BI)解決方案。這在業(yè)界是眾所周知的,并得到了其他供應(yīng)商和咨詢公司的支持。
這些是Data Vault 2.0的主要組成部分,以及其中包含的創(chuàng)新。DV2.0通過定義關(guān)于建模,實(shí)現(xiàn),方法和架構(gòu)的標(biāo)準(zhǔn)和最佳實(shí)踐,解決了大數(shù)據(jù)、NoSQL、性能、團(tuán)隊(duì)敏捷性、復(fù)雜性和許多其他問題。
Data Vault 2.0簡介
Data Vault實(shí)際上代表了一個(gè)商業(yè)智能系統(tǒng)。Data Vault系統(tǒng)的真實(shí)名稱是:通用基礎(chǔ)倉庫架構(gòu)。該系統(tǒng)包括與設(shè)計(jì)、實(shí)現(xiàn)和管理數(shù)據(jù)倉庫相關(guān)的許多方面。對(duì)Data Vault 1.0的一些歷史研究表明,Data Vault 1.0高度關(guān)注數(shù)據(jù)倉庫建模,也就是說,致力于構(gòu)建原始企業(yè)數(shù)據(jù)倉庫的物理和邏輯數(shù)據(jù)模型。另一方面,Data Vault 2.0進(jìn)行了擴(kuò)展,并包含了許多必要的組件,這些組件是數(shù)據(jù)倉庫和商業(yè)智能取得成功的關(guān)鍵。這些組件包括:
- Data Vault 2.0建?!獮樾阅芎涂蓴U(kuò)展性對(duì)模型進(jìn)行了更改
- Data Vault 2.0方法論——遵循Scrum和敏捷最佳實(shí)踐
- Data Vaul 2.0架構(gòu)——包括NoSQL系統(tǒng)和大數(shù)據(jù)系統(tǒng)
- Data Vault 2.0實(shí)施——基于模式,自動(dòng)化,生成CMMI 5
這些組件中的每一個(gè)都在企業(yè)數(shù)據(jù)倉庫項(xiàng)目的整體成功中扮演著關(guān)鍵角色。這些組件與業(yè)界已知的、經(jīng)過時(shí)間考驗(yàn)的最佳實(shí)踐相結(jié)合從CMMI(能力成熟度模型集成),六西格瑪,TQM(全面質(zhì)量管理)和PMP(項(xiàng)目管理專業(yè))。Data Vault 2.0建?,F(xiàn)在包括了一些改變,允許模型與NoSQL和大數(shù)據(jù)系統(tǒng)進(jìn)行無縫交互。Data Vault 2.0方法論側(cè)重于2到3周的沖刺周期,并針對(duì)可重復(fù)數(shù)據(jù)倉庫的要求進(jìn)行調(diào)整和優(yōu)化。Data Vault2.0架構(gòu)包括NoSQL、實(shí)時(shí)反饋和用于非結(jié)構(gòu)化數(shù)據(jù)處理和大數(shù)據(jù)集成的大數(shù)據(jù)系統(tǒng)。Data Vault 2.0實(shí)施側(cè)重于自動(dòng)化和生成模式,以節(jié)省時(shí)間,減少錯(cuò)誤并提高數(shù)據(jù)倉庫團(tuán)隊(duì)的生產(chǎn)率。