張曦征 安徽省體育彩票管理中心 230001
數據倉庫在體育彩票行業網點運營管理中的應用
張曦征 安徽省體育彩票管理中心 230001
隨著我國體育彩票事業的飛速發展,彩票銷售數據不斷攀升,銷售網點急劇增長,如何對這些急劇增長的銷售網點進行科學有效地管理成為了體彩中心一個迫切需要解決的問題。本文作者通過對體育彩票業務進行需求分析,基于數據倉庫和OLAP分析技術,構建了以體育彩票銷售為主題的數據倉庫并進行多維數據分析。
體育彩票;網點管理;數據倉庫;OLAP
Sports Lottery;Outlets Management;Data Warehouse;OLAP
隨著我國改革開放的深入以及社會主義市場經濟的建立,體育彩票業經過近十幾年的發展,從無到有,至今已經取得了令人矚目的成績,并逐步發展成為我國體育經濟的支柱性產業。根據安徽省體彩中心數據,從2000年到2011年的11年間,安徽體彩的年銷量翻了近5番,增長了近30倍,銷售網點從最初的400個拓展到了目前的5600余個。如何對這些急劇增長的銷售網點進行科學有效地管理成為了體彩中心一個迫切需要解決的問題。
體育彩票在計算機系統中儲存著大量的數據,記錄著歷年的網點、分中心、銷售值等相當豐富的數據信息。通過使用數據倉庫技術,將大量的、分散的數據進行有效集成,使得信息更加容易存取并更具使用價值,并為制定有效的網點分布管理調整策略提供幫助。
1.1 數據倉庫
隨著數據日益劇增,人們不再只滿足于數據庫提供的查詢功能,提出了更深層次的問題:即能不能從大量的數據中提取出蘊藏于其中的知識來為決策提供服務。數據倉庫正是在這種情況下應運而生。
著名學者W.H.Inmon對數據倉庫所下的定義是:“數據倉庫是一個面向主題的、集成的、穩定的、隨時間變化的數據的集合,用于支持管理決策過程”。從所給的定義可以看出,數據倉庫是一個綜合的解決方案,主要用來幫助企業相關主管部門和業務人員做出更符合企業業務發展規律的決策[1]。
根據W.H.Inmon給出的定義,數據倉庫具有以下四個基本特征[2]:面向主題(Subject Oriented)性、數據的集成(Integrated)性、數據的時變(Time Variant)性和數據的非易失(Nonvolatile)性。
數據倉庫處理包括許多方面的內容,主要可分為數據準備和數據展現兩大部分:
(1)數據準備:
充分了解決策需求;
根據數據倉庫方法設計數據倉庫結構;
將業務系統數據向數據倉庫結構進行移動(包括復制、抽取、清洗…);
將數據倉庫數據向小規模數據集市的數據進行復制和分布。
(2)數據展現:
面向高層決策者的主管信息系統(EIS);
面向決策分析者的聯機分析系統(OLAP);
為各層決策者提供服務的即席查詢系統(Ad Hoc);
為報表提供服務的靈活報表系統(Reporting);
采用多種靈活的方式進行數據展現,比如采用客戶/服務器模式或瀏覽器模式等。
1.2 聯機分析處理
聯機分析處理 (OLAP) 的概念由關系數據庫之父E.F.Codd在1993年最早提出。OLAP委員會作了如下定義:OLAP是使分析人員、管理人員或執行人員能夠從多種角度對從原始數據中轉化出來的、能夠真正為用戶所理解的、并真實反映企業維特性的信息進行快速、一致、交互地存取,從而獲得對數據的更深入了解的一類軟件技術。
OLAP的目標是滿足決策支持或者滿足在多維環境下特定的查詢和報表需求,它的技術核心是“維”(dimension)這個概念[3]。因此,OLAP也可以說是多維數據分析工具的集合。
“維”是人們觀察客觀世界的某個角度,是一種高層次的類型劃分?!熬S”一般包含層次關系,而這種層次關系有時會極其復雜。通過把一個實體中多項重要的屬性定義成多個維,使用戶能將定義好的這些不同的維上的數據進行比較[4]。
“維”的幾個基本概念:
(1)維:“維”是人們觀察問題的特定角度,例如:時間維、產品維、地理維。
(2)維層次:人們在觀察數據的某個特定角度(即某個維)可以根據細節程度分為多個描述方面,這多個描述方面就稱為維的層次。
(3)維成員:在維上的一個取值就是該維的一個維成員。如果維已經分成了多層次的,則維成員就是不同維層次取值的組合。
(4)多維數據集:數據立方體或超立方多維數據集是指用三維或更多的維數來描述一個對象,多維數據集既是決策支持的支柱,也是OLAP的核心。另外,多維數據集可用一個多維數組來表示。
1.3 數據倉庫與OLAP的關系
在數據倉庫中,數據倉庫和OLAP密不可分,但是兩者概念不同。
數據倉庫是包含企業歷史數據的大規模數據庫,而這些歷史數據是用來提供企業的經營分析和決策支持的。
OLAP則以多維分析為基礎,重點在管理和決策過程中對數據進行多層面和多角度的分析處理。由于需要從不同角度分析數據來進行決策,因此以多維數據為核心的多維數據分析自然就成為了決策的主要內容。OLAP雖然先于數據倉庫提出,由于傳統的關系型數據庫很難提供按多維方式組織數據的環境,而數據倉庫的組織形式則為0LAP提供了理想的數據環境,所以數據倉庫一出現,兩者便迅速結合在一起。
圖1展現了數據倉庫與 OLAP 的關系,從圖中可以看出,OLAP 技術利用數據倉庫中的數據進行聯機分析,再將復雜的分析查詢結果迅速返回給用戶。OLAP利用多維數據集和數據聚集技術對數據倉庫中的數據分別進行組織和匯總,再采用聯機分析和可視化工具對這些數據進行分析評價,有效地提高了用戶復雜查詢的要求,因此數據倉庫的結構直接影響了立方體的設計和構造,也影響了 OLAP 的工作效率。

圖1 數據倉庫與OLAP的關系
數據倉庫的設計與實現是一個復雜的過程,它包括以下一些主要工作和活動[5]:
定義數據倉庫的體系結構,進行容量規劃,選擇合適的存儲服務器、數據庫、OLAP服務器以及其他工具;
將服務器、存儲和客戶端工具進行集成;
設計數據倉庫的模型和視圖;
定義物理的數據倉庫結構、數據的存放、分區以及訪問方法;
連接數據源,可使用數據網關、ODBC驅動程序或其他封裝器;
設計腳本程序,用來實現數據的抽取、清洗、轉換、裝載和刷新;
將數據庫的模式、視圖定義、腳本以及其他的元數據裝入數據倉庫;
設計并實現終端用戶的應用程序;
將數據倉庫和基于它的應用投入使用。
2.1 數據倉庫概念模型設計
2.1.1 主題確定
對于彩票業的決策者和管理者來說,最關心的是體育彩票的市場銷售情況。具體到對各體彩銷售網點的管理,希望通過了解和掌握各網點的銷售情況,各網點的銷售排名,各網點銷售數據與往年的對比等,為安徽省體彩中心制定有效的網點分布管理調整策略提供幫助。
因此,數據倉庫確定主題為體育彩票銷售信息,相應的數據源包括:體彩網點銷售數據、網點信息數據、彩種信息數據、福彩銷售數據。
2.1.2 維度確定
重點考慮銷售、網點及彩種的密切關系,所以數據倉庫的維度包括時間、地區、彩種三個維度:
(1)時間維度:時間是統計信息中最常用的元素,包括年、季度、月、周、日等統計信息;
(2)地區維度:包括省、市、縣等,記錄各個地區的名稱、代碼等基本信息;
(3)彩種維度:包括體育彩票的彩種和彩種類別等屬性。
2.1.3 粒度確定
粒度是指數據倉庫的數據單位中保存數據的細化或綜合程度的級別[6][7]。在數據倉庫中確定粒度時,需要考慮以下幾個因素:要接受的分析類型,可接受的數據最低粒度,能夠存儲的數據量等[8]。實際上,數據粒度的確定是業務分析、軟件、硬件和數據倉庫使用方法的一個折中,并不是細節程度越高越好,過低的粒度會造成很大的數據規模,在分析過程中給系統增加過大的負擔而降低系統效率。因此,需要很好地權衡數據粒度級別。
體育彩票屬于數據密集型行業,每天都會產生大量的數據,由于本系統的產品用戶為安徽省中心工作管理人員、市中心管理工作人員、彩票中心直屬管理單位、網點業主和彩民,需要非常細致真實的數據,因此,本項目主題的粒度級別是要是做到低粒度的,如下所示:
(1)時間粒度線:年→季度→月→周→彩期→日;
(2)地區粒度線:安徽省→市→縣→單一網點;
(3)彩種粒度線:彩票類別→具體彩種。
2.1.4 度量值確定
度量值是管理者和決策者最關心的數據,也是用戶瀏覽時重點查看的數據。選取的度量值通常取決于最終用戶所請示的信息類型。本項目選擇體育彩票銷售量為度量值。
2.2 數據倉庫邏輯模型設計
邏輯模型是讓數據信息從現實世界轉化到物理存儲的中間媒介。最常見的數據倉庫模型有星型模型和雪花模型[9]。
星型結構是以事實表為核心,其他的維度表圍繞這個核心表呈星型分布。
雪花模型是對星型模型的擴展,增加了用戶必須處理的表數量,增加了某些查詢的復雜性,但這種方式可以使系統進一步專業化和實用化,通過最大限度地減少數據存儲量以及聯合較小的維表來改善查詢性能。
本系統采用雪花模型,如圖2所示。

圖2 體彩銷售主題的雪花模型
2.3 數據倉庫物理模型設計
物理模型表示數據在硬件環境中的存儲細節。由于數據倉庫中,事實表的數據量非常巨大,占用存儲空間較多,需要采用分區來將事實表分割成有利于管理的更小的單元。根據年份進行分區,將每一年的數據存儲成單獨的一個文件。另外,通過手動添加索引,進行查詢優化。
2.4 數據倉庫的ETL過程
ETL即數據抽取、轉換和加載,是數據倉庫實現過程中,將數據由數據源系統向數據倉庫建立加載的主要方法。
2.4.1 數據抽取
數據抽取即從數據源系統中抽取數據倉庫系統所需的數據。數據抽取既要能夠充分滿足決策系統的需要,又要保證不影響業務系統的性能,所以在數據抽取時要制定相應的策略。一般來說,數據抽取策略大體分可分同步實時抽取和異步數據抽取兩大類。
在本系統中,源數據包括體彩網點銷售數據、網點信息數據、彩種信息數據、福彩銷售數據。這些源數據的特點是數據量特別大,屬于流水型增長的數據,因此,選用異步數據抽取的方法。對于體彩網點銷售數據,抽取時機選擇在各彩種的彩期銷售截止后15分鐘;抽取周期為各彩種的彩期。對于網點信息數據和彩種信息數據,抽取時機選擇在凌晨12點,避免業務系統的使用高峰期;抽取周期為天。對于福彩銷售數據,與體彩銷售系統是獨立的,由用戶根據需要手工執行福彩數據抓取將數據導入至數據倉庫。
2.4.2 數據轉換
數據轉換是對抽取的源數據根據數據倉庫模型的要求,進行數據的轉換、清洗、拆分和匯總等處理,保證來自不同系統、不同格式的數據具有一致性和完整性,再根據要求裝入數據倉庫。數據轉換工作一般會在以下幾個環節中進行具體實現:
在抽取過程中進行數據處理;
以文件方式處理,使用異步數據加載;
在數據加載過程中進行數據處理;
進入數據倉庫以后再進行數據處理。
在本系統中,源數據類別屬于流水型增長數據,數據抽取選用的是異步數據抽取,而且轉換效率和安全性要求比較高,選用以文件方式處理的數據轉換方法。
2.4.3 數據加載
數據加載是將轉換后的數據加載到數據倉庫中,可以采用數據加載工具,也可以采用API編程進行數據加載。數據加載周期要綜合考慮經營分析需求和系統加載的代價,對不同業務系統的數據采用不同的加載周期,但必須保證同一時間業務數據的一致性和完整性。數據的追加策略根據數據抽取策略和業務規則確定,一般分為直接追加、全部覆蓋和更新追加三種類型。根據追加類型的適用范圍,采用直接追加的方式。
具體的處理流程如圖3所示。
OLAP的基本多維分析操作包括鉆取(roll up和drill down)、切片(slice)和切塊(dice)以及旋轉(pivot)等[10]。
鉆取是通過改變維的層次來變換分析的粒度。它包括向上鉆?。╮oll up)和向下鉆?。╠rill down)。向上鉆取是在某一維上將低層次的細節數據概括到高層次的匯總數據,或者減少維數;而向下鉆取則正好相反,它將匯總數據深入到更細節的數據進行觀察,或者增加新維。
切片和切塊是在一部分維上選定值后,關心度量數據在剩余維上的分布。如果剩余的維只有兩個,則是切片;如果有三個或以上剩余的維,則是切塊。
旋轉是變換維的方向,即將表格中維的位置重新安排(例如行列互換)。
通過OLAP的基本操作進行切片、切塊、鉆取等進行數據分析,下面給出部分系統展示結果,如圖4所示。

圖3 ELT處理流程

圖4 部分系統OLAP展示圖
本文通過開發網點數據倉庫,將體育彩票的各項業務數據進行有效組織管理,將原來的分級管理模式轉變成現在的統一管理的增強型模式,極大提高了工作效率和質量,并為制定有效的網點分布管理調整策略提供了科學幫助。本項目已經實施成功,在實際應用中效果良好。
[1]王麗珍,周麗華,陳紅梅,肖清. 數據倉庫與數據挖掘原理及應用. 科學出版社. 2009.9
[2]W.H.Inmon著,王志海等譯. 數據倉庫. 機械工業出版社,2000
[3]楊雪南. 數據倉庫和知識發現技術. 中國計算機報, 1999.8,總847期
[4]宋曉宇,王永金等. 數據集成與應用集成.水利水電出版社,2008.7
[5]段云峰,吳唯寧,李劍威,韓潔. 數據倉庫及其在電信領域中的應用. 電子工業出版社,2003.10
[6]李靜. 數據倉庫中的數據粒度確定原則. 計算機與現代化, 2007,2
[7]夏秀峰,周大海,張雅茜等. 數據倉庫設計中低粒度數據的分割策略研究. 計算機工程,2006,32
[8]呂海燕,車曉偉. 數據倉庫中數據粒度的劃分. 計算機工程與設計,2009,30(9)
[9]Ralph Kimball. The Data Warehouse Lifecycle Toolkit: Expert Methods for Designing, Developing and Deploying Data Warehouse. Wiley Computer Publishing. 1998
[10]Micheline Kanber著,范明,孟小峰等譯. 數據挖掘概念與技術. 機械工業出版社, 2001
Applied Research Based on Software Configuration Management Patterns and Anti-patterns
Zhang Xi-zheng
With the rapid development of the sports lottery industry, lottery sales data and the sales outlets is increasing very fast. How to effectively manage the rapid growth of sales outlets has become an urgent problem to be solved. Accroding to the the demand analysis, this paper builds the data warehouse and OLAP on it by choosing the most representative sports lottery sales subject.
10.3969/j.issn.1001-8972.2012.08.072