關於資料倉儲 — ODS概念

bq_wang發表於2008-02-13
ODS是一個面向主題的、整合的、可變的、當前的細節資料集合,用於支援企業對於即時性的、操作性的、整合的全體資訊的需 求。常常被作為資料倉儲的過渡,也是資料倉儲專案的可選項之一。

根據Bill.Inmon的定義,“資料倉儲是面向主題的、整合的、穩定的、隨時間變化的,主要用於決策支援的資料庫系統

ODS是一個面向主題的、整合的、可變的、當前的細節資料集合,用於支援企業對於即時性的、操作性的、整合的全體資訊的需 求。常常被作為資料倉儲的過渡,也是資料倉儲專案的可選項之一。

Kimball<<資料倉儲生命週期工具集The Data WareHouse Liftcycle Toolkit>>,他是這樣定義的

1. 是操作型系統中的整合,用於當前,歷史以及其它細節查詢(業務系統的一部分)

2. 為決策支援提供當前細節資料(資料倉儲的一部分)

因此運算元據儲存(ODS 是用於支援企業日常的全域性應用的資料集合,ODS的資料具有面向主題、整合的、可變的和資料是當前的或是接近當前的4個基本特徵。同樣也可以看出ODS是介於DBDW 之間的一種資料儲存技術,和原來面向應用的分散的DB相比,ODS中的資料組織方式和資料倉儲(DW)一樣也是面向主題的和整合的,所以對進入ODS的數 據也象進入資料倉儲的資料一樣進行整合處理。另外ODS只是存放當前或接近當前的資料,如果需要的話還可以對ODS中的資料進行增、刪和更新等操 作,雖然DW中的資料也是面向主題和整合的,但這些資料一般不進行修改,所以ODSDW的區別主要體現資料的可變性、當前性、穩定性、彙總度上。

由於ODS仍然儲存在普通的關聯式資料庫中,出於效能、儲存和備份恢復等資料庫的角度以及對源資料庫的效能影響角度,個人不建議ODS儲存相當長週期的資料,同樣ODS中的資料也儘量不做轉換,而是原封不動地與業務資料庫保持一致。即ODS只是業務資料庫的一個備份或者映像,目的是為了使資料倉儲的處理和決策支援要求與OLTP系統相隔離,減少決策支援要求對OLTP系統的影響。

為什麼需要有一個ODS系統呢?一般在帶有ODS的系統體系結構中,ODS都具備如下幾個作用:

1 在業務系統和資料倉儲之間形成一個隔離層。

般的資料倉儲應用系統都具有非常複雜的資料來源,這些資料存放在不同的地理位置、不同的資料庫、不同的應用之中,從這些業務系統對資料進行抽取並不是一件 容易的事。因此,ODS用於存放從業務系統直接抽取出來的資料,這些資料從資料結構、資料之間的邏輯關係上都與業務系統基本保持一致,因此在抽取過程中極 大降低了資料轉化的複雜性,而主要關注資料抽取的介面、資料量大小、抽取方式等方面的問題。

2 轉移一部分業務系統細節查詢的功能

資料倉儲建立之前,大量的報表、分析是由業務系統直接支援的,在一些比較複雜的報表生成過程中,對業務系統的執行產生相當大的壓力。ODS的資料從粒度、 組織方式等各個方面都保持了與業務系統的一致,那麼原來由業務系統產生的報表、細節資料的查詢自然能夠從ODS中進行,從而降低業務系統的查詢壓力。

3 完成資料倉儲中不能完成的一些功能。

般來說,帶有ODS的資料倉儲體系結構中,DW層所儲存的資料都是進行彙總過的資料和運營指標,並不儲存每筆交易產生的細節資料,但是在某些特殊的應用中,可能需要 對交易細節資料進行查詢,這時就需要把細節資料查詢的功能轉移到ODS來完成,而且ODS的資料模型按照面向主題的方式進行儲存,可以方便地支援多維分析 等查詢功能。即資料倉儲從宏觀角度滿足企業的決策支援要求,而ODS層則從微觀角度反映細節交易資料或者低粒度的資料查詢要求。

在一個沒有ODS層的資料倉儲應用系統體系結構中,資料倉儲中儲存的資料粒度是根據需要而確定的,但一般來說,最為細節的業務資料也是需要保留的,實際上 也就相當於ODS,但與ODS所不同的是,這時的細節資料不是“當前、不斷變化的”資料,而是“歷史的,不再變化的”資料。這樣的資料倉儲的儲存壓力和效能壓力都是比較大的,因此對資料倉儲的物理設計和邏輯設計提出了更高的要求。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6517/viewspace-145446/,如需轉載,請註明出處,否則將追究法律責任。

相關文章