摘要:數據倉庫作為數據庫技術應用到特定領域中的一門新技術,在決策系統中起著重要作用。本文闡述了數據倉庫的應用背景、基本概念和特點,主要將數據倉庫與傳統數據庫進行對比,并指出傳統數據庫在創建數據倉庫中可充分利用。
關鍵詞:數據倉庫;傳統數據庫
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)20-30206-02
From Traditional Database to Data Warehouse
GAO Kang
(School of Health Technology of Jianghan University, Wuhan 430056, China)
Abstract: As a new technology derived from Database technology applied to a specific areas, Data warehouse plays an important role in the DSS. This paper describes the application background of the Data warehouse, the basic concepts and characteristics. And primary put Data warehouse compared with traditional Database, also pointed out that creating a Data warehouse can take full advantage of traditional Database.
Key words: Data warehouse; traditional Database
1 數據倉庫(Data Warehouse)概述
1.1 數據倉庫的應用背景
當今社會,正確及時的決策是任何機構生存和發展的重要環節。只有充分利用、發掘其現有數據才能實現更大的效益。日常的業務應用生成了大量的數據,將這些數據用于決策支持會帶來顯著的附加值效果。如果再加上有用的外來數據,則產生的效益進一步增強。許多機構在計算機系統中儲存有大量的數據,例如一個企業購買、銷售、生產過程中產生的數據及與客戶相關數據等。通常這些數據都儲存在許多不同的地方。數據倉庫將分散在機構內各種跨平臺的數據經過重新組合和加工,構成面向決策的數據集合,進而支持數據發掘、多為分析等技術和傳統查詢及報表功能的。企業和組織對這類應用的需求推動了數據倉庫技術的發展。
1.2 數據倉庫的概念及特點
不同的學者對數據倉庫有不同的定義,這里我們以數據倉庫之父Bill Inmon在1991年出版的《Building the Data Warehouse》一書中所提出的定義為準。數據倉庫(簡稱DW)是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用于支持管理決策(Decision Making Support)。
其特點即概念中所描述的四點:面向主題、集成、相對穩定和反映歷史變化。面向主題的數據組織方式,就是在較高層次上對分析對象的數據的一個完整、一致的描述,能完整、統一地刻畫各個分析對象所涉及的企業或組織的各項數據,以及數據之間的聯系;集成是指,數據倉庫中的數據是在對原有分散的數據庫數據抽取、清理的基礎上經過系統加工、匯總和整理得到的,必須消除源數據中的不一致性,以保證數據倉庫內的信息是一致的全局信息;相對穩定也可以認為是一般情況下不可更新的。數據倉庫的數據主要供企業或組織決策分析之用,所涉及的數據操作主要是數據查詢,一旦某個數據進入數據倉庫以后,一般情況下將被長期保留,也就是數據倉庫中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的加載、刷新;反映歷史變化是指,數據倉庫中的數據通常包含歷史信息,系統記錄了企業或組織從過去某一時點到目前的各個階段的信息,通過這些信息,可以對企業的發展歷程和未來趨勢做出定量分析和預測。
2 數據倉庫與傳統數據庫的比較
2.1 差異概述
數據倉庫既然是支持決策的,那么現今數據庫技術已經已經日趨成熟,為什么不直接以傳統數據庫為基礎來建立決策支持系統(DSS)呢?回答這個問題之前先了解兩個概念,操作型處理和分析型處理。操作型處理(也叫事務處理),是指對數據庫聯機的日常操作,通常是對一個或一組記錄的查詢和修改。分析型處理則用于管理人員的決策分析。兩者之間存在著巨大差異。
傳統數據庫,主要用于事務處理。最初的DSS也的確是直接建立在這種事務處理環境上的。事務處理是事務驅動的、面向應用的。它的根本任務就是及時地、安全地將當前事務所產生的記錄保存下來。分析處理應用則完全不同。當以事務處理為主的聯機事務處理應用(OLTP)與分析處理為主的DSS應用共存于同一個數據庫系統中時,這兩類處理發生了明顯的沖突。直接使用事務處理環境來支持DSS是不合適的。表1給出了傳統事務處理數據庫與數據倉庫之間的異同。
2.2 數據模型方面的差異
數據模型是數據倉庫設計的精髓。關系數據庫的關系數據模型已經被大家所熟知,在此不再詳細說明。這種關系模型難以表達數據倉庫的數據結構和語義;數據倉庫需要簡明的、面向主題以及便于聯機數據分析的數據模式。
數據倉庫一般是基于多維數據模型構建。該模型將數據看成數據立方,數據立方既描述一個語義結構由描述底層結構的實例化,由維和事實構成。維是人們觀察主題的特定角度,每一個維分別用一個表來描述,稱為維表,它是對維的詳細描述。事實表示所關注的主題,也由表來描述,稱為事實表,主要特點是包含數值數據,這些數值數據可以進行匯總以提供有關操作歷史的信息。每個事實表包括一個由多個字段組成的索引,該索引由相關維表的主鍵組成,維表的主鍵也可稱為維標識符。事實表一般不包含描述性的信息,維表包含描述事實表中事實記錄的信息。
數據倉庫的多維數據模型分為3種:星型模式、雪花模式和事實星座模式。其中星型模式最為常見,主要構成為:一個含大量而無冗余數據的事實表;多個相對含有較少數據的維表。每個維度自主組成一個維表,每個維表有一個維標識符與中心事實表發生聯系,用圖形描述呈星型。
如圖1所示是一個銷售數據倉庫的星型模式。其中,有一個銷售事實表,4個維表。事實表的索引是相應維表的主鍵,是事實表的外鍵。通過這種引用關系構成了多維聯系。在每張維表中,除包含每個維的主鍵外,還需要描述該維的一些其他屬性字段。
圖1
雪花模式是數據倉庫的又一種數據模式,是星型的延伸形式。因為維表是二維關系的一個特例,在設計維表時,可用關系數據庫的規范化理論進行優化,以減少數據冗余,消除插入、刪除異常,同時達到易維護和節約存儲空間的目的。這樣就有可能把某個維表的數據分解到多個不同的表中,而使模式表現為類似于雪花的形狀。如圖2即是在圖1基礎上演變而來的雪花模型。
由于雪花模式的某個維的數據分布在其他表中,查詢時需要多表連接,給系統帶來時間上的開銷而降低性能。在這兩種結構之間的選擇取決于數據的規模和性質,以及在線分析處理的工作負荷。通常,星型模式需要更多的存儲容量,但是處理起來更快;雪花模式更慢,但是占用較少的存儲空間。
事實星座模式是指存在多個事實表,而這些事實表共享某些維表,也稱星系模式,因并不常用在此不進行詳述。
3 生成數據倉庫過程可充分利用傳統數據庫
以上已經給出了數據倉庫的概念和與傳統數據庫的主要區別,但并不是說數據倉庫和傳統數據庫是完全割裂的。數據倉庫、OLAP和數據挖掘(DM)一體才能夠實現一個可行的DSS,數據倉庫用于數據的存儲和組織,OLAP集中于數據的分析,DM則致力于知識的自動發現。顯然數據倉庫在本質上和傳統數據庫是一樣的都是用來存儲數據的。
數據倉庫的作用是存儲從工作數據中節選的數據,并進行合并、聚集、變換等操作,通過一些為了分析和決策而設計的工具(如OLAP),使其對用戶有用。這些數據可以是從數據庫和文件中節選的,還可以是圖像、錄音、照片和其他數據。傳統數據庫中數據多以細節為主,可以作為數據倉庫中粒度較小那一部分數據的來源。從數據倉庫數據模型來看,也是以傳統數據庫表為基礎生成的,傳統數據庫表通過規范化來消除表修改異常,在數據倉庫中同樣采用此方法來規范化維表,比如星型模型向雪花模型的轉變。只是在表結構方面有所不同。我們在生成數據倉庫時,應本著面向主題的原則,充分利用傳統數據庫數據,對有用數據進行抽取,將分散數據進行綜合。完全可以做到對傳統數據庫數據的充分利用。
4 結束語
長期以來隨著數據庫技術的發展,積累了大量的數據,并且規模還在迅速的增加和擴大,現階段急需采用新的數據庫技術從日益龐大的數據庫中提取出有用信息。數據倉庫的出現和發展,就是計算機和數據庫技術應用到一定階段的必然產物。現在數據倉庫技術研究仍處于起步階段,其復雜性還需要大家進行深入研究。
參考文獻:
[1] 薩師煊,王珊. 數據庫系統概論(第3版)[M]. 高等教育出版社,2000.
[2] 王林. 數據庫系統原理與應用技術基礎[M]. 北京希望電子出版社,2003.
[3] 王珊,等. 二十一世紀數據庫系統的未來研究方向[M]. 計算機科學,1996.
[4] David M.Kroenke 著. 施伯樂, 等譯. 數據庫處理——基礎、設計與實現(第8版)[M]. 電子工業出版社,2001.