[摘 要] 在研究數據倉庫技術的基礎上,將“數據倉庫”理論運用于我國發展中的連鎖超市的決策管理,提出了連鎖超市數據集市的數據模型——雪花模型。并對數據模型中的事實表、維度表、大維度、粒度、聚集事實表等相關的技術問題,進行了細致的探討。對研究并建立連鎖超市數據倉庫具有參考價值和實際意義。
[關鍵詞] 連鎖超市 數據倉庫 數據集市 雪花模型 基礎事實表 維表 聚集事實表
隨著市場經濟的發展和人民生活水平的提高,購物環境舒適的超級市場正在得到越來越多消費者的青睞,連鎖超市已經成為我國商業零售業的發展主流。加入WTO后,我國商業零售業在應對國內競爭的同時,將面臨來自沃爾瑪、家樂福、麥德龍等國際零售巨頭激烈的國際競爭。因而我們不僅要密切跟蹤行業發展趨勢,同時要借鑒吸收國內外先進的管理模式,堅持本土化和國際化相結合,在營銷和管理工作上走出自己的經營特色之路,最終在競爭中求得生存與發展。
在信息時代,誰能在信息的海洋中獲取更多的知識,誰就能取得成功的主動權。信息技術在企業的決策和商業活動中起著重要的支持作用。
信息技術的迅速發展和企業管理決策的迫切需要,使數據倉庫理論應運而生,并成為決策支持領域中實用性極強的技術。
一、數據倉庫和數據集市
數據倉庫技術是當前用于企業決策支持的、先進的有效方法。
1993年,W.H.lnmon在其所著《Building the Data Warehouse》中對數據倉庫進行了完整的界定。他將數據倉庫定義為:“一個面向主題的、集成的、隨時間變化的、非易失性的數據集合,用以支持管理層的決策”。這一界定被學術界廣泛認同。W.H.lnmon關于數據倉庫的定義,可以從幾方面來理解:
1.數據倉庫是一種數據資源集成與整合的具體方法。數據倉庫不同于一般的數據庫。它是按照一定的要求、圍繞明確的主題,對原有分散的、相互獨立,異構的操作型數據進行有效集成。
2.數據倉庫存儲的數據具有相對的穩定性。
3.數據倉庫的數據主要用于對管理決策過程的支持。
數據倉庫的鮮明特點,使數據倉庫技術具有廣泛的應用前景。目前,已有不少行業把數據倉庫技術用于數據管理和決策支持,取得了經驗,產生了效益。
數據集市是數據倉庫的一個子集,它面向部門級業務,面向某個特定的主題。是一種簡化的小型數據倉庫。實際上,多個相互聯系的、圍繞一個宏觀大主題的多個數據集市的集成,就構成了數據倉庫。數據集市和數據倉庫在其實現過程和數據模式方面,沒有根本的差異。而數據集市比數據倉庫更為簡潔、方便,易于快速實施并應用。因此,在建立企業級的數據倉庫前,可規劃建立多個部門級的數據集市,在此基礎上,集成實現企業級的數據倉庫。
二、數據倉庫的“星型模型”
“星型模型”是數據倉庫廣泛采用的數據模型。它能準確、簡潔地描述出實體之間的邏輯關系。數據倉庫的其他數據模型,一般是在“星型模型”的基礎上的變形與擴充。一個典型的星型模式包括一個大型的事實表和一組邏輯上圍繞這個事實表的維度表。如圖1所示:
事實表是星型模型的核心。用于存放大量的具有業務性質的事實數據。事實表由主鍵和事實的度量數據兩部分組成。事實表通過主鍵,把各維度表鏈接在一起,形成一個相互關聯的整體,共同描述主題。事實表中存放的大量數據,是同主題密切相關的、用戶最關心的、對象的度量數據。
維度是觀察事實、分析主題的角度。維度表的集合是數據倉庫數據模式的關鍵。維度表通過主關鍵字與事實表相連。用戶依賴于維度表中的維度屬性,對事實表中的事實數據進行查詢、分析,從而得到支持決策的數據。
因此,對事實表和維表的分析設計,是數據倉庫數據模型設計的關鍵。
三、連鎖超市數據集市的數據模型
數據模型是建立數據倉庫的基礎。業務需求是進行數據倉庫數據模型設計的驅動力。連鎖超市商品銷售情況可以看作超市管理數據倉庫的一個子集,即數據集市。適宜選用以“星型模型”為基礎,建立能滿足需求的連鎖超市數據集市的數據模型。
1.事實表的設計
如前所述,事實表由主鍵和度量數據兩部分組成。星型模型中各維度表主鍵的組合構成事實表的主鍵。針對本文的研究主題,最需要關注的是連鎖超市商品銷售情況。因此,在事實表中,要準確記載各連鎖超市所暢銷的商品、銷售數量、營業額、利潤等度量數據。
事實表中數據的細節程度或綜合程度的級別稱為數據“粒度”。粒度是數據倉庫事實表的重要的特征。粒度的級別依賴于維表的屬性。不同的需求,對數據倉庫的粒度要求不同。
連鎖超市數據集市需要保留最低層次的細節數據,以滿足數據集市的信息查詢要求。很多數據挖掘的應用程序也需要最低層次的數據顆粒。再者,低粒度的事實表便于從操作型系統中抽取源數據。此外,最低層次的細節數據是聚集事實表的基礎。
另一方面,為提供決策支持,需要多方面的高粒度的匯總數據。
因此,連鎖超市數據集市的數據模型設計,要能方便獲取從最低層次的細節數據到高度概括的匯總數據。這不僅需要設計好事實表,同時依賴于維度表屬性的設計。
2.維度表的設計
維度表的集合是建立數據倉庫數據模型的關鍵。
建立連鎖超市數據集市的目的是要從各個角度,分析對商品銷售情況的影響,為管理者在研究超市發展策略等方面,提供決策支持。
針對連鎖超市需要掌握的基礎信息和決策的需求,在連鎖超市數據集市中,設計了以下維度及其主要屬性。
客戶維:這是最重要的一個維度,在商界,“客戶就產上帝”。在客戶維中,建立了客戶的基本信息、是否為會員客戶、客戶居住地域等,以便掌握客戶個人細節數據。從數據粒度的需要,客戶維還建立了客戶的會員關系和屬地等。為建立聚集事實表作好準備。
商品維:商品維也是一個重要的維度。商品不僅決定了超市的經營范圍,商品的結構、品牌、質量直接影響營業額。在商品維中,設計了商品代碼、商品名稱、商品類別、品牌名稱、包裝類別等維度屬性。
時間維:在數據倉庫的多維數據結構中,時間維往往是不可少的一個維度。因為每項“銷售事實”都是在一定的時間或者時間段內發生。針對需求,時間維采用日、月、季、年四個屬性。
連鎖店維:各連鎖店承擔了全部商品的銷售業務。連鎖店的服務質量直接影響企業的競爭力、銷售業績和企業利潤。連鎖店維中建立了連鎖店名、銷售經理、規模、所在地域等維度屬性。
根據上述分析,建立連鎖超市數據集市的星型數據模型,如圖2所示:
3.處理好大維度問題
在上列各個維度中,客戶維和商品維都是典型的大維度。這是因為:大的連鎖超市,客戶維和商品維很深,累計可能有數以萬計的客戶和上萬種商品;客戶維和商品維很寬,根據需要,這兩種維可以有多個維度屬性。
數據倉庫的大維度,會給數據倉庫的操作應用帶來一些問題。大維度中的長文本字段不僅占用存儲空間,而且維度數據不易更新和維護;向大維度表填充數據難度增大;對事實表的查詢涉及大維度表時,會影響效率。解決數據倉庫“大維度”問題較好的辦法是采用“雪花模型”。
“雪花模型”是在星型模型的基礎上拓展而來的。將“星型模型”中的大維度表進分解,通過增加詳細類別表,形成一些局部的層次區域,就演變成為“雪花模型”。將連鎖超市數據集市中的兩個大維度表——客戶維和商品維進行“雪花化”。分解出相應的類別表,既解決了大維度表帶來的問題,也為建立“聚集事實表”作好了準備。
基于上述分析,設計出低保基礎信息數據集市的雪花模型構架。如圖3所示:
四、連鎖超市數據集市聚集模型設計
“聚集”是從最低粒度的事實表中衍生出來的的預先計算的匯總數據。這些匯總數據形成了一組獨立的聚集事實表。實際應用中,可以根據需要用跨越任何維度的特定的匯總數據構建為一個聚集事實表。
1.建立數據集市聚集事實表的必要性
建立低保基礎信息數據集市的主要目的,是要為管理者提供具有決策價值的匯總數據。因此,把使用頻率高的匯總數據存放在聚集事實表中,對提高數據集市的的使用性能,為管理者提供決策支持,使用戶獲得更好、更快的查詢結果,是非常必要的。數據集市聚集模型的好壞將在很大程度上影響到數據集市的使用效果。
2.怎樣建立聚集事實表
在數據集市中建立聚集事實表,要注意以下原則:
⑴每一個不同的聚集必須使用單獨的事實表存儲聚集數據,成為相對獨立的聚集事實表。
⑵聚集事實表中的維表必須是基本事實表中的維表的壓縮。
⑶基本事實表中的度量數據加載后,才能作聚集處理。
3.連鎖超市數據集市常用的聚集事實表
每一個數據倉庫(數據集市),都可能有多個維度表。因此,一個數據倉庫(數據集市)會有很多個聚集事實表。究竟需要那些聚集,要針對用戶需求和決策需要。例如,連鎖超市數據集市中可建立以下常用聚集事實表:
⑴單路聚集:在有多個維度的數據模型中,如果只有一個維度升高維度層次,其他維度保持最低層次,所生成的事實表為單路聚集事實表。在連鎖超市數據集市中,把時間維度的屬性層次升高到月、季或年,其他維度層次保持不變,就生成一個單路時間聚集事實表。
⑵二路聚集:在多維數據模型中,如果有二個維度升高維度層次,其他維度保持最低層次,所生成的事實表為二路聚集事實表。在連鎖超市數據集市中,如果需要掌握在某年對會員客戶的銷售情況,可以生成時間維屬性為年,客戶維屬性為會員,其他維保持不變的二路聚集事實表。如圖4所示。
⑶三路聚集:在多維數據模型中,如果有三個維度升高維度層次,其他維度保持最低層次,所生成的事實表為三路聚集事實表。例如:在連鎖超市數據集市中,需要掌握在某年會員客戶對某個品牌商品的購買情況,就需要對銷售事實表進行三路聚集,如圖5所示。
按照上述方法,可以根據需要靈活方便地生成多個聚集事實表。
五、結束語
能否滿足需求,是衡量一個應用軟件質量的重要依據。利用本文提出的連鎖超市數據集市的數據模型架構,不僅為建立連鎖超市數據集市奠定了基礎;而且為數據集市的發展利用創造了條件。通過數據挖掘技術,能夠從多方面獲取連鎖超市經營管理中的重要信息,為企業在競爭中取得主動權,促進企業的進一步發展,提供決策支持。
參考文獻:
[1]王志海:數據倉庫[M].機械工業出版社,2003
[2]邵紅全 趙 茜:運用多維數據模型實現數據集市[J].河北省科學院學報,2003(2):99~102
[3]段云峰:數據倉庫基礎[M].電子工業出版社,2004
[4]李姍姍 寧 洪 陳 波:通用數據倉庫元數據模型的研究[J].計算機工程與應用,2004,26(5):52~55
[5]劉中蔚 陳 紅:用基于元數據庫的工作流調度數據倉庫的更新[]].計算機應用研究,2006,23(3):178~180
[6]范 明:數據挖掘概念與技術[M].機械工業出版社,2004
[7]平 靜 林平瑞:元數據管理及其在數據倉庫中的應用[J].平原大學學報,2006(8):130~132
[8]彭曉東:基于數據倉庫的綜合決策支持系統的設計研究[j],電腦開發與應用,2003(6):11~20