熊擁軍 陳春穎
〔摘 要〕針對數(shù)字圖書館資源服務(wù)系統(tǒng)積累中的大量數(shù)字資源訪問數(shù)據(jù),研究并實現(xiàn)基于數(shù)據(jù)倉庫及OLAP技術(shù)的數(shù)字資源服務(wù)分析系統(tǒng)。首先建立了與資源服務(wù)系統(tǒng)分離的數(shù)據(jù)倉庫,并對數(shù)據(jù)倉庫進行多維建模;然后對多維數(shù)據(jù)模型進行切片、切塊、旋轉(zhuǎn)、上鉆和下鉆等多維操作,從多角度對數(shù)字資源訪問數(shù)據(jù)分析;最后采用前端開發(fā)工具開發(fā)了可視化的多維分析和數(shù)據(jù)展示平臺。實踐表明,基于數(shù)據(jù)倉庫的數(shù)字資源服務(wù)分析可以圖書館管理層提供有效的決策支持。
〔關(guān)鍵詞〕數(shù)字資源服務(wù);數(shù)據(jù)倉庫;模型設(shè)計;聯(lián)機分析處理;多維數(shù)據(jù)模型
〔中圖分類號〕TP311.13 〔文獻標(biāo)識碼〕A 〔文章編號〕1008-0821(2009)11-0153-05
Digital Resources Service Analysis System Based on Data Warehouse and OLAPXiong Yongjun Chen Chunying
(Library,Central South University,Changsha 410083,China)
〔Abstract〕Based on the large amount history data accumulated in the digital resources service system,the digital resources service analysis system based on data warehouse and OLAP technology was studied and implemented.First,the independent data warehouse of the digital resources service was established and the multi-dimensional model was set up to make multi-analysis.And then the multi-analysis analysed such as slice,dice,rotate,roll-up,and drill-down are made in order to analyze the data from multi-dimension.On this basis,the front-end development tool was used to develop the display platform for the data,which could be used for integration of visualization analysis.The experiments showed that the digital resources service analysis system could help the administrators of library to make the efficient decision supports.
〔Keywords〕digital resources service;data warehouse(DW);model design;OLAP;multi-dimensional datasets
隨著信息技術(shù)的發(fā)展和信息資源的快速增長,數(shù)字圖書館信息資源服務(wù)模式由以“資源”為中心轉(zhuǎn)變?yōu)槌梢浴坝脩簟睘橹行牡膫€性化知識服務(wù)模型[1]。國內(nèi)許多圖書館建立了自己的個性化數(shù)字資源服務(wù)平臺MyLibrary。系統(tǒng)積累了大量的讀者對數(shù)字資源的訪問數(shù)據(jù)。但目前的數(shù)字資源個性化信息服務(wù)系統(tǒng)注重的是信息的檢索、定制和推送等個性化服務(wù)功能,不能對資源訪問數(shù)據(jù)進行深層次的分析與挖掘,不能很好為較高層次的管理者和決策者提供決策支持。
從實際需求來說,圖書館管理者和決策者急需對數(shù)字資源的訪問歷史數(shù)據(jù)進行智能分析,了解網(wǎng)上讀者對數(shù)字資源訪問情況,從中發(fā)現(xiàn)讀者興趣和資源的關(guān)聯(lián),為數(shù)字資源的采訪和讀者個性化服務(wù)提供宏觀指導(dǎo)。而數(shù)據(jù)倉庫(data warehouse,DW)卻能提供較好的決策支持,數(shù)據(jù)倉庫面向OLAP(on-line analytical processing,在線分析處理),OLAP注重對數(shù)據(jù)更高層次的分析,通常是對海量的歷史數(shù)據(jù)進行查詢和分析[2]。
在這樣的背景下,本研究針對高校數(shù)字圖書館個性化服務(wù)系統(tǒng)所積累的資源訪問數(shù)據(jù),建立數(shù)據(jù)倉庫多維數(shù)據(jù)建模,運用OLAP技術(shù)對資源訪問歷史數(shù)據(jù)進行多維分析,并利用前端工具對資源訪問多維模型進行數(shù)據(jù)可視化展示。
1 數(shù)據(jù)倉庫和OLAP技術(shù)
W.H.Inmon把數(shù)據(jù)倉庫定義為:“一個面向主題、集成的、隨時間變化的、非易失性數(shù)據(jù)的集合,用于支持管理層的決策過程”[3]。數(shù)據(jù)倉庫技術(shù)是在傳統(tǒng)的數(shù)據(jù)庫技術(shù)基礎(chǔ)上發(fā)展而來的,其主要是為決策提供支持,為聯(lián)機事務(wù)分析、數(shù)據(jù)挖掘(datamining,DM)等深層次的數(shù)據(jù)分析提供平臺。目前,數(shù)據(jù)倉庫技術(shù)已成功用于電信、銀行和零售等行業(yè)中。
1.1 數(shù)據(jù)倉庫組成
建立數(shù)據(jù)倉庫的主要過程包括數(shù)據(jù)源的數(shù)據(jù)導(dǎo)入、數(shù)據(jù)存儲和管理和數(shù)據(jù)分析與展現(xiàn)[2-3]。為完成以上過程,數(shù)據(jù)倉庫系統(tǒng)采用如圖1所示的結(jié)構(gòu)。其中數(shù)據(jù)抽取、清理、裝載和刷新工具負責(zé)將所需數(shù)據(jù)從數(shù)據(jù)源導(dǎo)入數(shù)據(jù)倉庫DW中;DW服務(wù)器負責(zé)數(shù)據(jù)的存儲管理和數(shù)據(jù)存取,并給OLAP服務(wù)器和前臺工具提供存取接口;OLAP服務(wù)器則透明地為前臺工具和用戶提供多維數(shù)據(jù)視圖;前臺工具包括數(shù)據(jù)報表工具、多維數(shù)據(jù)分析工具、數(shù)據(jù)挖掘工具負責(zé)進行數(shù)據(jù)分析,并以直觀的方式向決策層展現(xiàn)數(shù)據(jù),提供決策支持[4]。
1.2 OLAP多維分析技術(shù)
OLAP支持決策人員從不同的角度、快速靈活地對數(shù)據(jù)倉庫中的數(shù)據(jù)進行復(fù)雜查詢和多維分析[5]。OLAP技術(shù)的基礎(chǔ)是多維數(shù)據(jù)模型。所謂多維模型就是數(shù)據(jù)分析時用戶的數(shù)據(jù)視圖,是面向分析的數(shù)據(jù)模型,用于為分析人員提供多種觀察的視角和面向分析的操作。
多維數(shù)據(jù)分析的核心數(shù)據(jù)為多維模型的度量值,這些數(shù)據(jù)一般是數(shù)量、成本和費用等,例如資源訪問中的訪問次數(shù)。觀察的視角即為多維模型的維度,例如從讀者類型或院系專業(yè)來分析訪問次數(shù),讀者就是資源訪問的一個維度。在同一個維度上,可以存在多個不同的細節(jié),這些細節(jié)就是維的層次,它是對維的進一步細化。例如資源訪問時間就有學(xué)年、學(xué)期、月和日這4個層次。多維數(shù)據(jù)模型包含了維度和度量值,也被稱為數(shù)據(jù)立方體或超立方體。OLAP 的多維分析,是指采用切片(slice)、切塊(dice)、旋轉(zhuǎn)(pivot)、上卷(roll-up)和鉆取(drill-down)等基本操作[5],從而使用戶達到從多個角度,多個細節(jié)分析數(shù)據(jù)的目的。
2 數(shù)字資源服務(wù)分析型數(shù)據(jù)倉庫設(shè)計
2.1 數(shù)字資源服務(wù)數(shù)據(jù)倉庫需求分析
數(shù)據(jù)倉庫的需求是多方面的,包括功能需求、數(shù)據(jù)需求、數(shù)據(jù)安全性和系統(tǒng)性能方面,以下重點分析數(shù)據(jù)需求和功能需求。
2.1.1 數(shù)據(jù)需求
要建立數(shù)字資源服務(wù)分析型數(shù)據(jù)倉庫,首先需要將與決策分析相關(guān)的數(shù)據(jù)從數(shù)字資源服務(wù)系統(tǒng)導(dǎo)出并導(dǎo)入到一個分離的數(shù)據(jù)倉庫中,供決策分析使用,所抽取的數(shù)據(jù)為面向主題的,所以數(shù)據(jù)的抽取也必須以分析主題為中心。數(shù)字資源服務(wù)數(shù)據(jù)倉庫主要是對資源訪問主題的分析,所涉及的信息包括讀者信息、資源信息和資源訪問信息。表1列出了資源訪問分析主題中讀者信息、資源信息和資源訪問信息所需的常用數(shù)據(jù)。
2.1.2 功能需求
數(shù)字資源服務(wù)訪問分析主題的功能需求可以從讀者、資源和資源訪問3個方面來分析。
(1)讀者分析。主要是對讀者群體進行分類后,從不同的視角展現(xiàn)數(shù)字圖書館為讀者提供服務(wù)情況。劃分的角度可以按照讀者本身的自然屬性,如讀者性別、年齡層次、年級、注冊時間、讀者類型(??粕⒈究粕?、研究生等)、院系、專業(yè)等。
(2)資源分析。主要是對數(shù)字圖書館各種信息資源進行分類后,從不同的視角來觀察資源的配置情況。分類的角度可以從學(xué)科專業(yè)(中圖法圖書分類)、文獻類型、語種、年代等進行劃分,來分析資源的配置、利用率及使用價值。根據(jù)對數(shù)字資源本身的屬性及使用情況,對其提供多種的統(tǒng)計功能,將統(tǒng)計情況以列表、餅圖、柱狀圖、曲線等形式表現(xiàn)出來,資源使用情況的分析數(shù)據(jù)對下一步資源購買提供準(zhǔn)確可靠的決策依據(jù)。
(3)訪問分析。在數(shù)字圖書館信息服務(wù)中,讀者對資源的使用情況以日志的形式保存下來,包括對資源的瀏覽信息(題錄、文摘、全文)以及下載信息等。利用這些信息來分析讀者對資源的訪問特征,按照不同的訪問時間段對不同讀者和資源類型訪問數(shù)量進行考察,可以得出哪些時段上訪問量比較大,而哪些時間段上訪問量較小,進而調(diào)整服務(wù)策略。也可以按照讀者和資源的屬性來分析不同類型的讀者對資源的訪問情況。
2.2 數(shù)字資源服務(wù)分析型數(shù)據(jù)倉庫設(shè)計
在實現(xiàn)數(shù)字資源服務(wù)系統(tǒng)數(shù)據(jù)倉庫時采用SQL Server 2000 Analysis Services工具[6],首先根據(jù)數(shù)據(jù)需求將現(xiàn)有數(shù)據(jù)抽取出來,進行簡單的預(yù)處理如數(shù)據(jù)缺失值、數(shù)據(jù)不一致、數(shù)據(jù)規(guī)范化處理等操作后進行數(shù)據(jù)集成,然后設(shè)計多維模型,再在Analysis Services平臺上建立多維模型。
2.2.1 多維模型的設(shè)計
數(shù)據(jù)倉庫的邏輯模型一般分為星型模型和雪花模型兩種。星型模型通常采用一個包含主題的事實表和多個維度表來支持各種決策查詢,但星型模型不能很好提供對屬性層次的支持。雪花模型是在星型模型的基礎(chǔ)上改進而來的,可以提供對屬性層次的支持。在雪花模型中,維度表除了具有星型模型中維度表的功能外,還與詳細類別表相連,詳細類別表可以在相關(guān)維度上進行詳細分析描述,以縮小事實表、提高查詢效率的目的。由于本文研究的資源服務(wù)信息所涉及的維度數(shù)據(jù)的層次較多,需要對維度數(shù)據(jù)規(guī)范化處理,所以采用雪花模型。
數(shù)字資源服務(wù)主題的數(shù)據(jù)倉庫多維數(shù)據(jù)模型如圖2所示,包括資源訪問事實表、讀者維度、資源維度、日期維度、時間維度和訪問方式維度。圖3為在Analysis Services平臺上實現(xiàn)后的示意圖。
對于讀者維度,需對讀者類型、讀者院系、讀者專業(yè)、讀者年齡層次和讀者年級等進行規(guī)范,隨著時間的變化,讀者年齡層次和年級也會發(fā)生變化,這就需要在數(shù)據(jù)倉庫中跟蹤這些變化,對維度做漸變處理,漸變方法參見文獻[6]。對于資源維度,需要規(guī)范的數(shù)據(jù)有出版時間、資源類型、資源來源、語種和資源分類,資源分類采用中圖分類法的類目級別來規(guī)范。對訪問時間維度,為1天中的訪問時間區(qū)段,時間間隔設(shè)為1小時,可以反映出1天24小時的訪問情況。訪問方式維度,數(shù)據(jù)規(guī)范為題錄瀏覽、文摘瀏覽、全文瀏覽和全文下載。
2.2.2 多維模型的存儲設(shè)計
在對多維模型進行處理時,需要解決是采用多維數(shù)據(jù)庫系統(tǒng)還是采用關(guān)系數(shù)據(jù)庫系統(tǒng)存儲數(shù)據(jù)的問題。如果采用多維數(shù)據(jù)庫系統(tǒng)存儲、顯示數(shù)據(jù),那么這種OLAP系統(tǒng)就是基于多維的OLAP,即MOLAP(multidimensional OLAP)。如果采用關(guān)系數(shù)據(jù)庫系統(tǒng)存儲、顯示數(shù)據(jù),那么這種OLAP系統(tǒng)就是基于關(guān)系的OLAP,即ROLAP(relational OLAP)[7]。
由于MOLAP結(jié)構(gòu)能迅速地響應(yīng)決策分析人員的分析請求并快速地將分析結(jié)果返回給用戶,而數(shù)據(jù)倉庫中數(shù)據(jù)量很大,所以為提高響應(yīng)速度,本文研究的多維數(shù)據(jù)模型均采用MOLAP存儲。
3 數(shù)字資源服務(wù)多維數(shù)據(jù)分析
建立數(shù)字資源服務(wù)數(shù)據(jù)倉庫的最終目的是為了對資源訪問數(shù)據(jù)進行多方面的智能分析,本系統(tǒng)中分別在Analysis Services、Microsoft Excel和Crystal Analysis這3個工具上對資源訪問數(shù)據(jù)倉庫中的多維數(shù)據(jù)進行多維分析和計算,限于篇幅,以下介紹部分功能。
3.1 使用多維數(shù)據(jù)集瀏覽器分析數(shù)據(jù)
使用Analysis Services的Cube Browser(多維數(shù)據(jù)集瀏覽器)可以對建立的多維數(shù)據(jù)集進行數(shù)據(jù)地行上卷、下鉆、切片和切塊等操作,從多個角度來對數(shù)據(jù)進行瀏覽與分析。數(shù)據(jù)分析的常用操作如圖4所示。
切片是指在多維數(shù)據(jù)集的某一維上選定一個維成員的動作,即在多維數(shù)組中選一維,并取其一維成員,所得的多維數(shù)組的子集稱為在該維上的一個切片。對于數(shù)字資源訪問多維數(shù)據(jù)集來說,只研究某一讀者類型為本科生的數(shù)據(jù)這就是一個切片。
切塊是指在多維數(shù)組的某一維上選取某一區(qū)間的維成員的動作。對于數(shù)字資源服務(wù)多維數(shù)據(jù)集,若研究某一訪問時間區(qū)間的數(shù)據(jù)就是一個切塊。
鉆取是改變維的層次,變換分析的粒度,它包括上卷和下鉆。上卷是在某一維上將低層次的細節(jié)數(shù)據(jù)概括到高層次的匯總數(shù)據(jù),或者減少維數(shù);而下鉆則相反,它從匯總數(shù)據(jù)深入到細節(jié)數(shù)據(jù)進行觀察或增加新維。要了解所有某年的資源訪問情況就可以在訪問時間的“學(xué)期”層次上采用上鉆操作,要了解資源的二級分類數(shù)據(jù)就可以采用下鉆操作,如需要更詳細的某月或某日的資源訪問數(shù)據(jù)還可以在時間維度上進一步下鉆。
3.2 使用Excel的數(shù)據(jù)透視表和數(shù)據(jù)透視圖分析數(shù)據(jù)
Microsoft Excel的數(shù)據(jù)透視表(或透視圖)服務(wù)作為客戶端工具,起著與OLAP服務(wù)器通訊和為客戶程序提供訪問OLAP數(shù)據(jù)接口的作用。首先在Excel中啟動數(shù)據(jù)透視表和數(shù)據(jù)透視圖服務(wù),然后將數(shù)據(jù)透視視圖的數(shù)據(jù)源設(shè)為OLAP中的具體多維模型,可以同時創(chuàng)建數(shù)據(jù)透視圖和透視表。
圖5給出了數(shù)字資源訪問多維數(shù)據(jù)模型的一個數(shù)據(jù)透視圖,為不同類型資源的訪問情況柱形圖,在透視圖上可以方便地進行各種多維操作,根據(jù)分析需求建立其它的圖表來進行資源訪問分析。
使用Microsoft Excel的數(shù)據(jù)透視表功能同樣可以對多維數(shù)據(jù)集進行旋轉(zhuǎn)、上鉆、下鉆、切片和切塊等多維分析,同時數(shù)據(jù)透視圖的功能,可以將表轉(zhuǎn)化成圖的形式更直觀地表示出來,Excel提供的圖種類很多,有折線圖、柱形圖、條形圖、餅圖等。
4 結(jié) 語
本文基于數(shù)據(jù)倉庫OLAP技術(shù)建立了數(shù)字資源服務(wù)分析系統(tǒng),將數(shù)字圖書館資源服務(wù)系統(tǒng)中將數(shù)字資源訪問數(shù)據(jù)導(dǎo)入到數(shù)據(jù)倉庫中,然后在數(shù)據(jù)倉庫中根據(jù)分析需求建立多維數(shù)據(jù)模型,在多維模型的基礎(chǔ)上對數(shù)據(jù)進行OLAP分析,為數(shù)字資源的采購和服務(wù)提供決策支持,也為進行更深層次的數(shù)據(jù)分析如數(shù)據(jù)挖掘建立了數(shù)據(jù)的基礎(chǔ)。
參考文獻
[1]郭海明,劉桂珍.數(shù)字圖書館信息服務(wù)模式發(fā)展研究[J].情報理論與實踐,2005,(3):251-254.
[2]王珊.數(shù)據(jù)倉庫技術(shù)與聯(lián)機分析處理[M].北京:科學(xué)出版社,1998:4-12.
[3]Jiawei Han,Micheline Kamber.數(shù)據(jù)挖掘:概念與技術(shù)[M].北京:機械工業(yè)出版社,2001:223-260.
[4]林宇.數(shù)據(jù)倉庫原理與實踐[M].北京:人民郵電出版社,2003:50-124.
[5]楊彬彬,鄭曉薇.基于數(shù)據(jù)倉庫技術(shù)的CRM決策支持系統(tǒng)模型設(shè)計[J].計算機工程與設(shè)計,2004,25(7):1182-1184.
[6]何玉潔,張俊超.數(shù)據(jù)倉庫與OLAP實踐教程[M].北京:清華大學(xué)出版社,2008:65-70.
[7]布瑞,等.SQL Server 2000數(shù)據(jù)倉庫與Analysis Services[M].北京:中國電力出版社,2003:9-226.