關於資料倉儲 — 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所不同的是,這時的細節資料不是“當前、不斷變化的”資料,而是“歷史的,不再變化的”資料。這樣的資料倉儲的儲存壓力和效能壓力都是比較大的,因此對資料倉儲的物理設計和邏輯設計提出了更高的要求。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6517/viewspace-145446/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料倉儲ODS、DW和DM概念 - 1
- 資料倉儲ODS、DW和DM概念 - 2
- 資料倉儲ODS、DW和DM概念 - 3
- 資料倉儲ODS、DW和DM概念 - 4
- 資料倉儲經驗概念
- 關於資料湖、資料倉儲的想法
- 資料倉儲分層概念之我見
- 資料湖 VS 資料倉儲之爭?阿里提出大資料架構新概念:湖倉一體阿里大資料架構
- 基於OneData的資料倉儲建設
- 資料庫倉庫系列:(一)什麼是資料倉儲,為什麼要資料倉儲資料庫
- 數倉開發之ODS層
- 資料倉儲 - ER模型模型
- [數倉]資料倉儲設計方案
- 基於Greenplum,postgreSQL的大型資料倉儲實踐SQL
- 資料倉儲應該用什麼方案——資料倉儲實施方案概述
- 什麼是資料倉儲
- 什麼是資料倉儲?
- 資料倉儲建模方法論
- 談談資料湖和資料倉儲
- 資料湖會取代資料倉儲嗎?
- 淺談資料倉儲和大資料大資料
- 資料湖 vs 資料倉儲 vs 資料庫資料庫
- 資料倉儲(7)數倉規範設計
- 資料倉儲(6)數倉分層設計
- 關於InnoDB表資料和索引資料的儲存索引
- 數倉血緣關係資料的儲存與讀寫
- 資料倉儲與大資料的區別大資料
- 大資料和資料倉儲解決方案大資料
- 資料倉儲被淘汰了?都怪資料湖
- 資料倉儲題庫(附答案)
- ETL資料倉儲的使用方式
- 如何構建資料倉儲模型?模型
- ABP 資料訪問 - IRepository 倉儲
- 資料倉儲之拉鍊表
- 資料倉儲基礎介紹
- 資料湖+資料倉儲 = 資料湖庫架構架構
- 構建實時資料倉儲首選,雲原生資料倉儲AnalyticDB for MySQL技術解密MySql解密
- 資料倉儲 vs 資料湖 vs 湖倉一體:如何基於自身資料策略,選擇最合適的資料管理方案?
- 從ODS到ADS,詳解數倉分層!