王 睿 曾 斌
(1.海軍工程大學(xué)圖書館;2.海軍工程大學(xué)管理工程系,湖北 武漢 430033)
數(shù)據(jù)倉庫能夠?qū)ΜF(xiàn)有大量的分布、自制甚至異構(gòu)的數(shù)據(jù)信息進(jìn)行集成和存儲(chǔ),以便能夠?yàn)閱挝活I(lǐng)導(dǎo)提供輔助決策支持。其中前端工具幫助用戶高效地使用數(shù)據(jù)倉庫的各種功能,決策工具在后臺(tái)進(jìn)行組織化查詢、在線分析處理(OLAP)和數(shù)據(jù)挖掘[1]。組織化查詢通過面向主題的數(shù)據(jù)庫視圖和SQL查詢語句的優(yōu)化生成,能夠幫助用戶擺脫SQL語言和數(shù)據(jù)庫結(jié)構(gòu)的復(fù)雜操作。通過OLAP工具,用戶可以以適合的方式觀察分布的關(guān)聯(lián)數(shù)據(jù)。這些工具按照業(yè)務(wù)主題或維度組織數(shù)據(jù)以便用戶可以沿不同層次和維度漫游檢索數(shù)據(jù)[2]。對(duì)于組織化查詢或OLAP都難以處理的關(guān)聯(lián)數(shù)據(jù),則需要采用數(shù)據(jù)挖掘工具,它們可以在數(shù)據(jù)倉庫中提煉出隱藏潛在的有用模式。
由于預(yù)算有限,圖書館需要仔細(xì)選擇訂閱采辦的圖書資料。因此迫切需要一個(gè)能夠利用現(xiàn)有圖書管理系統(tǒng)的決策支持系統(tǒng)對(duì)采辦經(jīng)費(fèi)實(shí)施有效管理[3,4],同時(shí)能夠滿足學(xué)校教員、學(xué)生及其他用戶(讀者)的需要。
例如當(dāng)讀者尋找某本參考書或期刊論文時(shí),可能會(huì)出現(xiàn)以下兩種情況:
·圖書館具有該資料:如果它是一本期刊,則意味著圖書館訂購(gòu)了該期刊或與某在線服務(wù)商簽訂了合同,并在服務(wù)目錄上包含該期刊。
·圖書館沒有該資料:在這種情況下,有可能需要納入后期購(gòu)買計(jì)劃或從其他圖書館租借。如果同種圖書或期刊被多次租借,則租借費(fèi)用可能會(huì)超過購(gòu)買費(fèi)用。
從以上例子可以看出,對(duì)圖書資料的利用模式進(jìn)行分析識(shí)別,可以幫助圖書館領(lǐng)導(dǎo)決策何時(shí)或是否購(gòu)買某類圖書、訂購(gòu)某類期刊或進(jìn)行租借。除此之外,資料利用模式的識(shí)別還具有許多用途,例如它還可以揭示使用某種圖書資源比較頻繁的專業(yè)、系別或人員,從而有針對(duì)性地進(jìn)行推薦服務(wù)。而這種模式分析識(shí)別只有在建立數(shù)據(jù)倉庫及決策支持工具之上才能成功實(shí)現(xiàn),這也是筆者的研究目的。
數(shù)據(jù)倉庫是本系統(tǒng)的核心部件。圖1描述了數(shù)據(jù)倉庫的體系結(jié)構(gòu):從大學(xué)圖書館現(xiàn)有的圖書管理信息系統(tǒng)中采集數(shù)據(jù),與其他教務(wù)數(shù)據(jù)集成并存儲(chǔ)在數(shù)據(jù)倉庫中。
圖1 數(shù)據(jù)倉庫系統(tǒng)的體系結(jié)構(gòu)
為了實(shí)現(xiàn)數(shù)據(jù)集成,需要建立數(shù)據(jù)倉庫和信息源的概念模型,為此必須清楚地給出數(shù)據(jù)倉庫和信息源中各個(gè)對(duì)象的相關(guān)性描述[5]。在這里信息集成可以按兩種方式實(shí)現(xiàn):虛擬化和實(shí)體化。虛擬化集成僅實(shí)現(xiàn)用戶和信息源的接口,而實(shí)體化集成需要把集成信息存儲(chǔ)在數(shù)據(jù)倉庫中。筆者采用的是第二種,即采用數(shù)據(jù)倉庫來進(jìn)行信息集成。而數(shù)據(jù)倉庫中對(duì)不同信息源進(jìn)行集成又分為兩種方法:源驅(qū)動(dòng)集成和客戶驅(qū)動(dòng)集成[2]。源驅(qū)動(dòng)集成在有新的數(shù)據(jù)源需要納入集成范圍時(shí)觸發(fā);客戶驅(qū)動(dòng)集成則在客戶提交新的查詢要求時(shí)激活。
當(dāng)前原型系統(tǒng)中考慮的數(shù)據(jù)源包括以下幾種:
日常事務(wù)庫、教職員工數(shù)據(jù)庫、學(xué)生信息庫、館間交流數(shù)據(jù)庫、在線學(xué)術(shù)資料庫(包含摘要、引用及全文檢索等)、紙質(zhì)圖書文獻(xiàn)數(shù)據(jù)庫。
日常事務(wù)庫來源于圖書館操作管理信息系統(tǒng),主要記錄了圖書館文檔(圖書和期刊等所有信息)的采辦和借閱等日常事務(wù)。
大學(xué)與圖書文獻(xiàn)提供商都簽訂有采辦協(xié)議,這些信息都存儲(chǔ)于在線學(xué)術(shù)資料庫和紙質(zhì)圖書文獻(xiàn)數(shù)據(jù)庫中,他們提供各項(xiàng)在線服務(wù),例如各種期刊中論文的搜索和閱讀等。當(dāng)有讀者使用他們的文獻(xiàn)服務(wù)時(shí),提供商將在自己的數(shù)據(jù)庫中保存記錄及相應(yīng)的服務(wù)費(fèi)用。
在線學(xué)術(shù)資料庫記錄了期刊的月使用情況,但不包括使用資料庫的讀者姓名。讀者使用學(xué)術(shù)資料庫的方式有多種情況。如果僅查看資料庫中某論文的引用情況,這種使用方式標(biāo)記為“查看”;如果讀者選擇打印或下載整篇論文,則標(biāo)記為“交易”;如果僅是獲取論文摘要,這種使用稱之為“摘要”。對(duì)學(xué)術(shù)資料庫一般采用全年訂購(gòu)。
紙質(zhì)圖書文獻(xiàn)數(shù)據(jù)庫提供了一個(gè)可檢索的記錄庫,它可以通過傳真或郵件傳遞。它的使用方式只包括“交易”這一種,每個(gè)月發(fā)送一次使用報(bào)告,其中具體數(shù)據(jù)項(xiàng)包括期刊名稱、論文名稱、作者、讀者姓名以及費(fèi)用(包括版面費(fèi)或快遞費(fèi)),該資料庫總共包括大約1500種期刊。隨著在線文獻(xiàn)的逐步普及,紙質(zhì)文獻(xiàn)僅為大學(xué)內(nèi)有特定需求的老教授提供。
教職員工數(shù)據(jù)庫和學(xué)生信息庫的來源為大學(xué)教務(wù)管理信息系統(tǒng),它包含專業(yè)系、學(xué)生及大學(xué)內(nèi)部教員職工的基本信息。
從其他協(xié)作單位圖書館租借的圖書資料信息都存儲(chǔ)在館間交流數(shù)據(jù)庫中,它的記錄項(xiàng)包括借閱該文獻(xiàn)的讀者姓名、出借文獻(xiàn)的圖書館名稱、文獻(xiàn)名稱、租借和歸還日期及相關(guān)費(fèi)用。
以上數(shù)據(jù)源的記錄包含上百條屬性,系統(tǒng)采用了客戶驅(qū)動(dòng)的集成方式。通過與學(xué)校領(lǐng)導(dǎo)的交流,分析了他們對(duì)決策信息的需求,對(duì)系統(tǒng)必需的記錄屬性進(jìn)行了選擇。系統(tǒng)采用關(guān)系模型來描述數(shù)據(jù)源和數(shù)據(jù)倉庫。在當(dāng)前的原型系統(tǒng)設(shè)計(jì)中底層支撐數(shù)據(jù)源的屬性如下。
·日常事務(wù)庫(讀者姓名、SN號(hào)、期刊名稱、作者姓名、ISSN號(hào)、ISBN號(hào)、BIB號(hào)、交易號(hào)、借閱日期、出版社名稱、費(fèi)用)
·教職員工數(shù)據(jù)庫(教員姓名、SN號(hào)、所屬學(xué)院、所屬系、狀態(tài))
·學(xué)生信息庫(學(xué)生姓名、SN號(hào)、學(xué)院名稱、主修專業(yè)系、狀態(tài))
·館間交流數(shù)據(jù)庫(讀者姓名、期刊名稱、ISSN號(hào)、圖書館名稱、交易號(hào)、借閱日期、費(fèi)用)
·在線學(xué)術(shù)資料庫(期刊名稱、ISSN號(hào)、查看、交易、摘要)
·紙質(zhì)圖書文獻(xiàn)庫(期刊名稱、論文名稱、作者姓名、讀者姓名、交易號(hào)、費(fèi)用)
以上幾個(gè)簡(jiǎn)寫屬性的描述如下:
·SN號(hào):教員或?qū)W員的證件號(hào)
·ISSN:國(guó)際標(biāo)準(zhǔn)序列號(hào)
·ISBN:國(guó)際標(biāo)準(zhǔn)文獻(xiàn)號(hào)
·BIB號(hào):文獻(xiàn)識(shí)別碼
當(dāng)前原型系統(tǒng)設(shè)計(jì)中,考慮期刊文獻(xiàn)是當(dāng)前主要借閱來源,且為了減小數(shù)據(jù)倉庫的大小,暫時(shí)沒有包含圖書數(shù)據(jù)。
從廣義上講,數(shù)據(jù)倉庫是指一個(gè)單一的集成的數(shù)據(jù)庫,其中包含了大量的歷史數(shù)據(jù)。為了方便地訪問如此之多的數(shù)據(jù),現(xiàn)代數(shù)據(jù)倉庫沒有采用傳統(tǒng)的關(guān)系數(shù)據(jù)庫模型,而是通過多維描述方式來進(jìn)行信息處理[6]。不像“實(shí)體-關(guān)系”模型,多維模型是非對(duì)稱的。在多維模型中,數(shù)據(jù)被分為兩類:事實(shí)(facts)和維度(dimensions)。事實(shí)為正在分析的數(shù)據(jù),維度為事實(shí)的屬性。這種描述數(shù)據(jù)的方式也被稱為星形方案。事實(shí)一般以表格形式列在星形方案的中心,通過連接線的形式與周圍的維度表關(guān)聯(lián)。
在當(dāng)前的數(shù)據(jù)倉庫原型系統(tǒng)中,事實(shí)表的主要屬性為期刊的“使用”和“費(fèi)用”,期刊使用包括兩個(gè)屬性:交易和查看。交易屬性記錄紙質(zhì)期刊的借閱和在線期刊的下載。而期刊的在線閱讀被標(biāo)記為查看。因?yàn)楫?dāng)前在線文獻(xiàn)資料庫和紙質(zhì)文獻(xiàn)資料庫只包含期刊的月使用情況,所以事實(shí)表中的時(shí)間粒度為月。
圖2 數(shù)據(jù)倉庫的星形連接方案
圖2展示了數(shù)據(jù)倉庫的星形連接方案,其中包含了一個(gè)事實(shí)表和4個(gè)維度表。某些維度還具有層次關(guān)系,例如:文獻(xiàn)或文檔:出版社、名稱;讀者:所屬學(xué)院、所屬系;時(shí)間:年、月。
系統(tǒng)使用Oracle 9.0作為數(shù)據(jù)倉庫支撐平臺(tái),為了實(shí)現(xiàn)方便,把星形連接方案映射為關(guān)系數(shù)據(jù)庫方案。星形方案中的事實(shí)表和維度表在Oracle中作為關(guān)系創(chuàng)建,同時(shí)保留了多維模型中所有的一致性和參照性約束。下一節(jié)將繼續(xù)討論源數(shù)據(jù)庫到數(shù)據(jù)倉庫的裝載問題。
如何保證數(shù)據(jù)的一致性可以說是建立數(shù)據(jù)倉庫的最重要問題。當(dāng)數(shù)據(jù)從面向應(yīng)用的操作數(shù)據(jù)庫傳輸?shù)綌?shù)據(jù)倉庫時(shí),可能會(huì)出現(xiàn)大量的不一致和冗余,因此數(shù)據(jù)倉庫需要能夠保證數(shù)據(jù)的一致性協(xié)調(diào)性檢查和糾正。
圖3 數(shù)據(jù)倉庫屬性和元數(shù)據(jù)的關(guān)聯(lián)關(guān)系
在系統(tǒng)中利用了數(shù)據(jù)倉庫的清潔(clean)操作來檢查檢查噪音數(shù)據(jù)和不完整數(shù)據(jù)。圖3展示了數(shù)據(jù)倉庫和數(shù)據(jù)源屬性中存在的部分相關(guān)性[7]。在本系統(tǒng)中發(fā)現(xiàn)這些相關(guān)中存在不少需要解決的問題,如屬性值的缺失;數(shù)據(jù)域的不一致;記錄的重復(fù);標(biāo)識(shí)符的不唯一。
例如在從源記錄中采集數(shù)據(jù)時(shí),發(fā)現(xiàn)某些屬性,包括費(fèi)用、狀態(tài)和所屬學(xué)院存在缺失對(duì)應(yīng)數(shù)據(jù)值的現(xiàn)象。由于這些屬性對(duì)于決策查詢語句的產(chǎn)生非常關(guān)鍵,必須把缺失的數(shù)據(jù)值補(bǔ)充完善。通過仔細(xì)檢查發(fā)現(xiàn),由于歷史原因,大學(xué)院系先后出現(xiàn)了105個(gè)不同的名稱,這與教職員工數(shù)據(jù)庫和學(xué)生信息庫中發(fā)現(xiàn)的210個(gè)系名相沖突。為此我們根據(jù)這105個(gè)系名對(duì)現(xiàn)有數(shù)據(jù)庫中的210個(gè)系名進(jìn)行了分簇化處理,還專門開發(fā)了轉(zhuǎn)換工具自動(dòng)檢測(cè)并修改不正確的院系名稱。
同時(shí)在分析教職員工數(shù)據(jù)庫和學(xué)生信息庫中的7234條記錄時(shí),發(fā)現(xiàn)有105個(gè)人重復(fù)出現(xiàn),這是由于大學(xué)允許研究生可以跨專業(yè)系工作的原因造成,為此也開發(fā)了專門工具保證這些學(xué)生在數(shù)據(jù)倉庫中只能存在1條記錄。
當(dāng)前原型系統(tǒng)中設(shè)計(jì)的數(shù)據(jù)分析工具主要包括組織化查詢、OLAP和分簇處理。下面以使用頻率的查詢?yōu)槔M(jìn)行說明。
①查詢某一時(shí)間內(nèi)(1個(gè)月、1年中某幾個(gè)連續(xù)的月份或1年)某一期刊的使用情況或費(fèi)用。
例如:查詢2013年7、8、9三個(gè)月“通信學(xué)報(bào)”的使用和費(fèi)用情況。
②查詢某一時(shí)間內(nèi)(1個(gè)月、1年中某幾個(gè)連續(xù)的月份或1年)內(nèi)某一出版社出版的期刊使用或費(fèi)用情況。
③查詢某一時(shí)間內(nèi)(1個(gè)月、1年中某幾個(gè)連續(xù)的月份或1年)內(nèi)由某一文獻(xiàn)提供商提供,且由某一出版社出版的期刊雜志的使用和費(fèi)用情況。
④查詢某一時(shí)間內(nèi)(1個(gè)月、1年中某幾個(gè)連續(xù)的月份或1年)內(nèi)查閱數(shù)量最少(或最大)的所有期刊。
⑤根據(jù)期刊名(或其他屬性)對(duì)數(shù)據(jù)倉庫分簇。
分簇是指對(duì)異構(gòu)的密集數(shù)據(jù)進(jìn)行分組處理,從而形成一定數(shù)量的同構(gòu)數(shù)據(jù)簇。在分簇時(shí),每條記錄根據(jù)它們的相似性組合。在原型系統(tǒng)中,采用了基于模式識(shí)別的知識(shí)提煉方法來對(duì)數(shù)據(jù)庫中各個(gè)屬性值分簇。在這里模式是指屬性值的條件,例如:讀者姓名=“張三”,或期刊名稱=“計(jì)算機(jī)學(xué)報(bào)”。
規(guī)則是指兩個(gè)模式A和B的推導(dǎo)關(guān)系,表示為A?B,它表示如果A為真,則B成立。例如:讀者姓名=“張三”?期刊名稱=“計(jì)算機(jī)學(xué)報(bào)”。
該算法能夠按照規(guī)則,把具有相同結(jié)論的屬性值(規(guī)則前提)進(jìn)行有效分組。例如上例中,如果屬性“讀者姓名”被選中,曾經(jīng)以同一費(fèi)用借閱過相同期刊的所有讀者都能夠被分簇在一起。
筆者主要研究了基于數(shù)據(jù)倉庫的文獻(xiàn)資料采辦系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),該系統(tǒng)的主要目的是幫助圖書館管理人員更好地制定某些期刊雜志的訂購(gòu)采辦策略。
按照軟件工程的開發(fā)原則,一個(gè)復(fù)雜的數(shù)據(jù)倉庫系統(tǒng)是無法在一個(gè)周期內(nèi)完整實(shí)現(xiàn)的,它需要不斷地深化研究和完善。下一步工作主要集中在原型系統(tǒng)的可擴(kuò)展性研究方面。當(dāng)在數(shù)據(jù)倉庫中裝載新的源數(shù)據(jù)時(shí)還會(huì)面臨不少問題,例如需要設(shè)計(jì)開發(fā)某種評(píng)判準(zhǔn)則,當(dāng)加入新數(shù)據(jù)時(shí),可由它輔助提示何時(shí)用新數(shù)據(jù)替換現(xiàn)有數(shù)據(jù),何時(shí)需要把新老數(shù)據(jù)整合為一個(gè)數(shù)據(jù),新數(shù)據(jù)何時(shí)需要插入到現(xiàn)有數(shù)據(jù)后。為了解決該問題,可能需要設(shè)計(jì)開發(fā)新的查詢方法甚至輔助決策工具。
[1]Manu Bansal and Mandeep Kaur.Analysis and Comparison of Data Mining Tools Using Case Study of Library Management System[J].International Journal of Information and Electronics Engineering,2013(5):466-469.
[2]Anjana Gosain,Sushama Nagpal,Sangeeta Sabharwal.Validating dimension hierarchy metrics for the understandability of multidimensional models for data warehouse[J].IET Software,2013(2):93-103.
[3]彭駿,等.基于“二次選擇”算法的高校圖書館圖書采購(gòu)決策系統(tǒng)構(gòu)建[J].情報(bào)理論與實(shí)踐,2009(6):74-77.
[4]孫寶,等.基于借閱統(tǒng)計(jì)的采購(gòu)量建模研究[J].情報(bào)科學(xué),2011(1):102-107.
[5]曹靜.基于數(shù)據(jù)倉庫的高校圖書館決策支持系統(tǒng)研究[J].農(nóng)業(yè)圖書情報(bào)學(xué)刊,2010(6):52-55.
[6]朱東妹,潘杏仙,付勇.高校圖書館多維數(shù)據(jù)倉庫模型的設(shè)計(jì)與實(shí)現(xiàn)[J].情報(bào)探索,2010(2):99-101.
[7]張肖回.基于數(shù)據(jù)倉庫技術(shù)的圖書館業(yè)務(wù)數(shù)據(jù)可視化監(jiān)控平臺(tái)[J].現(xiàn)代情報(bào),2013(4):150-153.