實時主動數據倉庫的概念、問題及應用

轉載自:http://www.oecp.cn/hi/csh/blog/2143


實時主動數據倉庫的概念、問題及應用

              隨着信息技術的發展,數據倉庫技術得到了前所未有的廣泛應用,產生了巨大的經濟效益。在美國,30%~40%的公司已經或正在建造數據倉庫,其代表有AT&T公司、VERIZON移動通信、沃爾瑪百貨公司等。據國際權威統計機構IDC對歐洲和北美62家採用數據倉庫技術的企業的調查分析發現,這些企業的3年平均投資回報率爲401%,其中25%的企業的投資回報率超過600%。

    近年來,我國大中型企業也逐步認識到利用數據倉庫技術的重要性,並已開始建立自己的數據倉庫系統,如中國移動、中國電信、中國聯通、上海證券交易所和中國石油等。這些數據倉庫系統已經開始在這些企業運營過程中發揮出顯著的作用。例如,從2001年起,中國移動開始在全國範圍內建設數據倉庫系統,目前已建成數千TB級的分級式數據倉庫,有數萬用戶在使用,年訪問量達數千萬人次。僅一項“重入網分析”可以節約成本數億元。

    但是,隨着市場經濟步伐的加快和競爭的日趨激烈,傳統的數據倉庫技術已不能很好地滿足企業發展和競爭的需要。傳統數據倉庫僅爲企業高層決策者提供戰略決策(strategic decision),服務於宏觀決策和長遠規劃,如市場細分、產品管理等。然而,企業越來越希望數據倉庫在支持戰略決策的同時,也能夠爲市場一線人員提供實時的戰術決策(tactical decision)服務,如實時營銷、個性化服務等。這種既服務於戰略決策又服務於戰術決策的數據倉庫稱之爲實時主動數據倉庫(real-time active data warehouse,RTADW)。根據Gartner的研究報告,RTADW已成爲數據倉庫發展的必然選擇。然而,當前對RTADW的研究尚不成熟,許多關鍵技術急需進行深入研究,應用也僅是在部分企業嘗試使用。

    自2002年起,北京大學數據庫研究室與中國移動集團公司在數據倉庫的研究和建設方面開始了深入而密切的合作,在數據倉庫和數據挖掘技術的研究開發和應用推廣方面展開了大量卓有成效的工作,並於2006年5月在北京大學聯合成立了“移動通信數據倉庫聯合實驗室”。以移動通信領域爲背景,在北京大學一惠普中國實驗室聯合項目的支持下,目前我們正在開展面向大規模海量實時主動數據倉庫的研究工作,在理論研究和系統開發方面已經取得了豐富的成果。

    本文將重點介紹實時主動數據倉庫的概念、特點、需要研究的問題以及一些典型的應用。

1 實時主動數據倉庫

    1.1 實時主動數據倉庫的概念

    Haisten提出了實時主動數據倉庫的概念:RTADW是一個關係型環境的數據倉庫,支持數據的實時更新、快速的響應時間、基於鑽取的聚集數據查詢能力和動態的交互能力,用於支持不斷變化的商業需求。與傳統數據倉庫系統相比,實時主動數據倉庫系統有許多獨有的特點(參見表1)。


表1 實時主動數據倉庫與傳統數據倉庫的比較

 

傳統數據倉庫解決方案

主動數據倉庫解決方案

只能支持戰略決策 支持戰略決策和戰術決策
 
實時性要求不高 要求結果實時返回
數據傳輸是單向的 數據傳輸是雙向的
返回很難測量的指標 返回日常運營指標
以天、周或月爲週期獲取數據,並做預先聚合計算 只包含明細數據,可能以分鐘爲週期獲取新數據
中等規模用戶數 多用戶數併發訪問(如1000用戶以上)
只能得到高度限制的報表,使用預處理的聚合表或數據集市 靈活的即席查詢,數據挖掘
適用於高級用戶,分析員,內部用戶 適用於操作僱員,呼叫中心,外部用戶

   










在RTADW發展的過程中,(operational data store,ODS)是一個重要的過渡階段。一些企業爲支持戰術決策,往往採用ODS技術。總體而言,ODS分3類:1)實時ODS,它通過消息中間件實施數據的同步轉換和刷新,但業務系統不能太多,轉換數據量不能太大;2)準實時ODS,它實現數據同步,以1-2h爲週期,系統負擔較小,具有較好的靈活性;3)傳統ODS,其代價最小,目前在傳統數據倉庫中常見。

    1.2 實時主動數據倉庫的特點和挑戰

    1.2.1 實時數據的連續集成

    爲支持實時的戰術決策,源系統(或稱生產系統)產生的實時數據必須在最小化對源系統入侵程度、並保證實時數據一致性和完整性的情況下,被實時高效地集成到數據倉庫中。挑戰問題是:1)在保證源系統性能不降低的情況下,對實時數據在源系統的任何變化進行實時的捕獲;2)保證被連續分發數據間次序的一致性和自身的完整性;3)在保證數據質量要求的前提下,完成實時、高效的數據加載。

    1.2.2 實時數據和歷史數據的組織與管理

    提供RTADW中的實時數據和歷史數據的有效的組織與管理策略,使之高效地工作在一種混合的工作負載環境(戰略決策和戰術決策)中。所要研究的挑戰問題:1)對實時數據和歷史數據(指傳統數據倉庫中存儲的數據)進行統一建模,從而對外提供統一的訪問視圖;2)研究對實時數據查詢所產生的“查詢衝突”和“查詢不一致性”問題,保證查詢處理過程的無阻塞性和查詢結果的一致性;3)研究實時數據和歷史數據的及時信息合併技術,對提交的RTADW的任何查詢提供“透明”的一體化服務;4)對負載的管理,使得RTADW系統高效的運行。

    1.2.3 主動的服務決策機制

    研究RTADW的主動決策服務機制,提供對實時事件進行主動分析和處理的能力。挑戰問題包括:1)研究實時事件的主動捕獲機制,具備對外界請求的實時響應能力;2)研究分析決策過程的自動執行機制,使RTADW系統擁有主動服務的能力。

    1.3 實時主動數據倉庫的性能評價

    1)數據的新穎性

    實時數據必須被及時地加載到系統當中,從而支持戰術查詢分析。

    2)時間的一致性

    在連續數據集成的環境中,會出現數據時序的不一致性現象,需建立時序模型進行時間一致性管理。

    3)查詢結果的一致性

    由於數據的動態到達和查詢的持續性,會出現同一查詢請求受不同時刻不同查詢狀態的影響,出現查詢結果的不一致性,需要查詢過程的一致性管理。

    4)主動決策的及時性

    RTADW系統能夠實時捕獲各種決策規則限定的動作,並做出實時的反應。

    5)可擴展性

    用戶數目和性能需求隨着RTADW系統分析應用的部署增加而增加。


2 實時主動數據倉庫的研究問題

    在介紹研究問題之前,首先介紹一個RTADW系統的參考結構,如圖1所示:

 

圖1實時主動數據倉庫的參考結構


    如圖1所示,一個RTADW系統主要包含5個組成部分:數據源、數據抽取、數據倉庫、主動決策部分和前端應用。

    數據源除了包含傳統的靜態部分之外,還包含實時的數據源部分(如數據流等);數據抽取部分包含傳統的ETL抽取和實時數據抽取兩部分;數據倉庫除了存儲傳統的靜態數據之外,還存儲實時的數據部分,以及它們之間的週期性的轉換和數據的實時合併;主動決策部分主要基於觸發器的基礎上,利用主動分析規則完成主動的決策分析;前端的展現除了傳統展示方法外,還包括一些實時的監控部件(如dashboard等)。

    2.1 數據集成研究問題

    RTADW要集成的數據包括實時數據和歷史數據兩部分。歷史數據採用傳統的批處理方法進行集成,而實時數據部分則需要進行實時的連續集成。重點研究問題包括:

    1)實時數據的主動變化捕捉

    在傳統數據倉庫系統中,由源系統按預先約定的加載時間和數據格式,定期把需要抽取的數據放到預先約定的接口中,然後由ETL引擎把這部分數據加載到數據倉庫。但是,對RTADW而言,要求實時數據一旦由源系統產生就立即加載到數據倉庫中,以便支持實時戰術分析的需要。因此,RTADW系統需要能夠對新產生的實時數據變化(插入、更新等)進行實時捕獲,從而及時進行數據加載。

    要重點研究快速數據的變化捕捉方法,實現對源系統中的數據變化進行有選擇性的定位和捕捉(即僅捕獲實時部分的數據變化),滿足零延遲的要求,最小化對源系統的入侵程度(即對源系統性能的影響),降低源系統的負載,確保源系統性能不下降、不當機。

    2)支持數據一致性和完整性的實時數據分發

    數據分發是指數據從源系統到數據倉庫的傳播過程。在傳統數據倉庫中,數據分發採用批量拷貝的方式,數據間的時間依賴性和事務依賴性在數據批量轉移的過程中不受影響,可以保持數據的一致性和完整性。但在RTADW中,捕捉到的每個數據變化都是以消息的形式進行分發,同一事務中包含多個數據變化,也就包含了多條消息,這些消息在網絡中進行獨立傳輸。因而,如何保證消息在傳輸過程中的完整性,以及如何保持多個消息之間的正確順序,從而有效地維護數據的事務一致性和不同事務間的依賴性。

    要重點研究高效的數據分發機制,使每個捕捉到的數據變化放入消息隊列後,由消息隊列完成數據的分發,保證消息傳輸的一致性和完整性,同時有效地維護數據的事務依賴性和時間依賴性。

    3)實時、高效的連續數據加載

    在RTADW中,接收到的消息中是未經處理的數據,如果對這些數據進行復雜地清洗和轉換操作,將無法滿足外部查詢對數據實時性的要求;反之,所包含的髒數據會嚴重影響數據的質量。如何在保證數據質量的前提下實現實時、高效的數據加載是一個需要深入研究的問題。

    要重點研究連續高效的數據加載技術實現實時、高效的連續數據加載。實現對數據的清洗和轉換過程所包含的內部子環節進行合理有效的組織,從而提高數據處理的速率和併發度。同時根據用戶對數據質量的不同需求,對即時加載的數據進行區別對待,合理分配系統資源,提高數據加載性能。

    2.2 數據的組織與管理

    研究RTADW系統中實時數據與歷史數據的數據特性,建立有效的數據存儲、組織與訪問策略,爲高效的戰略決策和戰術決策的執行提供數據平臺支撐。

    2.2.1 RTADW中的數據建模

    傳統數據倉庫中的數據一般在空閒時(如夜間)以批處理的方式進行更新。由於更新時不對外提供數據查詢服務,因而對更新的代價不做過高要求。但是,由於RTADW中的實時數據是以7×24的工作方式對外提供服務,而且要求數據的實時更新和查詢結果的實時反饋,所以傳統靜態數據的組織與管理方式不適合於實時數據。

    要重點研究實時數據和歷史數據的有效建模,使得對於查詢工具而言,只有一個統一的邏輯視圖,避免查詢工具和終端用戶進行多表連接操作的問題。

    2.2.2 實時數據的查詢一致性維護

    在RTADW環境中,數據倉庫中數據是實時更新、不斷變化的。在這種“動態”的數據環境中使用OLAP分析和查詢工具,會使查詢所涉及的數據在讀取過程中不斷髮生變化,從而導致查詢結果的不一致性。

    需要重點研究在實時數據環境中的查詢一致性問題,防止數據在查詢過程中被修改,從而保證查詢的一致性。同時保證以後到達的查詢得到的是更新以後的數據,保證了數據的實時性。

    2.2.3 實時數據的查詢衝突解決

    在RTADW環境下,由於數據的查詢和更新同時進行,會導致在某個時刻,對於事實表中的某些記錄,查詢操作和更新操作會發生讀寫衝突。當源系統的數據變化過於頻繁,數據倉庫中的查詢數量比較多時,這種衝突將更加突顯,甚至可能使系統發生阻塞,無法對外提供服務。

    需要重點研究實時數據的查詢衝突問題,利用不同用戶查詢對數據實時性的不同要求,有效分流不同類型的查詢負載,防止系統因查詢衝突而發生阻塞,同時又能滿足不同類型查詢的需求。

    2.2.4 實時數據與歷史數據的“無縫”集成

    在RTADW環境下,爲了最大程度地減小查詢衝突給系統帶來的負面影響,保證數據倉庫正常高效地運行,實時數據與歷史數據通常分開存儲。爲了最小化對查詢工具的影響,不需要查詢工具瞭解獲取不同類型數據的方法,而是一旦提出查詢請求,就可以得到“無縫集成”後的數據。

    需要重點研究高效的集成技術,實現實時數據與歷史數據的“無縫”集成。能夠自動分析查詢語句,從而確定數據需求,並從RTADW的不同部分提取所需的數據,合併後供查詢工具使用。可以自動分析所需數據中實時部分和歷史部分的比例,從而更好地選擇數據的遷移策略,減少數據傳輸,改善服務性能。

    2.3 主動決策服務

    研究RTADW的主動決策機制,從而支持對實時事件的主動探查,並根據事件的特徵進行處理判斷,從而觸發相應的分析規則。

    2.3.1 RTADW中事件的主動探查

    在RTADW系統中,爲了支持實時主動的決策分析,從而滿足系統實時響應的需求,就需要系統具備對各類事件的主動探查機制,從而熊夠實時發現各類異常事件,並進行相應的處理。

    需要重點研究事件主動探查機制,與RTADW的應用需求相結合,提高事件的探查速度,保證RTADW的實時性。研究事件的組織和存儲方式,使得在探查到事件後,能夠迅速將事件與相應觸發的分析規則相匹配,避免了簡單查找所產生的巨大代價,進一步提高事件的匹配效率。

    2.3.2 支持主動決策的分析規則技術

    在RTADW的應用中,常常有大量的事件同時發生,導致很多分析規則同時觸發,並且各個規則間通常有一定的聯繫,一些規則的發生會導致其他規則的觸發。這就使規則的併發控制以及匹配的效率成爲影響RTADW性能的重要問題。目前,已有的方法並不能完全解決大量事件併發時帶來的效率問題,已有系統不能滿足大量用戶併發情況下的性能需求。

    需要重點研究高效的分析規則組織方法,使分析規則之間的關係明確,規則的匹配及規則觸發因果關係的查找更加迅速,提高分析規則匹配的效率。研究有效的分析規則所產生的操作組織方式,使得分析規則觸發時能夠迅速、主動地找到與之對應的具體操作,從而能夠迅速對不同的源系統進行相應的操作。

3 實時主動數據倉庫的典型應用

    下面列舉一些典型的實時主動數據倉庫應用。

    3.1 在移動通信領域的應用

    實時監控移動呼叫數據,防止欺詐行爲發生。據國際數據公司IDC統計,每年全球電信領域因欺詐而造成的損失佔電信服務總收入的5%~10%之多,對電信運營商的信譽和正常業務運營產生了嚴重的衝擊。傳統數據倉庫技術因其數據延遲過大,不能實時捕獲欺詐信息,所以不能很好地解決這一難題。利用RTADW技術,把當前的實時呼叫信息和數據倉庫中的歷史行爲信息結合,藉助通信企業提供的企業間共享的欺詐人羣信息,可以有效地判定當前客戶是否具有發生欺詐行爲的可能性,從而進行實時地預防和監控,減少企業因欺詐而造成的損失。

    3.2 在電子商務領域的應用

    根據用戶提交信息,實時給客戶靈活的定價和折扣。藉助於網絡技術而蓬勃發展起來的電子商務應用已日趨普及。但是,目前的電子商務一般不具有個性化服務的能力,只能在既定規則下開展不具有針對性的服務,不利於提升客戶服務的能力。RTADW技術可以很好地解決這一難題。對客戶提交的實時購物訂單,可以根據客戶的當前行爲信息,藉助於在數據倉庫中存儲的該客戶的歷史消費信息來判斷客戶的價值,進行實時又個性化的定價和折扣,從而提升客戶滿意度,增強企業的競爭力。

4 相關研究

    NCR給出了主動數據倉庫的概念,但其本質上也是ODS和傳統數據倉庫的結合。其他一些國際數據庫研究機構(如IBM,Oracle,Sybase)也紛紛提出了自己的解決方案,共同點是都採用了ODS方案來存儲實時數據,用傳統數據倉庫存放歷史數據,從而是ODS之上解決對實時數據查詢的問題。但是,採用ODS解決方案面臨的最大問題就是所有的數據必須進行實時的抽取,否則無法滿足實時性的需求。但是,根據國際權威機構Garter的研究報告指出,真實業務對實時數據的需求量僅佔所有抽取數據量的25%左右。因此,對所有的數據都採用這種代價高昂的實時抽取處理方式,必然帶來具體的資源(時間、空間等)的浪費。

    RTADW的實時數據連續集成主要有如下方法:1)腳本方法。該方法使用靈活且比較經濟,很容易着手開發和進行修改,而且幾乎任何操作系統和絕大部分DBMSS都可以使用腳本。但是,該方法的實施耗費開發者的大量的時間和精力,而且不易於管理和操作以及不能滿足服務水平協議。2)ETL方法。該方法是實現大規模數據初步加載的理想解決方案,提供了高級的轉換能力。但是該方法通常都是在“維護時間窗口”進行,在ETL任務執行期間,數據源默認不會發生變化,從而不能滿足實時數據集成。3)EAI方法。該方法與ETL解決方案並存,並增強了ETL的功能,能夠支持在源系統和目標系統之間進行連續的數據分發,並提供高級的工作流支持和基本的數據轉換。但是該方法受到數據量的限制,不適合數據量較大的環境。

    當前,在實時數據和歷史數據的組織與管理研究方面,主要有以下一些學術觀點:1)無實時數據存儲。該方法把從源系統產生連續加載到數據倉庫,可以直接在數據倉庫事實表中插入或更新數據,也可以把數據插入到實時分區當中的單獨的事實表中。但是,該方法的缺點是可擴展性不好,複雜查詢和連續插入及更新混在一起進行會嚴重影響數據庫的性能。2)階段存儲表存儲實時數據。該方法把數據連續地注入到階段存儲表,其結構和數據倉庫表的結構相同,其內容會和事實表週期性地進行交換,採用視圖集成完成實時數據與歷史數據集成。但是,該方法的缺點是在處理數據交換時,必須暫時停止對外提供實時查詢服務。3)實時數據緩存。該方法可以徹底避免對數據倉庫性能的影響,不用對現有的數據倉庫做出修改,可以是另一個專用的數據庫服務器,也可以是一個大的數據庫系統的單獨的實例,把所有那些需要實時數據的查詢定向到實時數據緩存,或者把某個查詢所需要的實時數據臨時地無縫隙地整合到傳統的數據倉庫中。該方法的缺點是要安裝和維護一個額外的單獨的數據庫。

    主動規則(active rule)作爲實現主動決策的手段已經被廣泛接受。在處理一系列複雜的任務和對數據的自動管理(包括完整性約束檢驗、轉換、安全等)過程中,使用戶的參與度降低到最小。主動的信息管理具有基於“事件-條件-動作”(event-condition-action,ECA)的規則處理特性,複雜的商業決策構造和處理不需要深入到應用程序和底層數據庫。主動數據倉庫(ADW)中使用ECA規則或者其他事件驅動機制,是爲了在傳統數據倉庫環境中自動執行日常決策任務。Thalhammer等人採用ECA規則來模仿分析人員的工作,故稱之爲分析規則(analysis rules)。它結合了ADB、傳統數據倉庫和OLAP良好的決策標準,從而滿足決策過程的自動化。但是,它的數據集成過程是基於傳統的批處理方式工作的,這與實時的數據集成不符合,會在遲到的數據和基於不完整信息的決策制定中產生問題。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章