李勇
(濰坊學院計算機工程學院 山東 濰坊 261041)
中小企業電子商務平臺之間的競爭非常激烈,要想勝過對手獲得長足的發展,需要在業務處理能力上獲得更大的優勢,但由于企業規模的限制,不可能進行大量的投入。那么如何在有限的資源下實現業務能力的最大化,成為中小企業關注的一個重要問題。
統計表明,用戶在使用這些電子商務網站的時候,80%左右的時間是在進行瀏覽和比對,產品的功能、價格、外觀、質量、產地、近期的銷售情況、其他用戶的反饋等信息都是用戶所關心的,他們往往會就其中的一項或幾項進行反復的考察和比對,而最終確定是否要進行交易。
傳統的中小企業電子商務平臺使用的都是面向事務處理的OLTP(On Line Transaction Processing)系統,它的優點是可以在很短的時間內處理顧客提交的數據,并給出處理結果。而用戶提交的數據大多是一些瀏覽的查詢參數,需要服務器處理相應并影響到后臺數據庫的只是很少的一部分,海量的查詢不僅使得服務器負荷加大,更嚴重影響了事務的處理速度。
在這種情況下,我們不妨換個思路,考慮使用數據倉庫下的OLAP系統搭建我們的后臺查詢服務,提高瀏覽速度,帶來全新的用戶體驗。
自從20世紀80年代Inmon提出“數據倉庫”的概念以來,這種技術得到了越來越廣泛的應用。數據倉庫,是一個面向主題的、集成的、穩定的、隨時間變化的數據集合。數據倉庫里的數據極少進行修改,主要用于查詢操作。
數據倉庫早期主要用來給大型企業的管理層提供數據報表,幫助其進行決策。但隨著數據管理技術的不斷發展,硬件水平的不斷提高,它不再是大型企業的“專利”。
現在數據倉庫技術從某種程度上說是一種設計理念,開始逐步為中小型企業所接受并加以應用,大型企業也開始有意識的在整體的數據倉庫下,為不同部門建立他們自己的數據集市,以提高基層的工作效率。
OLAP是由關系數據庫之父E.F.Codd提出的,他認為OLTP已經不能滿足終端用戶對數據庫查詢分析的需要,SQL對大型數據庫的簡單查詢也不能滿足終端用戶分析的要求,為此,他提出了多維數據庫和多維分析的概念,即OLAP。
OLAP(On Line Analytical Processing,聯機分析處理)是針對某個特定的主題進行聯機數據訪問、處理和分析,通過直觀的方式從多個維度、多種數據綜合程度將系統的運營情況展現給使用者。
2.2.1 快速性:系統可以在很短的時間內,對大多數用戶的分析要求做出反應,這是OLAP最顯著的特點。
2.2.2 可分析性:系統能夠對數據模型進行邏輯分析,并且生成相應的報表供用戶分析和保存。
2.2.3 共享性:多個用戶可以共享同一OLAP數據。
2.2.4 多維性:系統可以向用戶呈現一致的多維視圖,這是OLAP最本質的特征。
2.2.5 信息性:系統中給出的并不是散亂的數據,而是帶有指導意義的信息。
2.3.1 維:維是人們觀察客觀實際的角度,是一種高層次的類型劃分,常用的有時間維、地理維等。根據觀察的細致程度,某個維還可以有更細的劃分,比如時間維,可以劃分為:年、月、日、小時等,這種劃分稱為“維的層次”。
2.3.2 維成員:也稱為維的取值,它是數據項在某維中位置的描述。如果一個維是多層次的,那么該維的維成員是由各個不同維層次的取值組合而成。比如2011年10月20日是在有三個層次的時間維上的一個維成員。
2.3.3 變量:變量是從顯示系統中抽象出來的,用于描述數據的實際意義,比如人數、價格等。
2.3.4 多維數組:是維和變量的組合表示。一個多維數據組可以表示為:維1,維2,…,維n,變量。比如某月某地區某產品的銷售額就可以表示為:時間,地區,產品,銷售額。這是一個三維數組。
2.3.5 數據單元:是多維數組的取值,把多維數組的每個維都選中一個維成員,這些為成員的組合就唯一確定了一個變量的值。比如:2010年10月,青島,聯想筆記本,10萬臺。
OLAP的一般實現方案是采用三層客戶/服務器結構,如圖1所示,第一層是數據倉庫服務器,它實現與基層運營的數據庫系統的鏈接,完成企業級數據一致和數據共享的工作;第二層是OLAP服務器,它根據最終客戶的請求分解成OLAP分析的各種分析動作,并使用倉庫中的數據完成這些動作;第三層是前端的展現工具,把OLAP服務器得到的結果用直觀的方式展現給用戶。

圖1 OLAP三層客戶/服務器結構
不同企業的電子商務平臺面向的群體不同,功能也不相同,無法一概而論,這里我們采用最常見的產品在線銷售為例,簡單探討一下如何建立合適的多維數據集。
通過需求分析和對消費者的調查,我們可以確定多個消費者普遍關注較多的方面,來建立維度。確定的維度越多,就越能符合更多消費者的意愿,使系統更加人性化,提供更多的查詢方案;但是與之相對的,維度越多,系統的復雜程度就越高,過多的鏈接會導致系統的響應速度變慢,同時也會增加存儲所需要的空間,加大服務器的負荷。
本文由于篇幅所限,故此只探討一個相對簡單的例子,希望能起到拋磚引玉的作用。OLAP的商業智能開發工具多種多樣,微軟、Oracle、IBM都有自己的產品,也可以使用開源的Pentaho,節約成本。本文采用的是SQL Server 2008的Business Intelligence Development Studio為工具。
數據倉庫的建立也需要需求分析和建模,以及使用SSIS工具進行數據的ETL等過程,在此不再贅述,假定數據倉庫已經部署完畢,現進行OLAP的設計。
首先確定事實表。消費者最感興趣的應該是產品的相關信息,因此選取“產品”表作為事實表之一。再者,產品的銷售情況也是衡量產品的重要指標,比較而言,消費者更傾向于那些價格稍高但購買人數很多的產品,因此,把產品的銷售量匯總表也作為事實表之一。
然后確定維度。產品的價格通常是消費者最關心的問題;產品的功能也是選擇的重要指標;品牌效應還是不可忽視的,因此品牌也應該作為一個維度;產品的分類有助于消費者排除不必要的干擾,準確的定位到自己感興趣的產品,所以也可以作為一個維度;銷售量是與時間掛鉤的,OLAP中必須要有時間維度。
綜上所述,我們建立 “價格區間”、“類別”、“品牌”、“功能”、“時間”五個維度,用“產品”和“銷售量”為事實表,采用雪花模型結構,建立OLAP多維數據集。如圖2所示。

圖2 OLAP多維數據集
由此,用戶可以方便的從價格、類別、功能、品牌、銷量等五個方面進行產品的查詢和比較,獲得更加完善直觀的產品信息,得到更好的用戶體驗。
中小企業受成本的限制,加之數據量不會太大,可以把數據倉庫和OLAP服務器放在一臺服務器上,采用瘦客戶機的方式把數據展現給用戶,這樣網絡中傳輸的只是分析處理以后的結果,可以提高瀏覽速度,方便用戶的使用。
數據倉庫和OLAP一直以來都是企業決策層的必備工具,本文嘗試從一個全新的角度看待它們的應用,通過建立合理的維表和事實表,使它們同樣能為終端客戶提供必要的決策支持,不僅可以滿足終端客戶的不同查詢需求,更能給他們帶來一種全新的瀏覽體驗,有利于中小企業的電子商務平臺提高競爭力,增加潛在用戶,促進企業的發展。
[1]王麗珍,周麗華,陳紅梅,鄒力鹍.數據倉庫與數據挖掘原理及應用[M].北京:科學出版社,2008.
[2]陳京民.數據倉庫與數據挖掘技術[M].北京:電子工業出版社,2002.
[3]李慧,聞豪.基于數據倉庫的OLAP技術的研究[J].電腦知識與技術,2005,2:77-81.
[4]周攀,楊科華,周立民.一種P2P網絡環境下的OLAP查詢方案[J].計算機工程與應用,2011,47(8):108-111.