何志明 李顯峰 苗水清
摘 要:數據倉庫是聯機數據分析及數據挖掘的基礎,是一個熱門研究領域。本文主要紹了數據倉庫的產生、定義和主要特點。并在本文結尾部分簡單闡述了數據倉庫的發展趨勢。
關鍵詞:數據倉庫;數據分析;數據挖掘
DOI:10.16640/j.cnki.37-1222/t.2019.21.110
1 從數據庫到數據倉庫
在1961年,世界上產生了第一個數據庫管理系統。隨后,數據庫開始不停地往前發展。傳統的數據庫技術主要是用單一的數據進行批處理、聯機事務處理(即我們常用說的OLTP)、決策分析等各種數據處理工作。傳統數據庫系統的主要工作是企業的日常事務處理,例如查詢、增加、刪除、日志等。所以它難以滿足高層用戶對數據的統計分析需求,難以實現數據處理中的多樣化要求。因此,傳統數據庫就逐步分離成了操作型數據庫和分析型數據庫兩大類。操作型數據庫也就是OLTP一般用于業務支撐:例如一個公司由于業務需要,會建立及使用一、兩個甚至多個數據庫,這些數據庫的主要功能不一樣,它們可能分別保存著企業的日常數據:比如銷售記錄、商品預訂情況、員工基本情況分析等;它們相互獨立,偶有聯系,不利于數據分析。而分析型數據庫的側重點則完全不一樣,它主要進行歷史數據分析;分析型數據庫一般會將企業的日常操作數據單獨存儲,然后有目的地選擇歷史數據對針對具體主題進行分析。因為這兩類數據庫主導功能的不同,就產生了很多細節上的差異。其主要差異如下表所示。
2 數據倉庫概念
近年來,隨著數據庫技術的廣泛應用和迅猛發展,決策者需要對數據庫中的數據進行深層次的加工處理,然后形成一個綜合的,全面的、面向主題的環境,主要為決策支持提供服務,從而催生了數據倉庫技術的誕生。
數據倉庫是:英文名稱為Data Warehouse(DW或DWH)。它是一個集成的、面向主題的、穩定的、隨時間變化的數據的集合,以用于支持管理決策過程。
僅看數據倉庫的概念,還是比較晦澀難理解的。但我們結合應用實例,那么就比較好理解了,因為大多技術都是為實際應用服務的。我們就以超市的事務處理為例來看看數據倉庫與數據庫有什么不同。事務系統的數據平臺主要是數據庫,主要記錄每位客戶在超市的每筆交易。這里,我們可以將超市的數據庫系統比作記賬系統。那么數據倉庫是用來分析超市的交易數據的,它從超市的事務操作數據庫中獲取各種交易數據,然后進行匯總、加工、分析,并給超市管理層或是決策者提供決策依據。例如,統計分析超市一個月有多少交易量,什么時間交易量比較大,什么商品不但交易量大而且利潤高。什么商品雖然交易量少,但利潤高等等。當交易量大、利潤高,那么該超市就應該考慮增加營業面積了。
很明顯,超市的交易量比較大,而且涉及商品、顧客都比較廣,如果一個顧客購買一件商品需要花費幾分鐘的時間來交易,那么顧客是無法接受的,所以它要求系統應該在極短的時間內給予響應。而超市的營業分析,則不需要在幾分鐘內完成,它需要對大量甚至是海量的交易數據進行匯總、分析,所以會需要較長的時間,但是只要它的數據分析結果是有效的,可用的,那么時間長些,決策者也是可以接受的。因為決策者更關注的是信息的匯總程度及其價值。
3 數據倉庫主要特點
3.1 面向主題
傳統型數據庫的主要任務是數據處理,即事務操作。所以該數據庫一般是以事務相關性進行存儲,而不會按照主題進行存儲數據;數據倉庫的主要任務是數據分析,故而主要按主題相關進行存儲。所以數據倉庫是面向主題的;操作型數據庫的數據組織方式事物處理任務。主題是指決策用戶在使用數據倉庫進行決策時所關心方面。一般,一個主題通常與多個操作型數據庫相關。也就是是否面向主題是數據倉庫和傳統操作型數據庫的本質區別。
3.2 集成性
數據倉庫的數據大多數情況下,會從各企業原有的數據庫系統中進行提取,但它并不是簡單的拷貝原有數據,而是提取出來后必須經過抽取、篩選、清理、轉換、綜合等工作然后再進行存儲、使用。
3.3 隨時間而變化
數據庫在保存數據時,一般不強調數據的具體時間信息。而數據倉庫則不一樣,數據倉庫中的數據基本都要求標注數據的時間特性,這主要是出于決策需要。比如,在決策過程中,時間屬性也是非常重要的。例如,同樣是統計購買過某品牌汽車產品的顧客,A是最近三個月內購買的,B則是在幾年前購買的,那么這個信息這對決策者意義是不一樣的。所以數據倉庫的數據是隨時間不斷變化的。數據倉庫中的數據不可更新主要是針對應用操作來說的,換句話說,數據倉庫在進行數據分析處理時,一般不進行數據更新。但并不是說,數據倉庫中數據都是永遠不變的,永不更新的。只是,數據倉庫的數據一般更新時間間隔會比較長一些。不如事物數據庫更新快。所以數據倉庫的數據是隨時間的變化而不斷變化的。
3.4 數據不易丟失
數據倉庫中的數據主要反映的是數據的歷史性,并不是操作型數據庫的那種日常事務操作處理數據。所以,數據倉庫中的數據基本不修改,或是極少修改,一般只是定期增加或是刪除數據,以保證數據倉庫的中數據的完整性及時效性,同時控制數據倉庫的存儲規模。數據倉庫中數據基本都是綜合數據,這些綜合數據中大多與跟時間相關,所以要經常按照時間段進行綜合整理,或是間隔一定時間片就要進行抽樣整理等。因此,數據倉庫中的數據是隨著時間的變化而不斷地進行重新綜合整理的。
4 發展趨勢
隨著計算機技術的日益精進,特別是數據庫技術的發展以及應用需求的增大,數據倉庫也在發展。主要發展方向為:
(1)并行化與可擴展性:在這個追求速度與效率的時代,數據倉庫的發展也在向并行化方向發展,最明顯的就是在硬件上,采用多處理器提高并行處理能力。同時,在研發時,也考慮數據倉庫的可擴展性,以增強數據倉庫的生存期。
(2)集中化:目前,數據倉庫項目也是越來越大,很多決策、信息管理也都依賴于數據倉庫。并且,隨著網絡技術的發展與廣泛應用,數據倉庫必將與網絡應用進行集成,即前臺是Web服務器及應用,后臺則是數據倉庫系統。
(3)通用數據庫倉庫:將來的數據倉庫將向支持多媒體技術、支持結構化和非結構化數據的數據倉庫發展,也將具有面向對象處理的能力。
(4)數據倉庫打包應用:數據倉庫將集成一些實用工具及應用,并將它們打包后推向用戶。
5 小結
在這個海量數據存在,數據過剩的時代,數據倉庫顯示出了無與倫比的重要。因為,它是數據分析,數據挖掘的基礎及質量保證。在國內,許多電商、互聯網公司,比如阿里、騰訊,其數據引擎、推薦引擎基本都是建立數據倉庫基礎上的。許多數據倉庫人員認為只要高質量的數據倉庫建立起來了,數據分析、數據挖掘以及其相關應用才能得到保障,如果相關業務數據沒梳理好,那么各種臟、亂、差得數據不光會搞得人焦頭爛額,苦不堪言,而且以此作為基礎的挖掘、分析質量也會大打折扣。
參考文獻:
[1]郝雅萍.計算機數據倉庫的構建原理及發展趨勢[J].延邊教育學院學報,2018,32(06):121-124.
[2]王定吉.探討移動互聯網 APP 數據倉庫的應用[J].建筑工程技術與設計,2018(32):4101.
[3]陳宏.淺談數據倉庫與數據挖掘技術及應用[J].科技廣場,2011(09):90-93.
[4]李春葆.數據倉庫與數據挖掘實踐[M].電子工業出版社,2014.