摘 要:本文分析了傳統數據倉庫的不足,從原理、特征等方面比較了幾種主動實時數據倉庫技術,最后介紹了主動實時數據倉庫的應用。
關鍵詞:數據庫 數據倉庫 主動實時數據倉庫
中圖分類號:TP311.13文獻標識碼:A文章編號:1674-098X(2011)12(b)-0116-01
1 常規數據倉庫的不足
業界公認的數據倉庫概念是創始人W.H.Inmon在《數據倉庫》一書中對數據倉庫的定義:數據倉庫就是面向主題的、集成的、不可更新的、隨時間不斷變化的數據集合[1]。
但是,常規的數據倉庫也有其不足:(1)常規數據倉庫是被動的,分析數據和作決策都要用戶手工參與,在用OLAP技術進行多維分析時往往是由用戶提出分析要求再回答這些問題;(2)常規數據倉庫的實時性較差,通常只能分析歷史數據,而且數據抽取周期過長,極大地降低了企業的應變能力,難以反映瞬息萬變的市場變化,實時數據倉庫的出現改變了這個局面。
2 主動實時數據倉庫的提出
傳統數據庫的時間變化周期通常為一天或一周,但是網絡使得現在的商業操作即時化,對數據變化周期的要求愈加苛刻。因此,Michaem Haisten提出了實時數據倉庫[2]RTDW(Real-Time Data Warehouse)概念,也就是所謂的“零延遲數據倉庫環境”的一部分。許有志[3]這樣描述主動實時數據倉庫的系統數據流:當OLTP系統中有操作性事務發生后,該事務中所改變的數據將被實時部分的監控模塊捕捉。監控模塊將數據傳輸至操作數據存儲(ODS)。在ODS中,數據將被存放一定的時間。正如Samuel S.Conn所提出的,下一代數據倉庫[4]是以加速信息循環周期、消除信息延時,使不同水平的用戶能更用效地利用及時信息而出現的實時數據倉庫。
3 主動實時數據倉庫的研究
3.1 一般改進型主動實時數據倉庫
傳統數據倉庫是由ODS(Operational Data Store)、數據倉庫、數據集市和BI工具組成。OLTP系統中的操作型數據在數據倉庫的非響應期批處理載入到ODS中。張磊和王備戰[5]認為一般的實時數據倉庫有服務器容易負載、觸發機制性能低、同步機制代價高、數據庫效率低以及數據驗證開銷大等缺點,于是提出一種改進,主要是改進或增加了以下幾個模塊:實時監控模塊、數據集成模塊、數據存儲模塊和實時分析模塊。改進的模型通過EAI提供的實時監控模塊來監控操作型事務中改變的數據。監控模塊捕捉的數據傳輸到增強的ODS模塊中。數據在ODS中存放一定的時間,一是與數據倉庫中的數據進行整合處理,二是進行時段性分析。最終,實時數據將被導入非實時部分中,執行傳統數據倉庫的功能,整合歷史數據,用于戰略查詢。
3.2 基于SOA的實時數據倉庫
SOA,面向服務的體系結構(service-oriented architecture)是一個組件模型,它將應用程序的不同功能單元稱為服務,通過這些服務之間定義良好的接口和契約聯系起來[6]。基于SOA的實時數據倉庫思想是采用Web Services技術實現跨平臺的、無縫共享的、實時的數據交換。基于SOA的實時數據倉庫系統最關鍵的體現是Web Services,它建立在一系列與平臺無關的協議之上,包括HTTP,XML,UDD I,WSDL,SOAP。這些協議在源數據庫、EA I中間件和數據倉庫之間,是SOA技術實現方式。SOA要求動態的定位和調用服務,這可以通過UDD I,WSDL,SOAP實現。SOA要求服務接口契約的平臺無關性, XML可以實現。私有UD2D I注冊中心包含了所有關于Web服務的描述文件,對這些服務的調用均要首先在注冊中心搜索以決定調用的端口和方式。SOAP封裝WSDL描述的服務, 實現實時數據傳輸。但是該實時數據倉庫會在出現超出負載和Web服務安全通信機制問題,同時數據集成也會成為瓶頸。
3.3 基于多Agent的主動數據倉庫
所謂多Agent系統是指一個由多個自治運行的Agent組成的集體,由多個Agent組成的智能群體的重要之處在于通過Agent之間的相互對話和相互協商工作有效地完成共同的任務。在徐有志等人的研究中,提出了基于MAS的系統模型的多Agent數據倉庫結構,它通過多個Agent之間的交互來完成數據抽取、傳輸以及數據查詢,該系統模型分4個層次:數據監控層、數據處理層、數據查詢層、用戶交互層。在該系統模型中,多Agent間協同采用顯式協同,即基于通信的協同。Agent間通過KQML語言實現彼此間的交互協同,共同完成目標。
3.4 基于分析規則的主動數據倉庫
常規的數據倉庫應用中,分析和決策較多地依賴于用戶參與。王子紅[8]等為了在自動決策以及實時性等方面對常規的數據倉庫進行改進,提出了一種基于分析規則的主動數據倉庫體系結構,它在常規的數據倉庫的基礎上引進了分析規則,通過對主動規則的改進而設計的分析規則能滿足主動數據倉庫的特性。相應地還對數據倉庫的元數據進行了擴展。該系統統主要由5部分構成,分別是:ADW工具集,OLTP系統,常規數據倉庫,多維數據立方體,主動數據倉庫引擎。該系統通過ADW工具定義分析規則,分析規則被存儲到分析規則存儲器,由定義的分析規則產生的事件(Events)被放入事件隊列并統一管理。分析規則管理機制根據事件隊列中的事件以及存儲于分析規則存儲器中的分析規則進行自動決策管理。發生沖突時由分析規則管理機制負責處理。最終得到的結果由分析結果管理器進行處理。
4 主動實時數據倉庫的應用
主動實時數據倉庫可以解決傳統數據倉庫無法完成的任務,例如:利用呼叫中心進行自動的客戶營銷,在電信服務中防止電話詐騙,供應商預測銷售量并及時補充商品……有報道稱Oracle公司提供的數據集成解決方案[9]用于在SOA、BI和數據倉庫環境中構建、部署和管理以實時數據為中心的架構,企業可以將其開發成本降低30%,數據處理速度提高50%,業務流程執行時間減少至少70%。隨著市場的發展,數據倉庫不僅被要求用來提供戰略性的決策支持,還需要對企業各業務單元的日常運作提供戰術性的指導,主動實時數據倉庫技術的發展,提高了企業對外部信息的反應速度和決策自動化能力,其提供的可執行的分析有效地驅動了企業的業務系統運作,實現了企業信息的共享,連接了各部門的流程運作和各業務平臺之間結合,極大地延伸了商業智能的范疇,是數據倉庫技術的發展方向之一。
參考文獻
[1]賴小平.淺論數據倉庫技術.網絡與信息,2009(8):32~33.
[2]許有志,沈 潔,唐小燕.基于多Agent的主動數據倉庫的研究[J].計算機工程與設計.2005(4):947~950
[3]左鐵軍.Uniformance實時數據庫的應用[J].科技創新導報,2009,14.
[4]肖欣欣,閔兆娥.主動數據庫技術在高校智能選課系統中的應用[J].科技創新導報,2011,4.
①作者簡介:宋愛林,1979年生,男,江蘇淮安人,館員,南京工業大學在讀工程碩士,現就職于南京森林警察學院圖書館,研究方向主要是WEB系統開發與系統管理,發表論文12篇,參編著作2部。