本書主要介紹客戶關系管理(CRM)環(huán)境中使用的數據倉庫的設計和構建。書中介紹了數據倉庫的概念,探討了數據倉庫的體系結構、邏輯模型、物理實現、工程管理等內容。并且描述了建造數據倉庫的一些工具產品,介紹了購買這些工具時需要注意的問題。另外,書中還對數據倉庫的時間性問題提出了獨到的見解,給出了可行的方案。本書適合于希望學習數據倉庫原理的人員以及數據倉庫建造的顧問人員使用。譯者序本書主要介紹客戶關系管理(CRM)環(huán)境中使用的數據倉庫的設計和構建。數據倉庫是一種特殊的數據庫,近幾年來在信息技術行業(yè)中獲得了極大的關注。根據著名的數據倉庫專家W,H.Inmon在《BuildingtheDataWarehouse》一書中的定義:數據倉庫(DataWarehouse)是一個面向主題的(SubjectOriented)、集戒的(Integrated)、非易失的(Non-Volatile)、時變的(TimeVariant)數據集合,用于支持管理決策。對于數據倉庫的概念可以從兩個層次予以理解,首先,數據倉庫用于支持決策型、面向分析型的數據處理,它不同于企業(yè)現有的運營型(Operational)數據庫;其次,數據倉庫是對多個異構的數據源的有效集成,集成后按照主題進行了重新組織,并包含歷史數據。而且對存放在數據倉庫中的數據一般不再進行修改。從上述定義可知,數據倉庫具有以下四大特點:1)面向主題。運營型數據庫的數據面向事務進行組織,各個業(yè)務系統(tǒng)之間相互分離,而數據倉庫中的數據按照一定的主題域進行組織。主題是一個抽象的概念,是指用戶利用數據倉庫進行決策時所關心的重點方面,一個主題通常與多個運營型信息系統(tǒng)相關。2)集成的。面向事務處理的運營型數據庫通常與某些特定的應用相關,數據庫之間相互獨立,并且往往是異構的。而數據倉庫中的數據是在對原有的分散的數據庫數據提取、過濾的基礎上經過系統(tǒng)加工、匯總和整理得到的,從而消除了源數據中的不一致性,以保證數據倉庫內的信息是關于整個企業(yè)的一致的全局信息。3)非易失的。運營型數據庫中的數據通常實時更新,會根據需要及時發(fā)生變化。數據倉庫中的數據主要供企業(yè)決策分析之用,所涉及的數據操作主要是數據查詢,一旦某個數據進入數據倉庫以后,一般情況下將長期保留,也就是說,數據倉庫中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的裝載、刷新即可。4)時變的。也就是反映歷史變化。運營型數據庫主要關心當前某一個時間段內的數據,而數據倉庫中的數據通常包含歷史信息,系統(tǒng)記錄了企業(yè)從過去某一時刻(如開始應用數據倉庫的時刻)到目前的各個階段的信息,通過這些信息,可以對企業(yè)的發(fā)展歷程和未來趨勢做出定量分析和預測。企業(yè)數據倉庫的建設,是以現有企業(yè)業(yè)務系統(tǒng)和大量業(yè)務數據的積累為基礎的。數據倉庫不是靜態(tài)的概念,只有把信息及時提交給需要這些信息的使用者,供他們做出改善業(yè)務經營的決策,信息才能發(fā)揮作用,信息才有意義。而把信息加以整理歸納和重新組織,并及時提供給相應的管理決策人員,是設計和構建數據倉庫的根本任務。因此,從業(yè)界的角度來看,構建數據倉庫是一個工程,是一個過程。數據倉庫中存放的數據不是最新的、專有的,而是來源于其他數據庫。設計和構建數據倉庫不是要取代原有的數據庫,而是在一個較全面、完善的信息應用的基礎上重新設計和構建,用于支持高層決策分析。數據倉庫是數據庫技術的一種新的應用,與其他數據庫應用不同的是,數據倉庫更像一種過程,一種對分布在企業(yè)內部各處的業(yè)務數據進行整合、加工和分析的過程。因此,數據倉庫是一種概念,不是一種可以購買的產品。數據倉庫中包括了一些重要的技術,如數據挖掘,即從大量的數據中提取出潛在的、鮮為人知的有用信息、模式和趨勢。其目的是:提高市場決策能力;檢測異常模式;在過去的經驗基礎上預測未來趨勢。還包括事先構造匯總表,以提高信息的檢索效率,同時不增加使用人員的負擔,由程序在檢索時自動進行表的轉換等技術。本書介紹數據倉庫的概念,探討數據倉庫的體系結構、邏輯模型、物理實現、工程管理等內容。并且對構建數據倉庫的一些工具產品作了討論,介紹了購買這些工具時需要注意的問題。書中還對數據倉庫的時間性問題提出了獨到的見解,給出了可行的解決方案。本書適合于希望學習數據倉庫原理的人員以及數據倉庫構建的顧問人員使用。參加本書翻譯的主要成員有:鐘鳴、常征。全書由劉曉霞同志審校。同時擔任部分翻譯及校對工作的還有郝玉潔、梅剛、石永平、王君、“張文、田曉濤、耿娜、何江華、孫登峰、樊偉、趙彥萍等。由于譯者水平有限,書中難免有錯誤或不當之處,敬請讀者批評指正。前言本書主要圍繞數據倉庫展開討論。數據倉庫是一種特殊的數據庫,近幾年來在信息技術行業(yè)中獲得了極大的關注。關于數據倉庫構造的書籍很多,但把重點放在數據倉庫設計上的很少,但也不是沒有,本書中將會引用它們。構造數據倉庫的目的是使信息可用。沒有人會懷疑信息的價值,我們認為,大多數組織機構都可能具有一個信息的“阿拉丁山洞”,這個山洞被各機構的運營系統(tǒng)封鎖起來。數據倉庫就是打開這個信息山洞之門的鑰匙。強有力的證據表明,我們在數據倉庫領域的最初嘗試(指的是第一代數據倉庫)并未取得完全的成功。新生事物通常都不會非常成熟,在信息技術(盯)行業(yè)中更是如此,rr的從業(yè)人員迅速發(fā)現了數據倉庫的潛力,他們試圖努力使自己的公司在數據倉庫方面保持競爭優(yōu)勢。在這樣做的過程中,本人認為忽略了兩個問題。第一點是,粗看上去,數據倉庫似乎是一種相當簡單的應用,事實上它一點也不簡單。除了其絕對規(guī)模(數據倉庫可能是世界上最龐大的一種數據庫)和由此帶來的性能瓶頸這個基本問題之外,其數據結構也比早期的類似系統(tǒng)天生要復雜得多。結果,造成設計過于簡化,雖然數據庫理解和使用起來很簡單,但許多重要的問題沒有考慮到?!诙c是,數據倉庫不像其他運行系統(tǒng),它不能準確地定義需求。這與傳統(tǒng)的系統(tǒng)不一樣,傳統(tǒng)系統(tǒng)由需求規(guī)范來驅動整個開發(fā)生命周期。我們的系統(tǒng)設計方法仍主要基于對需求的徹底理解,這是一種“硬性”的系統(tǒng)方法。而在數據倉庫建造中,常常不知道要解決的問題是什么。數據倉庫的部分任務應該是幫助公司了解他們的問題是什么。-關于設計,也有兩個主要問題需要考慮。第一點與數據倉庫本身有關。怎樣保證相應的數據結構能解決一些較難的問題?第二點是已經證明硬性的系統(tǒng)方法限制性太強,需要一種更柔性的技術。因此,不僅要改進數據倉庫的設計,還要改進實現這種設計的方法。作者針對這兩個要求撰寫了本書。第卜代數據倉庫歷史上,第一代數據倉庫建立在業(yè)內大師們創(chuàng)立的某些法則的基礎之上。作者很敬佩數據域中兩位偉大的先行者:BiUInmon和RalphKimball。在我看來,這兩位學者在數方面比別的人走得更遠。雖然許多人聲稱自己“在有數據倉庫這個稱呼前已經從事建造工作很長時間了”,但實際上,Inmon和Kimball是數據倉庫建造的奠基人,因地制定了今天大多數從業(yè)者所知道的定義和設計原則??v使不能完全遵循他們的準Inmon關于數據倉庫的定義和Kimball關于平緩地更改維的原則仍然是很常見的。本書第2章是對數據倉庫的一個介紹。在某些方面,它應該被視為進行背景鋪墊的一章,因為它給出了下列內容,從初步原理開始對數據倉庫進行了介紹:決策支持的需求數據倉庫有何用途運營系統(tǒng)和數據倉庫之間的差別維模型數據倉庫的主要成分第2章為介紹第二代數據倉庫的發(fā)展做了鋪墊,第二代數據倉庫和客戶關系管理在介紹數據倉庫前,粗略地考察一下客戶關系管理(CRM)的業(yè)務問題。數據倉庫一直在等待CRM的出現。以前沒有它,數據倉庫仍比較流行,但其流行程度往往不夠。IT管理人員很快會意識到數據倉庫的潛力,但其業(yè)務需求并不總是主要的驅動力,這導致了某些數據倉庫項目的失敗。從業(yè)務經理的角度來看,發(fā)起這些大型的和昂貴的數據庫開發(fā)項目總是有點勉強。由叮發(fā)起的那些數據倉庫項目并不總是恰到好處。CRM的出現改變了一切。如果沒有較多的信息資源(當然,它是數據倉庫存在的理由),在業(yè)務開展中是不能實行CRM的?,F在對數據倉庫的興趣已經有了新的活力,這次坐在“駕駛席”上的是業(yè)務人員。在介紹了CRM的概念和描述了它的主要成分后,將討論第一代數據倉庫的設計方法中的缺陷(具有事后總結的好處),并提出用于下一代設計的方法。本書從分析某些設計問題開始,然后仔細地選擇解決更敏感的問題的方法,過去幾年中,對這些更敏感問題存在一些爭論(有時還很激烈)?;締栴}之一是關于設計中的時間表示。對于這個問題的實際支持非常少,這是很可悲的,因為數據倉庫已經成了所有業(yè)務中普遍的真正的基于時間的應用。在闡述解決方案時,我們針對有關時間的迷惑,再次介紹建造數據倉庫的舊的概念、邏輯和實際方法。為什么應該做這件事存在很好的理由,在介紹過程中我們將會說明這些理由。有一章是關于建造數據倉庫的業(yè)務理由的。意思很清楚。如果你不能說明開發(fā)數據倉庫的理由,就不要建立它。如果我們設計和開發(fā)了一個漂亮的高性能的系統(tǒng),但它不能在適當的時間內給出回報,任何人都不會為此感謝我們。許多數據倉庫能夠充分地證明自身存在的理由,而有的不能。我們不想造成失敗項目。沒有人能從這樣的事情中得到好處,因此,在證明建立數據倉庫的合理性方面,我們是相當嚴謹的。項目管理是數據倉庫開發(fā)的一個關鍵部分。一般的項目管理方法在這里不適用。有許多經驗豐富的項目管理者最初面對數據倉庫項目時感到極不舒服。他們過去習慣了依賴于系統(tǒng)規(guī)格說明,但是數據倉庫項目的交付產品具有不確定性,項目的接收標準本質上很不精確,這使他們感到很不安心。本書會提供項目管理方面的一些指導。認識我的人都認為我在軟件產品方面有點“坦率”,但我覺得,如果我是一個誠實的人就應該這樣。在碰到把舊的查詢工具改頭換面,就像它們是新產品一樣隨新東西一道發(fā)行的情形時,我就生氣。過去,查詢工具就是查詢工具?,F在,它是數據挖掘產品、分段產品,而且還是CRM產品。我知道,這些供應商要謀生,但作為職業(yè)顧問,我們必須保護客戶(特別是容易受騙的客戶),免得他們上這些供應商的當。有的產品確實增加了價值,而有的根本就沒有增值,而且還非常昂貴。關于軟件產品的那一章列出了各種可以得到的工具,說明它們擅長什么,不擅長什么,以及哪些問題你不關心,供應商就不會告訴你。本書讀者本書涵蓋了許多有意義的技術內容,其潛在的讀者相當廣泛。第2章是由本科生教材改編而來的,適合于希望學習數據倉庫原理的人員。它用簡單的術語說明了以下問題:.什么是數據倉庫.怎樣使用數據倉庫.數據倉庫的主要成分.數據倉庫的“行話”這一章中還介紹了建造數據倉庫要面對的困難和問題。對于顧問人員,本書包含了一個保證業(yè)務目標得以滿足的方法。此方法是一個自頂向下的方法,它采用了常見的專題討論會技術。還有一章專門幫助建立業(yè)務需求。對于數據倉庫的開發(fā)人員,本書包含了關于設計(特別是在數據模型方面)、時間處理、概念、邏輯和物理層次的大量資料。本書還包含了對所有開發(fā)層次提供幫助的一個完整的方法學。重點集中在建立以客戶為中心的模型上,這種模型對于支持客戶關系管理的完整需求非常理想。對于項目管理人員,有一整章提供了關于方法的指南,同時還包括以下內容:完整的工作分解結構(WBS)項目組結構所需技能