摘 要:將數據倉庫理論運用于我國星級酒店的決策管理,提出了星級酒店數據集市雪花模型設計方法。并對相關的技術問題進行了細致的探討。將星型模型和雪花模型的特色和優勢相結合,對雪花模型在星級酒店數據集市中的應用進行了探索。
關鍵詞:星級酒店;數據集市;雪花模型
中圖分類號:F27文獻標識碼:A文章編號:1672-3198(2008)09-0330-03
1 星級酒店經營數據集市的“星型模型”
數據集市是數據倉庫的一個子集,它面向部門級業務、面向某個特定主題的小型數據倉庫。實際上,多個相互聯系的、圍繞一個宏觀大主題的多個數據集市的集成,就構成了數據倉庫。
建立星級酒店經營數據集市的數據模型,一般都是在對應用主題分析的基礎上,首先建立星型模型。“星型模型”是數據倉庫(集市)廣泛采用的數據模型。它能準確、簡潔地描述出實體之間的邏輯關系。一個典型的星型模式包括一個大型的事實表和一組邏輯上圍繞這個事實表的維度表。
事實表是星型模型的核心,事實表由主鍵和度量數據兩部分組成。星型模型中各維度表主鍵的組合構成事實表的主鍵。事實表中存放的大量數據,是同主題密切相關的、用戶最關心的度量數據。星級酒店最需要關注的是客戶消費情況。為分析的需求,基礎事實表中需要記載的是客人最低粒度的消費事實。即用何種促銷手段使某位客人在某個時間進行了何種形式的消費,消費金額產多少。因此,在事實表中,要準確記載每位客人的消費形式、消費價格、促銷方式、促銷折扣、消費金額、成本、利潤等度量數據。
維度是觀察事實、分析主題的角度。維度表的集合是構建數據倉庫數據模式的關鍵。維度表通過主鍵與事實表相連。用戶依賴維表中的維度屬性,從事實表中獲取支持決策的數據。圍繞經營主題,星級酒店經營數據集市有以下典型的維度及其屬性:
客戶維:在客戶維中,需要建立客戶的基本信息。為決策分析需要,把客戶分為常住客戶和流動客戶。
消費項目維:經營星級酒店,要向客人提供高質量的消費,消費項目多種多樣。把經常性的消費項目歸納為:客房、餐飲、娛樂、其他等四類。每類消費都有消費內容的細節描述。
時間維:在數據倉庫的多維數據結構中,時間維往往是不可少的一個維度。因為每項“銷售事實”都是在一定的時間或者時間段內發生。針對需求,時間維采用時、日、月、年四個屬性。
促銷維:行業的競爭,使各酒店都采用了形形色色的促銷方式。促銷增加了營業額,但同時也增加了運營成本。促銷的形式和效果,對管理者的決策具有重要價值。在促銷維中描述了幾種典型的促銷方式:打折、中介、聯營等作為維度屬性。
根據分析主題和需求,建立星級酒店營銷數據集市星型數據模型,如圖1所示。
2 星型模型的優勢和不足
2.1 星型模型在數據倉庫中具有很大優勢
(1)星型模型圍繞一個確定的主題,體現了數據倉庫對數據結構和組織的要求;
(2)星型模型簡單、清晰的結構準確反映了用戶的需求,使用戶易于理解;
(3)星型模型維度表包含了用戶經常查詢和分析的屬性,優化了對數據庫的瀏覽,在維度表和事實表之間沒有任何“迷宮”。使查詢的過程變得簡單而直接;
(4)星型模型為OLAP提供了良好的工作條件,使OLAP能通過星型連接和星型索引,顯著提高查詢性能。
2.2 星型模型也有明顯的不足
(1)星型模型是非規范化的,星型模型以增加存儲空間為代價來提高多維數據的查詢速度,造成很大的數據冗余;非規范化的、含有大量冗余的維度表,會使數據切片變得更加復雜;
(2)由于星型模型中各維度表主鍵的組合構成事實表的主鍵。當星型模型的維不能滿足要求時,維的變化是非常復雜、耗時的;
(3)維度屬性的復雜形成的大維度問題。大維度中的長文本字段占用存儲空間,維度數據不易更新和維護;向大維度表填充數據難度增大;對事實表的查詢涉及大維度表時,會影響效率;
(4)當維的屬性復雜時,處理維的層次關系比較困難;
(5)對“多對多”關系,星型模型無能為力。
3 星級酒店經營數據集市的“雪花模型”設計
(1)客戶維的“雪花化”。考慮數據分析的需要,把客戶分為兩種類型:常住客戶和流動客戶。如外地派出機構或辦事處工作人員租用酒店時間相對較長,屬常住客戶;臨時性出差、旅游住店屬流動客戶。這樣分類后,有利于“一對一”服務,穩定常住客戶,吸收流動客戶。此外,客戶維中的有些屬性與事實表中的度量數據無直接關系。例如:客戶的基本信息,將這些信息分離,使維表和事實表盡量“精練”。提高了多維查詢的速度。當我們需要這些信息時,才到分離的信息中查找。
(2)消費項目維的“雪花化”。星型模型中列出了四類消費項目,這四類消費項目之間無直接的關聯的屬性,此外,同一客戶不會是每種項目都進行消費,更不會同時進行幾種消費。把消費項目維按維的屬性類別分解,不僅有利于維表的規范化,減少維表和事實表的數據冗余,而且為數據的聚集打下了基礎。
(3)時間維的“雪花化”。時間維中的四個時間屬性,是典型的層次關系。可按維屬性的層次分解。其中,把“時”、“日”兩個屬性放在一起,是因為,需要了解同一天不同時間段客戶的消費需求。
(4)促銷維的“雪花化”。是為了分類核算各種促銷手段的成本和效果,以利今后對促銷策劃的依據。

總之,雪花模型要在星型模型的基礎上,描述出屬性間清晰的層次和分類關系。把圖1所示的星級酒店營銷數據集市的星型模型“雪花”化,就得到該集市的雪花模型。如圖2所示。
4 星級酒店經營數據集市雪花模型的應用
雪花模型是星型模型的衍生,星型模型是雪花模型的“父類”。 雪花模型和星型模型各具特色。在研究數據倉庫(集市)數據模型的應用時,既要用雪花模型的優勢彌補星型模型的不足;還要充分繼承星型模型的優勢,揚長避短,使數據模型能在構建數據倉庫和開發應用中更好地發揮作用。
現假定:星級酒店經營數據集市經過ETL過程,將各種異構數據源中的數據抽取出來,并將不同數據源的數據進行轉換和整合,得出一致性的數據,然后加載到數據倉庫中。并且規范的元數據已經能有效地控制和支撐數據集市的運行。
4.1 雪花模型在處理大維度方面的應用
數據倉庫的大維度問題雖然可以通過事實表來體現,但這種方法導致事實表極為龐大且難于管理,當層次定義發生改變時,事實表需要重新設計和構建。
雪花模型通過對維度表的屬性按層次和類別進行分解,將非分析數據進行分離,使大維度表得到有效的規范化處理,較好地消除了數據的冗余,從而使事實表的字段數和總長度減小,以節省存儲空間。解決了星型模型中復雜的大維度問題。
4.2 建立使用頻率高的聚集事實表

事實表中數據的細節程度或綜合程度的級別稱為數據“粒度”。粒度是數據倉庫事實表的重要的特征。不同的需求,對粒度要求不同。數據集市需要保留最低層次的細節數據,以滿足數據抽取、信息查詢和數據挖掘的需要;另一方面,為提供決策支持,需要多方面的高粒度的匯總數據。因此,需要把使用頻率高的匯總數據存放在聚集事實表中。雪花模型維度表清晰的層次關系和明確的分類為建立聚集事實表創造了條件。
根據聚集的概念,在有m維的雪花模型或星型模型中,可以建立多個n度聚集事實表(n<=m)。所謂n度聚集,就是把m維事實表中的n個維度提升到一定的層次,其余的(m-n)維保持最低層次。這樣生成的事實表同相應衍生出的維表形成一個簡明的星型模型。例如:為了分析酒店通過打折促銷對酒店客房經營的的利潤造成的影響,可通過把時間維取需要分析的時間層次,例如年;把客戶維提升到客戶類別;把消費項目定格在“客房”,把促銷形式定格在“打折”,將對應的匯總數據構成聚集事實表,同新的維表一起構成雪花模型進行四路聚集。如圖3所示。
用同樣的方法,可以通過雪花模型獲取住店客戶在本酒店餐飲、娛樂方面的消費情況,用以分析住店客戶對餐飲、娛樂等消費的連帶關系和推動。
通過各種聚集,不僅滿足了聯機分析處理和數據挖掘對各種數據粒度的要求,更可喜的是,由于聚集產生的是結構簡單的星型模型,使星型模型的各種優勢在這里得到發揮。可直接通過聚集事實表得到很多決策者所關心的支持決策的數據。
在促銷手段方面,可通過分析促銷手段的成本和效益,策劃下階段的促銷形式。
在營銷項目方面,聚集事實表直接提供酒店一月(年)中,客房、餐飲、娛樂等方面的營業額和利潤;客戶對豪華間、標準間的需求;對中餐、西餐的喜好;策劃酒店的配套設施和投入。
4.3 雪花模型在聯機分析處理(OLAP)中的應用
聯機分析處理(OLAP)是基于數據倉庫的一種多維數據分析技術,是數據倉庫的重要應用。OLAP從數據倉庫中的某個特定主題的集成數據出發,使用多維分析方法,對客戶端的請求,對數據進行切片、切塊、聚合、鉆取、旋轉等操作,并通過直觀的方式從多個角度、多個側面、多個層次及多種數據綜合程度對多維數據進行分析、比較,并把結果用表格或圖形方式顯示給用戶,使用戶了解數據背后蘊含的規律,以達到獲取相關決策信息的目的。
雪花模型及以雪花模型為依托生成的各層次的聚集事實表,為OLAP提供了良好的工作條件。例如,在對數據進行上鉆或下鉆時,只需要向OLAP工具提供相應的不同粒度的聚集事實表即可。
為了改善數據匯總查詢的性能,可以建立一個匯總表,將常用的星級酒店營銷數據集市的全部聚集事實表的表名、粒度、相應的維度屬性存放在匯總表中,并通過數據倉庫元數據進行管理。這樣,OLAP就能根據匯總表的指示,選用不同粒度的聚集事實表進行切片、切塊、聚合、鉆取、旋轉等操作,提高了分析速度,彌補了雪花模型在查詢速度方面的不足。
總之,雪花模型提高了數據倉庫應用的靈活性。使系統進一步專業化和實用化。
5 結束語
星型模型和雪花模型是基于關系數據庫的數據倉庫的兩種典型的數據模型。從形式上看,雪花模型比星型模型結構復雜,但設計好的雪花模型卻有星型模型難以替代的應用價值。在實際應用中,要對具體問題作出具體分析,還要針對OLAP和挖掘工具的需要,在兩種模式之間作出權衡和選擇。使數據模型在數據倉庫的構建和應用中發揮出更好的作用。
參考文獻
[1]平靜,林平瑞.元數據管理及其在數據倉庫中的應用[J].平原大學學報,2006,(8).
[2]彭曉東.基于數據倉庫的綜合決策支持系統的設計研究[J].電腦開發與應用,2003,(6).