摘 要
數據倉庫是處理大量數據的一種有效模式。面對高校信息化建設中日益增長海量數據,本文使用了SQL Server 2005數據倉庫方案,并在模式表處理、連接池設置和大文本數據操作等方面做出了優化說明。
【關鍵詞】數據倉庫 OLAP SQL Server 2005
1 緒論
伴隨著高校信息化建設和數字化校園建設水平的不斷提高,高校內部各方面應用已積累了大量的數據。如何將海量的數據轉化為有用的信息使之更好地為學校日常的教學、科研、管理以及決策服務;已成為目前各高校日益重視的課題。而利用數據倉庫技術則能很好地解決這一問題,建設數據倉庫來應對海量的數據存儲問題已成為學校信息化建設一種必然趨勢。
2 數據倉庫的數據組織
數據倉庫中的數據組織結構是分層的。為了滿足不同分析的需要和提高決策的效率,先從存儲有事務數據的數據庫中獲取原始數據,然后按照決策的要求進行抽取、集成和存儲,從而生成數據倉庫。數據倉庫是由當前細節數據、歷史細節數據、輕度綜合數據、高度綜合數據等四個級別的數據構成,其數據組織結構如圖1所示。
3 數據倉庫解決方案
3.1 OLAP的體系結構
SQL Server 2005中集成了OLAP(On-Line Analytical Processing,聯機分析處理),并提供了擴充的基于COM的OLAP接口。通過一系列的服務程序支持數據倉庫的應用,如DTS數據輸入/輸出和自動調度功能,在數據傳輸過程中完成數據的驗證、清洗和轉換操作,支持在線分析處理,PivotTable Services提供客戶端OLAP數據訪問功能,通過這一服務,開發人員可以用VB或其他語言開發用戶前端數據展現程序,另外還支持第三方數據展現工具。它們一起構成了一個基于微軟產品的完整數據倉庫工具集。
3.2 微軟數據倉庫框架
基于SQL Server 2005的數據倉庫框架是一組實現數據倉庫功能的組件和API。該框架集成了數據倉庫的許多組件,如業務系統數據源、設計/開發工具、數據析取和轉換工具、數據庫管理系統(DBMS)、數據存取和分析工具、系統管理工具等。
4 信息管理系統的實現與優化
4.1 模式表的處理
在進行OLAP操作前,我們將數據庫中信息讀取到臨時多維數據庫中。其中起關鍵作用的就是Mondrian的模式表(scheme)Mondrian引擎根據模式表中關于關系數據庫中數據信息的描述來構建多維數據庫,并從關系數據庫中取得數據來填充多維數據庫。以下是具體實現的代碼片段:
……
在這個模式表中,定義了一個立方體(cube)以及三個共享維度,即"time ", "local", "type",它們的含義分別是時間、地區、類型。
4.2 連接池的設置
在Weblogic服務器上進行數據庫連接池的設計。在設置時要對工廠類(Factory)"org.apache.commons.dbcp.BasicDataSourceFacroty”的最大連接數(max Active),最大等待時間(max Wait),最大空閑鏈接數(max Idle),數據庫名稱等進行設定。
在應用程序web.xml配置中加入:
< res-type>javax.sql.DataSource
4.3 大文本數據操作實現
由于本系統中有些字段超出了這個范圍,于是引進了CLOB大對象類型,在CLOB列插入一個空對象 EMP_ CLOB,而后對其進行插入和更新等操作。更新操作核心代碼片段如下:
//驅動裝載與數據交驗略
String sql_1="UPATE CA_BBYW SET SIGN_NSR=”+SIGN_ NSR+” WHERE JYLSH=”+JYLSH+""';
System.out.println(sql_l);//運行sql_1
客服熱線:400-656-5456??客服專線:010-56265043??電子郵箱:longyuankf@126.com
電信與信息服務業務經營許可證:京icp證060024號
Dragonsource.com Inc. All Rights Reserved
statement.executeUpdate(sql_1);
String sql_2=”SELECT SIGN_DATA, CERT_NSR From CA_BBYW where
JYLSH=”+JYLSH+”FOR UPDATE";
rs=statement. executeQuery(sql_2);//當大文本字段不為空時,進行更新操作
if (!SIGN_ DATA.equals("")||!CERT_NSR.equals("")){
if (rs.next()){
oracle.sql.CLOB clob2=(oracle.sql.CLOB) rs.getClob(1);/*向CLOB對象中寫入數據*/
clobl.putString(1, SIGN_ DATA);
oracle.sql.CLOB clob2=(oracle. sql.CLOB) rs.getClob(2);/*向CLOB對象中寫入數據*/
clob2.putString(2, SIGN_ DATA);
}}
conn.commit();
statement.close();
conn.close();
5 結語
高校信息數據倉庫的設計與優化是一個實踐性很強的工作,除了要掌握數據倉庫的理論知識外,更重要的是需要在實際工作中進行摸索、積累,這樣才能充分發揮數據倉庫的功效,為學校的各種應用提供更多幫助和支持。
參考文獻
[1]施伯樂,朱揚勇編著.數據庫與智能數據分析—技術、實踐與應用[M].上海:復旦大學出版社,2003(05).
[2](美)Eric Sperley著.陳武,袁國忠譯.企業數倉庫規劃建立與實現[M].北京:人民郵電出版社,2000(08).
[4]周怡,周衛平,李燕茹.用SQLServer 2000構建數據倉庫的嘗試[J].中國醫藥衛生信息,2002.
[5]WH.Inmon,Ken Budin,Christopher K.Buss,Ryan Sousa.Data Warehouse Performance.Publishing House of Electronics Industry,2000.
作者單位
阿壩師范高等??茖W校 四川省汶川縣 623002endprint
statement.executeUpdate(sql_1);
String sql_2=”SELECT SIGN_DATA, CERT_NSR From CA_BBYW where
JYLSH=”+JYLSH+”FOR UPDATE";
rs=statement. executeQuery(sql_2);//當大文本字段不為空時,進行更新操作
if (!SIGN_ DATA.equals("")||!CERT_NSR.equals("")){
if (rs.next()){
oracle.sql.CLOB clob2=(oracle.sql.CLOB) rs.getClob(1);/*向CLOB對象中寫入數據*/
clobl.putString(1, SIGN_ DATA);
oracle.sql.CLOB clob2=(oracle. sql.CLOB) rs.getClob(2);/*向CLOB對象中寫入數據*/
clob2.putString(2, SIGN_ DATA);
}}
conn.commit();
statement.close();
conn.close();
5 結語
高校信息數據倉庫的設計與優化是一個實踐性很強的工作,除了要掌握數據倉庫的理論知識外,更重要的是需要在實際工作中進行摸索、積累,這樣才能充分發揮數據倉庫的功效,為學校的各種應用提供更多幫助和支持。
參考文獻
[1]施伯樂,朱揚勇編著.數據庫與智能數據分析—技術、實踐與應用[M].上海:復旦大學出版社,2003(05).
[2](美)Eric Sperley著.陳武,袁國忠譯.企業數倉庫規劃建立與實現[M].北京:人民郵電出版社,2000(08).
[4]周怡,周衛平,李燕茹.用SQLServer 2000構建數據倉庫的嘗試[J].中國醫藥衛生信息,2002.
[5]WH.Inmon,Ken Budin,Christopher K.Buss,Ryan Sousa.Data Warehouse Performance.Publishing House of Electronics Industry,2000.
作者單位
阿壩師范高等??茖W校 四川省汶川縣 623002endprint
statement.executeUpdate(sql_1);
String sql_2=”SELECT SIGN_DATA, CERT_NSR From CA_BBYW where
JYLSH=”+JYLSH+”FOR UPDATE";
rs=statement. executeQuery(sql_2);//當大文本字段不為空時,進行更新操作
if (!SIGN_ DATA.equals("")||!CERT_NSR.equals("")){
if (rs.next()){
oracle.sql.CLOB clob2=(oracle.sql.CLOB) rs.getClob(1);/*向CLOB對象中寫入數據*/
clobl.putString(1, SIGN_ DATA);
oracle.sql.CLOB clob2=(oracle. sql.CLOB) rs.getClob(2);/*向CLOB對象中寫入數據*/
clob2.putString(2, SIGN_ DATA);
}}
conn.commit();
statement.close();
conn.close();
5 結語
高校信息數據倉庫的設計與優化是一個實踐性很強的工作,除了要掌握數據倉庫的理論知識外,更重要的是需要在實際工作中進行摸索、積累,這樣才能充分發揮數據倉庫的功效,為學校的各種應用提供更多幫助和支持。
參考文獻
[1]施伯樂,朱揚勇編著.數據庫與智能數據分析—技術、實踐與應用[M].上海:復旦大學出版社,2003(05).
[2](美)Eric Sperley著.陳武,袁國忠譯.企業數倉庫規劃建立與實現[M].北京:人民郵電出版社,2000(08).
[4]周怡,周衛平,李燕茹.用SQLServer 2000構建數據倉庫的嘗試[J].中國醫藥衛生信息,2002.
[5]WH.Inmon,Ken Budin,Christopher K.Buss,Ryan Sousa.Data Warehouse Performance.Publishing House of Electronics Industry,2000.
作者單位
阿壩師范高等專科學校 四川省汶川縣 623002endprint