ODS與DW

【導讀】ODS是一個面向主題的、集成的、可變的、當前的細節數據集合,用於支持企業對於即時性的、操作性的、集成的全體信息的需 求。常常被作爲數據倉庫的過渡,也是數據倉庫項目的可選項之一。
1 概述
  系統應用集成中一般對各系統中數據分爲兩類
操作型數據:它有細節化,分散化的特點
決策型數據:它有綜合化,集成化的特點
數據倉庫概念的提出也把數據處理劃分爲了操作型處理和分析型處理兩種不同類型,從而建立起了DB-DW的兩層體系結構。但是有很多情況,DB-DW的兩層體系結構並不能涵蓋企業所有的數據處理要求,比如有些實時性決策問題,它要求獲取數據週期不能太長,而且也需要一定程度的彙總。這樣的問題可以藉助於DB-DW的中間層ODS(操作數據存儲)來解決。它象DW一樣是一種面向主題,集成的數據環境,又象操作型DB一樣包含着全局一致的,細節的當前的數據。我們看下常用的幾種系統應用集成需求:
我要了解企業目前的運轉情況!(實時監控)
我要知道某地區近5年內的銷售情況以制定未來的發展策略!(決策支持)
我要知道哪些是值得發展的優質的顧客!(預測)
提供企業內部和外部的有用信息以支持中期或遠期決策
提供事實的全局信息進行實時監控與臨時決策
要滿足上面所有的需求,不管是傳統的OLTP系統還是已經集成的數據倉庫,都是很難完成任務的。由於這些原因,ODS應運而生。ODS可以看做是圍繞主題進行動態整合的一種應用型體系結構,它有如下一些特點:
從應用子系統獲取數據
提供幾乎精確到每秒的企業整體應用狀態
數據一旦過期就將轉入DW
實時決策與預警提示
使用者多爲前端業務人員
2 DW與ODS比較:
數據倉庫
ODS
目的
決策支持
接近實時監控
共同點
整合數據
整合數據
面向主題
面向主題
不同點
靜態數據
(延遲>24小時)
動態數據
(延遲>1秒)
歷史數據
當前數據
概括性數據
細節化數據
3 應用集成方案比較
實施方案
實施結果
優勢
缺陷
數據倉庫(DW)
企業能夠分析DW中的歷史數據,進行中遠期的規劃
可以解決企業的決策需求
不能滿足企業的實時監控和實時業務需求
操作型數據存儲(ODS)
企業能夠把握ODS中的當前綜合數據,對企業的及時運行情況隨時掌控
可以滿足企業的實時監控和實時業務需求
不能滿足企業的中遠期決策需求
DW+ODS(如下圖)
企業能夠分析ODS中的當前綜合數據,對企業當前運行情況進行宏觀控制;能夠分析DW中的歷史數據,對未來進行合理規劃
既能把握實時的企業運作情況,採取及時的應對措施;又能把握歷史縱向概況,進行遠期戰略規劃
ODS是一個面向主題的、集成的、可變的、當前的細節數據集合,用於支持企業對於即時性的、操作性的、集成的全體信息的需求。常常被作爲數據倉庫的過渡,也是數據倉庫項目的可選項之一。
根據Bill.Inmon的定義,“數據倉庫是面向主題的、集成的、穩定的、隨時間變化的,主要用於決策支持的數據庫系統”
ODS是一個面向主題的、集成的、可變的、當前的細節數據集合,用於支持企業對於即時性的、操作性的、集成的全體信息的需 求。常常被作爲數據倉庫的過渡,也是數據倉庫項目的可選項之一。
在Kimball的<<數據倉庫生命週期工具集The Data WareHouse Liftcycle Toolkit>>,他是這樣定義的:
1. 是操作型系統中的集成,用於當前,歷史以及其它細節查詢(業務系統的一部分)
2. 爲決策支持提供當前細節數據(數據倉庫的一部分)
因此操作數據存儲(ODS) 是用於支持企業日常的全局應用的數據集合,ODS的數據具有面向主題、集成的、可變的和數據是當前的或是接近當前的4個基本特徵。同樣也可以看出ODS是介於DB和DW 之間的一種數據存儲技術,和原來面向應用的分散的DB相比,ODS中的數據組織方式和數據倉庫(DW)一樣也是面向主題的和集成的,所以對進入ODS的數 據也象進入數據倉庫的數據一樣進行集成處理。另外ODS只是存放當前或接近當前的數據,如果需要的話還可以對ODS中的數據進行增、刪和更新等操 作,雖然DW中的數據也是面向主題和集成的,但這些數據一般不進行修改,所以ODS和DW的區別主要體現數據的可變性、當前性、穩定性、彙總度上。
由於ODS仍然存儲在普通的關係數據庫中,出於性能、存儲和備份恢復等數據庫的角度以及對源數據庫的性能影響角度,個人不建議ODS保存相當長週期的數據,同樣ODS中的數據也儘量不做轉換,而是原封不動地與業務數據庫保持一致。即ODS只是業務數據庫的一個備份或者映像,目的是爲了使數據倉庫的處理和決策支持要求與OLTP系統相隔離,減少決策支持要求對OLTP系統的影響。
爲什麼需要有一個ODS系統呢?一般在帶有ODS的系統體系結構中,ODS都具備如下幾個作用:
1)在業務系統和數據倉庫之間形成一個隔離層。
一 般的數據倉庫應用系統都具有非常複雜的數據來源,這些數據存放在不同的地理位置、不同的數據庫、不同的應用之中,從這些業務系統對數據進行抽取並不是一件 容易的事。因此,ODS用於存放從業務系統直接抽取出來的數據,這些數據從數據結構、數據之間的邏輯關係上都與業務系統基本保持一致,因此在抽取過程中極 大降低了數據轉化的複雜性,而主要關注數據抽取的接口、數據量大小、抽取方式等方面的問題。
2)轉移一部分業務系統細節查詢的功能
在 數據倉庫建立之前,大量的報表、分析是由業務系統直接支持的,在一些比較複雜的報表生成過程中,對業務系統的運行產生相當大的壓力。ODS的數據從粒度、 組織方式等各個方面都保持了與業務系統的一致,那麼原來由業務系統產生的報表、細節數據的查詢自然能夠從ODS中進行,從而降低業務系統的查詢壓力。
3)完成數據倉庫中不能完成的一些功能。
一般來說,帶有ODS的數據倉庫體系結構中,DW層所存儲的數據都是進行彙總過的數據和運營指標,並不存儲每筆交易產生的細節數據,但是在某些特殊的應用中,可能需要 對交易細節數據進行查詢,這時就需要把細節數據查詢的功能轉移到ODS來完成,而且ODS的數據模型按照面向主題的方式進行存儲,可以方便地支持多維分析 等查詢功能。即數據倉庫從宏觀角度滿足企業的決策支持要求,而ODS層則從微觀角度反映細節交易數據或者低粒度的數據查詢要求。
在一個沒有ODS層的數據倉庫應用系統體系結構中,數據倉庫中存儲的數據粒度是根據需要而確定的,但一般來說,最爲細節的業務數據也是需要保留的,實際上 也就相當於ODS,但與ODS所不同的是,這時的細節數據不是“當前、不斷變化的”數據,而是“歷史的,不再變化的”數據。這樣的數據倉庫的存儲壓力和性能壓力都是比較大的,因此對數據倉庫的物理設計和邏輯設計提出了更高的要求。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章