數(shù)據(jù)集市
目錄
1.數(shù)據(jù)集市概述
數(shù)據(jù)集市也叫數(shù)據(jù)市場,是一個從操作的數(shù)據(jù)和其他的為某個特殊的專業(yè)人員團體服務的數(shù)據(jù)源中收集數(shù)據(jù)的倉庫。從范圍上來說,數(shù)據(jù)是從企業(yè)范圍的數(shù)據(jù)庫、數(shù)據(jù)倉庫,或者是更加專業(yè)的數(shù)據(jù)倉庫中抽取出來的。數(shù)據(jù)中心的重點就在于它迎合了專業(yè)用戶群體的特殊需求,在分析、內容、表現(xiàn),以及易用方面。數(shù)據(jù)中心的用戶希望數(shù)據(jù)是由他們熟悉的術語表現(xiàn)的。
數(shù)據(jù)倉庫是一個集成的、面向主題的數(shù)據(jù)集合,設計的目的是支持DSS(決策支持系統(tǒng))功能。在數(shù)據(jù)倉庫里,每個數(shù)據(jù)單元都和特定的時間相關。數(shù)據(jù)倉庫包括原子級別的數(shù)據(jù)和輕度匯總的數(shù)據(jù),是面向主題的、集成的、不可更新的(穩(wěn)定性)、隨時間不斷變化(不同時間)的數(shù)據(jù)集合,用以支持經(jīng)營管理中的決策制定過程。
那么數(shù)據(jù)集市就是企業(yè)級數(shù)據(jù)倉庫的一個子集,他主要面向部門級業(yè)務,并且只面向某個特定的主題。為了解決靈活性和性能之間的矛盾,數(shù)據(jù)集市就是數(shù)據(jù)倉庫體系結構中增加的一種小型的部門或工作組級別的數(shù)據(jù)倉庫。數(shù)據(jù)集市存儲為特定用戶預先計算好的數(shù)據(jù),從而滿足用戶對性能的需求。數(shù)據(jù)集市可以在一定程度上緩解訪問數(shù)據(jù)倉庫的瓶頸。
2.數(shù)據(jù)集市的特征
- 數(shù)據(jù)集市的特征包括規(guī)模小
- 有特定的應用
- 面向部門
- 由業(yè)務部門定義、設計和開發(fā)
- 業(yè)務部門管理和維護
- 能快速實現(xiàn)
- 購買較便宜
- 投資快速回收
- 工具集的緊密集成
- 提供更詳細的、預先存在的、數(shù)據(jù)倉庫的摘要子集
- 可升級到完整的數(shù)據(jù)倉庫
3.數(shù)據(jù)集市中數(shù)據(jù)的結構
數(shù)據(jù)集市中數(shù)據(jù)的結構通常被描述為星型結構或雪花結構。一個星型結構包含兩個基本部分——一個事實表和各種支持維表。
事實表
事實表描述數(shù)據(jù)集市中最密集的數(shù)據(jù)。在電話公司中,用于呼叫的數(shù)據(jù)是典型的最密集數(shù)據(jù);在銀行中,與賬目核對和自動柜員機有關的數(shù)據(jù)是典型的最密集數(shù)據(jù)。對于零售業(yè)而言,銷售和庫存數(shù)據(jù)是最密集的數(shù)據(jù)等等。
事實表是預先被連接到一起的多種類型數(shù)據(jù)的組合體,它包括:一個反映事實表建立目的的實體的主鍵,如一張訂單、一次銷售、一個電話等等,主鍵信息,連接事實表與維表的外鍵,外鍵攜帶的非鍵值外部數(shù)據(jù)。如果這種非鍵外部數(shù)據(jù)經(jīng)常用于事實表中的數(shù)據(jù)分析,它就會被包括在事實表的范圍內。事實表是高度索引化的。事實表中出現(xiàn)30到40條索引非常常見。有時實事表的每列都建了索引,這樣作的結果是使事實表中的數(shù)據(jù)非常容易讀取。但是,導入索引所需的資源數(shù)量必須為等式提供因數(shù)。通常,事實表的數(shù)據(jù)不能更改,但可以輸入數(shù)據(jù),一旦正確輸入一個記錄,就不能更改此記錄的任何內容了。
維表
維表是圍繞著事實表建立的。維表包含非密集型數(shù)據(jù),它通過外鍵與事實表相連。典型的維表建立在數(shù)據(jù)集市的基礎上,包括產(chǎn)品目錄、客戶名單、廠商列表等等。
數(shù)據(jù)集市中的數(shù)據(jù)來源于企業(yè)數(shù)據(jù)倉庫。所有數(shù)據(jù),除了一個例外,在導入到數(shù)據(jù)集市之前都應該經(jīng)過企業(yè)數(shù)據(jù)倉庫。這個例外就是用于數(shù)據(jù)集市的特定數(shù)據(jù),它不能用于數(shù)據(jù)倉庫的其他地方。外部數(shù)據(jù)通常屬于這類范疇。如果情況不是這樣,數(shù)據(jù)就會用于決策支持系統(tǒng)的其他地方,那么這些數(shù)據(jù)就必須經(jīng)過企業(yè)數(shù)據(jù)倉庫。
數(shù)據(jù)集市包含兩種類型的數(shù)據(jù),通常是詳細數(shù)據(jù)和匯總數(shù)據(jù)。
詳細數(shù)據(jù)
就像前面描述過的一樣,數(shù)據(jù)集市中的詳細數(shù)據(jù)包含在星型結構中。值得一提的是,當數(shù)據(jù)通過企業(yè)數(shù)據(jù)倉庫時,星型結構就會很好的匯總。在這種情況下,企業(yè)數(shù)據(jù)倉庫包含必需的基本數(shù)據(jù),而數(shù)據(jù)集市則包含更高間隔尺寸的數(shù)據(jù)。但是,在數(shù)據(jù)集市使用者的心目中,星型結構的數(shù)據(jù)和數(shù)據(jù)獲取時一樣詳細。
匯總數(shù)據(jù)
數(shù)據(jù)集市包含的第二種類型數(shù)據(jù)是匯總數(shù)據(jù)。分析人員通常從星型結構中的數(shù)據(jù)創(chuàng)建各種匯總數(shù)據(jù)。典型的匯總可能是銷售區(qū)域的月銷售總額。因為匯總的基礎不斷發(fā)展變化,所以歷史數(shù)據(jù)就在數(shù)據(jù)集市中。但是這些歷史數(shù)據(jù)優(yōu)勢在于它存儲的概括水平。星型結構中保存的歷史數(shù)據(jù)非常少。
數(shù)據(jù)集市以企業(yè)數(shù)據(jù)倉庫為基礎進行更新。對于數(shù)據(jù)集市來說大約每周更新一次非常平常。但是,數(shù)據(jù)集市的更新時間可以少于一周也可以多于一周,這主要是由數(shù)據(jù)集市所屬部門的需求來決定的。
4.數(shù)據(jù)集市的常見問題
數(shù)據(jù)集市怎么建
建立不同規(guī)格的數(shù)據(jù)倉庫、數(shù)據(jù)集市的成本,國外的咨詢機構有專門的評估,在一定程度上可以借鑒。但是這些結果在國內也許并不適用,因為國情不同,在國內的構建成本需要專門的調研。以我們?yōu)槠髽I(yè)構建的客戶主題數(shù)據(jù)集市為例,一般成本在20萬元到50萬元人民幣之間。
數(shù)據(jù)集市的設計可以采用迭代式的方法。在迭代式開發(fā)中,每個迭代為上一次的結果增加了新的功能。功能增加的順序要考慮到迭代平衡以及盡早發(fā)現(xiàn)重大風險。通俗地說,就是在正式交貨之前多次給客戶交付不完善的中間產(chǎn)品“試用”。這些中間產(chǎn)品會有一些功能還沒有添加進去、還不穩(wěn)定,但是客戶提出修改意見以后,開發(fā)人員能夠更好地理解客戶的需求。如此反復,使得產(chǎn)品在質量上能夠逐漸逼近客戶的要求。這種開發(fā)方法周期長、成本高,但是它能夠避免整個項目推倒重來的風險,比較適合大項目、高風險項目。
理論上講,應該有一個總的數(shù)據(jù)倉庫的概念,然后才有數(shù)據(jù)集市。實際建設數(shù)據(jù)集市的時候,國內很少這么做。國內一般會先從數(shù)據(jù)集市入手,就某一個特定的主題(比如企業(yè)的客戶信息)先做數(shù)據(jù)集市,再建設數(shù)據(jù)倉庫。數(shù)據(jù)倉庫和數(shù)據(jù)集市建立的先后次序之分,是和設計方法緊密相關的。而數(shù)據(jù)倉庫作為工程學科,并沒有對錯之分,主要判別方式應該是能否解決目前存在的實際問題,并為今后可能發(fā)生的問題保持一定的可伸縮性。
數(shù)據(jù)集市能不能 “獨立”
企業(yè)規(guī)劃數(shù)據(jù)倉庫項目的時候,往往會遇到很多數(shù)據(jù)倉庫軟件供應商。各供應商除了推銷相關的軟件工具外, 同時也會向企業(yè)灌輸許多概念。其中,數(shù)據(jù)倉庫和數(shù)據(jù)集市是最常見的兩個術語了。各個供應商術語定義不統(tǒng)一、銷售策略不一樣,這往往會給企業(yè)帶來很大的混淆。最典型的問題是:到底是先上一個企業(yè)級的數(shù)據(jù)倉庫呢?還是先上一個部門級的數(shù)據(jù)集市?這其實是是否要上獨立型數(shù)據(jù)集市的問題。
數(shù)據(jù)集市可以分為兩種類型——獨立型數(shù)據(jù)集市和從屬型數(shù)據(jù)集市。獨立型數(shù)據(jù)集市直接從操作型環(huán)境獲取數(shù)據(jù),從屬型數(shù)據(jù)集市從企業(yè)級數(shù)據(jù)倉庫獲取數(shù)據(jù),帶有從屬型數(shù)據(jù)集市的體系結構。
數(shù)據(jù)倉庫規(guī)模大、周期長,一些規(guī)模比較小的企業(yè)用戶難以承擔。因此,作為快速解決企業(yè)當前存在的實際問題的一種有效方法,獨立型數(shù)據(jù)集市成為一種既成事實。獨立型數(shù)據(jù)集市是為滿足特定用戶(一般是部門級別的)的需求而建立的一種分析型環(huán)境,它能夠快速地解決某些具體的問題,而且投資規(guī)模也比數(shù)據(jù)倉庫小很多。
獨立型數(shù)據(jù)集市的存在會給人造成一種錯覺,似乎可以先獨立地構建數(shù)據(jù)集市,當數(shù)據(jù)集市達到一定的規(guī)模再直接轉換為數(shù)據(jù)倉庫。有些銷售人員會推銷這種觀點,其實質卻常常是因為建立企業(yè)級數(shù)據(jù)倉庫的銷售周期太長以至于不好操作。
多個獨立的數(shù)據(jù)集市的累積,是不能形成一個企業(yè)級的數(shù)據(jù)倉庫的,這是由數(shù)據(jù)倉庫和數(shù)據(jù)集市本身的特點決定的—數(shù)據(jù)集市為各個部門或工作組所用,各個集市之間存在不一致性是難免的。因為脫離數(shù)據(jù)倉庫的緣故,當多個獨立型數(shù)據(jù)集市增長到一定規(guī)模之后,由于沒有統(tǒng)一的數(shù)據(jù)倉庫協(xié)調,企業(yè)只會又增加一些信息孤 島,仍然不能以整個企業(yè)的視圖分析數(shù)據(jù)。借用Inmon的比喻:我們不可能將大海里的小魚堆在一起就構成一頭大鯨魚,這也說明了數(shù)據(jù)倉庫和數(shù)據(jù)集市有本質的不同。
如果企業(yè)最終想建設一個全企業(yè)統(tǒng)一的數(shù)據(jù)倉庫,想要以整個企業(yè)的視圖分析數(shù)據(jù),獨立型數(shù)據(jù)集市恐怕不是合適的選擇;也就是說“先獨立地構建數(shù)據(jù)集市,當數(shù)據(jù)集市達到一定的規(guī)模再直接轉換為數(shù)據(jù)倉庫”是不合適的。從長遠的角度看,從屬型數(shù)據(jù)集市在體系結構上比獨立型數(shù)據(jù)集市更穩(wěn)定,可以說是數(shù)據(jù)集市未來建設的主要方向。
5.為何要構建數(shù)據(jù)集市?
快速發(fā)展的、充滿競爭的商業(yè)世界對于及時、準確的信息有著永無止境的需求,一些IT專家對此認為其必然結果就是創(chuàng)建數(shù)據(jù)集市。其他專家卻質疑用戶和客戶所要付出的工作和成本。畢竟,難道不能直接從遺留系統(tǒng)和在線事務處理(On Line Transaction Processing,OLTP)系統(tǒng)通過特定的報表獲得相同的信息嗎?在EDS 的商業(yè)智能小組里,我們就經(jīng)常被問到這一問題。經(jīng)驗讓我們有許多機會使我們的同行和客戶了解這項有用技術的價值。
那么,一個組織為何要構建數(shù)據(jù)集市呢?雖然OLTP和遺留系統(tǒng)擁有寶貴的信息,但是可能難以從這些系統(tǒng)中提取有意義的信息并且速度也較慢。而且這些系統(tǒng)雖然一般可支持預先定義操作的報表,但卻經(jīng)常無法支持一個組織對于歷史的、聯(lián)合的、“智能的”或易于訪問的信息的需求。因為數(shù)據(jù)分布在許多跨系統(tǒng)和平臺的表中,而且通常是“臟的”,包含了不一致的和無效的值,使得難于分析。數(shù)據(jù)集市將合并不同系統(tǒng)的數(shù)據(jù)源來滿足業(yè)務信息需求。
若能有效地得以實現(xiàn),數(shù)據(jù)集市將可以快速且方便地訪問簡單信息以及系統(tǒng)的和歷史的視圖。一個設計良好的數(shù)據(jù)集市將會:
- 發(fā)布特定用戶群體所需的信息,且無需受制于源系統(tǒng)的大量需求和操作性危機。
- 支持訪問非易變(nonvolatile)的業(yè)務信息。(非易變的信息是以預定的時間間隔進行更新的,并且不受OLTP系統(tǒng)進行中的更新的影響。)
- 調和來自于組織里多個運行系統(tǒng)的信息,比如賬目、銷售、庫存和客戶管理以及組織外部的行業(yè)數(shù)據(jù)。
- 通過默認有效值、使各系統(tǒng)的值保持一致以及添加描述以使隱含代碼有意義,從而提供凈化的(cleansed)數(shù)據(jù)。
- 為即席分析和預定義報表提供合理的查詢響應時間(不同于OLTP系統(tǒng)中所需的調優(yōu)需求)。
- 通過提供對于遺留系統(tǒng)和OLTP應用程序的選擇來減少對這些應用程序的要求,以獲得更多所需信息。