張雪
數(shù)據(jù)倉(cāng)庫(kù)是處理大量數(shù)據(jù)的一種有效模式。本文使用了SQL Server 2008數(shù)據(jù)倉(cāng)庫(kù)方案,并在模式表處理、連接池設(shè)置和大文本數(shù)據(jù)操作等方面做出了優(yōu)化說(shuō)明。
【關(guān)鍵詞】數(shù)據(jù)倉(cāng)庫(kù) OLAP SQL Server 2008
伴隨著高校信息化建設(shè)和數(shù)字化校園建設(shè)水平的不斷提高,各方面應(yīng)用已積累了大量的數(shù)據(jù)。如何將海量的數(shù)據(jù)轉(zhuǎn)化為有用的信息使之更好地為學(xué)校日常的教學(xué)、管理服務(wù);進(jìn)而成為學(xué)校正確決策、有效調(diào)控的信息支撐平臺(tái),這已成為目前各高校日益重視的課題。而利用數(shù)據(jù)倉(cāng)庫(kù)技術(shù)則能很好地解決這一問(wèn)題,建設(shè)數(shù)據(jù)倉(cāng)庫(kù)來(lái)面對(duì)海量的數(shù)據(jù)存儲(chǔ)問(wèn)題已成為學(xué)校信息化建設(shè)一種必然趨勢(shì)。
1 數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)組織
數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)組織結(jié)構(gòu)是分層次的。為了滿足不同分析的需要和提高決策的效率,我們先從存儲(chǔ)有數(shù)據(jù)事務(wù)數(shù)據(jù)的數(shù)據(jù)庫(kù)中獲取原始數(shù)據(jù),然后按照決策的要求進(jìn)行抽取、集成和存儲(chǔ),從而生成科研數(shù)據(jù)倉(cāng)庫(kù)。數(shù)據(jù)倉(cāng)庫(kù)是由當(dāng)前細(xì)節(jié)數(shù)據(jù)、歷史細(xì)節(jié)數(shù)據(jù)、輕度綜合數(shù)據(jù)、高度綜合數(shù)據(jù)等四個(gè)級(jí)別的數(shù)據(jù)構(gòu)成。
2 數(shù)據(jù)倉(cāng)庫(kù)解決方案
目前,世界上很多公司都提供了各種各樣的數(shù)據(jù)倉(cāng)庫(kù)方案,考慮到經(jīng)濟(jì)性、擴(kuò)展性、易用性等各方面因素,我們選擇了Microsoft公司的SQL Server 2008數(shù)據(jù)倉(cāng)庫(kù)方案。理由如下:
(1)更優(yōu)越的性價(jià)比。SQL Server 2008數(shù)據(jù)倉(cāng)庫(kù)在各種數(shù)據(jù)倉(cāng)庫(kù)方案中屬于低價(jià)位。而且由于數(shù)據(jù)在源數(shù)據(jù)庫(kù)與數(shù)據(jù)倉(cāng)庫(kù)之間傳送時(shí),是在同一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)內(nèi)進(jìn)行的,不存在數(shù)據(jù)的兼容性問(wèn)題。
(2)易于部署。SQL Server 2008的數(shù)據(jù)倉(cāng)庫(kù)技術(shù)能更好地滿足數(shù)據(jù)倉(cāng)庫(kù)的建立需求,同時(shí),SQL Server 2008的操作簡(jiǎn)單易行,有利于項(xiàng)目的迅速實(shí)施。
(3)更強(qiáng)有力的技術(shù)支持。SQL Server 2008是一套完全的數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)分析解決方案,使用戶可以快速創(chuàng)建下一代的可擴(kuò)展電子商務(wù)和數(shù)據(jù)解決方案。
2.1 OLAP的體系結(jié)構(gòu)
在Microsoft SQL Server 2008中集成了OLAP,并提供了擴(kuò)充的基于COM的OLAP接口。通過(guò)一系列的服務(wù)程序支持?jǐn)?shù)據(jù)倉(cāng)庫(kù)的應(yīng)用,如DTS提供數(shù)據(jù)輸入/輸出和自動(dòng)調(diào)度功能,在數(shù)據(jù)傳輸過(guò)程中完成數(shù)據(jù)的驗(yàn)證、清洗和轉(zhuǎn)換操作;SQL Server2008支持在線分析處理,PivotTable Services提供客戶端OLAP數(shù)據(jù)訪問(wèn)功能,通過(guò)這一服務(wù),開(kāi)發(fā)人員可以用VB或其他語(yǔ)言開(kāi)發(fā)用戶前端數(shù)據(jù)展現(xiàn)程序,另外SQL Serve:還支持第三方數(shù)據(jù)展現(xiàn)工具。它們一起構(gòu)成了一個(gè)基于微軟產(chǎn)品的完整數(shù)據(jù)倉(cāng)庫(kù)工具集。因此,在對(duì)高??蒲袛?shù)據(jù)倉(cāng)庫(kù)的開(kāi)發(fā)過(guò)程中,對(duì)于后臺(tái)的數(shù)據(jù)庫(kù)系統(tǒng)我們采用了微軟公司的SQL Server 2008。
2.2 微軟數(shù)據(jù)倉(cāng)庫(kù)框架
在SQL Server 2008中提出了一種全新的性能優(yōu)越的、經(jīng)濟(jì)的數(shù)據(jù)倉(cāng)庫(kù)解決方案——基于SQL Server 2008的數(shù)據(jù)倉(cāng)庫(kù)框架。該框架是一組實(shí)現(xiàn)SQL Server 2008數(shù)據(jù)倉(cāng)庫(kù)功能的組件和API。該框架集成了數(shù)據(jù)倉(cāng)庫(kù)的許多組件,如:業(yè)務(wù)系統(tǒng)數(shù)據(jù)源、設(shè)計(jì)/開(kāi)發(fā)工具、數(shù)據(jù)析取和轉(zhuǎn)換工具、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、數(shù)據(jù)存取和分析工具、系統(tǒng)管理工具。
數(shù)據(jù)倉(cāng)庫(kù)框架從底層向上設(shè)計(jì),為微軟產(chǎn)品用戶和第三方企業(yè)提供行業(yè)標(biāo)準(zhǔn)技術(shù),就能很容易擴(kuò)展的開(kāi)放式體系結(jié)構(gòu)。這就使組織機(jī)構(gòu)能選擇同類中最好的組件并仍能確保集成。
3 信息管理系統(tǒng)的實(shí)現(xiàn)與優(yōu)化
3.1 數(shù)據(jù)更新及轉(zhuǎn)存
高校每年數(shù)據(jù)更新多,數(shù)據(jù)量大,在數(shù)據(jù)獲取過(guò)程中,我們使用存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn)此操作。在數(shù)據(jù)析取過(guò)程中,我們?cè)O(shè)計(jì)了很多存儲(chǔ)過(guò)程。
3.2 系統(tǒng)內(nèi)部實(shí)現(xiàn)
在數(shù)據(jù)設(shè)計(jì)基礎(chǔ)上,我們使用ORACLE 10g自帶的工具BIEE實(shí)現(xiàn)客戶端展示。BIEE功能強(qiáng)大,單靠簡(jiǎn)單的設(shè)置與IDE開(kāi)發(fā)就可實(shí)現(xiàn)我們所需要的功能,為我們代碼的編寫(xiě)提供了方便。
3.2.1 模式表的處理
在進(jìn)行OLAP操作前,我們將數(shù)據(jù)庫(kù)中信息讀取到臨時(shí)多維數(shù)據(jù)庫(kù)中。其中起關(guān)鍵作用的就是Mondrian的模式表(scheme) Mondrian引擎根據(jù)模式表中關(guān)于關(guān)系數(shù)據(jù)庫(kù)中數(shù)據(jù)信息的描述來(lái)構(gòu)建多維數(shù)據(jù)庫(kù),并從關(guān)系數(shù)據(jù)庫(kù)中取得數(shù)據(jù)來(lái)填充多維數(shù)據(jù)庫(kù)。
3.2.2 連接池的設(shè)置
系統(tǒng)運(yùn)行在Weblogic服務(wù)器上,進(jìn)行數(shù)據(jù)庫(kù)連接池的設(shè)計(jì)。在設(shè)置時(shí)要對(duì)工廠類(Factory)"org.apache.commons.dbcp.BasicDataSourceFacroty”的最大連接數(shù)(max Active),最大等待時(shí)間(max Wait),最大空閑鏈接數(shù)(max Idle),數(shù)據(jù)庫(kù)名稱等進(jìn)行設(shè)定。
3.2.3 大文本數(shù)據(jù)操作實(shí)現(xiàn)
連接池設(shè)置完成后,OLAP等前臺(tái)展現(xiàn)工具通過(guò)查詢、插入、刪除、修改等操作與后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行交互。一般在數(shù)據(jù)庫(kù)中定義字段采用的是Varchar2類型,最多可以保存4000字節(jié)。但在本系統(tǒng)中有些字段超出了這個(gè)范圍,于是引進(jìn)了CLOB大對(duì)象類型,最多可以保存4G字節(jié),完全可以滿足需要。然而CLOB在數(shù)據(jù)庫(kù)中是以對(duì)象類型存儲(chǔ)的,與基本類型不同,所以應(yīng)特別處理。通常情況下,一般在CLOB列插入一個(gè)空對(duì)象 EMP_ CLOB,而后對(duì)其進(jìn)行插入和更新等操作。
4 結(jié)語(yǔ)
高校信息數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)與優(yōu)化是一個(gè)實(shí)踐性很強(qiáng)的工作,除了要掌握數(shù)據(jù)倉(cāng)庫(kù)的理論知識(shí)外,更重要的是在實(shí)際工作中慢慢摸索、積累,只有這樣才能充分發(fā)揮數(shù)據(jù)倉(cāng)庫(kù)的功效,為各種應(yīng)用提供更多的幫助和支持。
參考文獻(xiàn)
[1]施伯樂(lè),朱揚(yáng)勇編著.數(shù)據(jù)庫(kù)與智能數(shù)據(jù)分析—技術(shù)、實(shí)踐與應(yīng)用[M].上海:復(fù)旦大學(xué)出版社,2003.
[2](美)Eric Sperley著,陳武,袁國(guó)忠譯.企業(yè)數(shù)倉(cāng)庫(kù)規(guī)劃建立與實(shí)現(xiàn)[M].北京:人民郵電出版社,2008.
[3]周怡,周衛(wèi)平,李燕茹.用SQLServer2008構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的嘗試[J].中國(guó)醫(yī)藥衛(wèi)生信息,2002.
[4]WH.Inmon,Ken Budin,Christopher K.Buss,Ryan Sousa.Data Warehouse Performance.Publishing House of Electronics Industry,2008.
作者單位
同濟(jì)大學(xué) 上海市 200092endprint