1、ODS層
ODS 全稱是 Operational Data Store,通常對應的是操做性數據存儲,直接面向主題的,也叫數據運營層,一般是最接近數據源中數據的一層,數據源中的數據,通過抽取、洗淨、傳輸,也就是一般說的 ETL 以後的數據存入本層。本層的數據,整體上大可能是按照源頭業務系統的分類方式而分類的。可是,這一層面的數據卻不等同於原始數據。在源數據裝入這一層時,要進行諸如去噪(例若有一條數據中人的年齡是 300 歲,這種屬於異常數據,就須要提早作一些處理)、去重(例如在我的資料表中,同一 ID 卻有兩條重複數據,在接入的時候須要作一步去重)、字段命名規範等一系列操做。html
ODS包括的是當前或接近當前的數據,ODS反映的是當前業務條件的狀態,ODS的設計與用戶或業務的須要是有關聯的。數據庫
ODS中的數據具備如下4個基本特徵:
① 面向主題的:進入ODS的數據是來源於各個操做型數據庫以及其餘外部數據源,數據進入ODS前必須通過 ETL過程(抽取、清洗、轉換、加載等)。數組
② 集成的:ODS的數據來源於各個操做型數據庫,同時也會在數據清理加工後進行必定程度的綜合。數據結構
③ 可更新的:能夠聯機修改。這一點區別於數據倉庫。架構
④ 當前或接近當前的:「當前」是指數據在存取時刻是最新的,「接近當前」是指存取的數據是最近一段時間獲得的。分佈式
ODS的目的:
(1)實現企業級的OLTP操做:spa
傳統的操做型數據庫每每只存放企業某一類業務或者某一個部門的數據,所以沒法面向企業全局數據的OLTP,而ODS能夠實現。由於ODS的數據是面向整個企業進行集成彙總的,克服了原來面向應用的操做型數據庫數據分散的缺陷。設計
(2)實現即時的OLAP操做:htm
在數據倉庫上進行OALP,每每因爲數據量十分龐大而須要較長的時間。而在企業實際應用中,對於一些較低層次的決策,每每並不須要太多的歷史數據,可能只須要參考當前的或者接近當前的數據就能夠完成,而且要求具備較快的響應時間,所以數據倉庫顯然沒法知足這樣的要求,可是ODS能夠實現。ODS中不只有面向企業全局的細節數據和彙總數據,並且規模比數據倉庫小,具備較強的實時響應能力。blog
數據分析的概念:
OLTP:On-Line Transaction Processing聯機事務處理過程(OLTP),也稱爲面向交易的處理過程,其基本特徵是前臺接收的用戶數據能夠當即傳送到計算中心進行處理,並在很短的時間內給出處理結果,是對用戶操做快速響應的方式之一。
OLAP:OLAP展示在用戶面前的是一幅幅多維視圖。
聯機分析處理的概念:
維(Dimension):是人們觀察數據的特定角度,是考慮問題時的一類屬性,屬性集合構成一個維(時間維、地理維等)。
維的層次(Level):人們觀察數據的某個特定角度(即某個維)還能夠存在細節程度不一樣的各個描述方面(時間維:日期、月份、季度、年)。
維的成員(Member):維的一個取值,是數據項在某維中位置的描述。(「某年某月某日」是在時間維上位置的描述)。
度量(Measure):多維數組的取值.
OLAP的基本多維分析操做有鑽取(Drill-up和Drill-down)、切片(Slice)和切塊(Dice)、以及旋轉(Pivot)等。
鑽取:是改變維的層次,變換分析的粒度。它包括向下鑽取(Drill-down)和向上鑽取(Drill-up)/上卷(Roll-up)。Drill-up是在某一維上將低層次的細節數據歸納到高層次的彙總數據,或者減小維數;而Drill-down則相反,它從彙總數據深刻到細節數據進行觀察或增長新維。
切片和切塊:是在一部分維上選定值後,關心度量數據在剩餘維上的分佈。若是剩餘的維只有兩個,則是切片;若是有三個或以上,則是切塊。
旋轉:是變換維的方向,即在表格中從新安排維的放置(例如行列互換)。
OLAP是以數據倉庫爲基礎的,其最終數據來源與OLTP同樣均來自底層的數據庫系統,但因爲兩者面對的用戶不一樣,OLTP面對的是操做人員和低層管理人員,OLAP面員和高層管理人員.
2、DW數據倉庫層
數據倉庫層(DW,Data Warehouse),是數據倉庫的主體.在這裏,從 ODS 層中得到的數據按照主題創建各類數據模型。是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用於支持管理決策(Decision Making Support)。
數據倉庫是一個很大的數據存儲集合,出於企業的分析性報告和決策支持目的而建立,對多樣的業務數據進行篩選與整合。它爲企業提供必定的BI(商業智能)能力,指導業務流程改進、監視時間、成本、質量以及控制。
數據倉庫存儲是一個面向主題(移動的用戶分析也可作爲一個主題)的,反映歷史變化數據,用於支撐管理決策。
特徵:
1)、效率足夠高,要對進入的數據快速處理。
2)、數據質量高,數據倉庫是提供不少決策須要的數據支撐,DW的數據應該是惟一的具備權威性的數據,企業的全部系統只能從DW取數據,因此須要按期對DW裏面的數據進行質量審,保證DW裏邊數據的惟1、權威、準確性。
3)、擴展性,企業業務擴展和下降企業建設數據倉庫的成本考慮
4)、面向主題,數據倉庫中的數據是按照必定的主題域進行組織的,每個主題對應一個宏觀的分析領域,數據倉庫排除對決策無用的數據,提供特定主題的簡明視圖。
5)、數據倉庫主要提供查詢服務,而且須要查詢可以及時響應
6)、DW的數據也是隻容許增長不容許刪除和修改,數據倉庫主要是提供查詢服務,刪除和修改在分佈式系統.
3、DW和ODS的區別
(1)存放的數據內容不一樣:
(2)數據規模不一樣:
因爲存放的數據內容不一樣,所以DW的數據規模遠遠超過ODS。
(3)技術支持不一樣:
ODS須要支持面向記錄的聯機更新,並隨時保證其數據與數據源中的數據一致。
DW則須要支持ETL技術和數據快速存取技術等。
(4)面向的需求不一樣:
ODS主要面向兩個需求:一是用於知足企業進行全局應用的須要,即企業級的OLTP和即時的OLAP;二是向數據倉庫提供一致的數據環境用於數據抽取。
DW主要用於高層戰略決策,供挖掘分析使用。
(5)使用者不一樣:
ODS主要使用者是企業中層管理人員,他們使用ODS進行企業平常管理和控制。
DW主要使用者是企業高層和數據分析人員。
本文做者:張永清,轉載請註明:http://www.javashuo.com/article/p-feqbkvfg-b.html
4、DM數據集市
數據集市,以某個業務應用爲出發點而創建的局部DW,DW只關心本身須要的數據,不會全盤考慮企業總體的數據架構和應用,每一個應用有本身的DM。還有一種DM的叫法,就是DM(Data Mining):數據挖掘,又稱爲數據庫中的知識發現(Knowledge Discovery in Database, KDD),就是從大量數據中獲取有效的、新穎的、潛在有用的、最終可理解的模式的非平凡過程,簡單的說,數據挖掘就是從大量數據中提取或「挖掘」知識。
數據流向的過程通常以下:
5、 Inmon
Inmon 模式從流程上看是自頂向下的,即從數據源到數據倉庫再到數據集市的(先有數據倉庫再有數據市場)一種瀑布流開發方法。對於Inmon模式,數據源每每是異構的,好比從自行定義的爬蟲數據就是較爲典型的一種,數據源是根據最終目標自行定製的。這裏主要的數據處理工做集中在對異構數據的清洗,包括數據類型檢驗,數據值範圍檢驗以及其餘一些複雜規則。在這種場景下,數據沒法從stage層直接輸出到dm層,必須先經過ETL將數據的格式清洗後放入dw層,再從dw層選擇須要的數據組合輸出到dm層。在Inmon模式中,並不強調事實表和維度表的概念,由於數據源變化的可能性較大,須要更增強調數據的清洗工做,從中抽取實體-關係。
6、 Kimball
Kimball的維度數據倉庫是基於維度模型創建的企業級數據倉庫,它的架構有的時候能夠稱之爲「總線體系結構」,Kimball 模式從流程上看是是自底向上的,即從數據集市到數據倉庫再到數據源(先有數據集市再有數據倉庫)的一種敏捷開發方法。對於Kimball模式,數據源每每是給定的若干個數據庫表,數據較爲穩定可是數據之間的關聯關係比較複雜,須要從這些OLTP中產生的事務型數據結構抽取出分析型數據結構,再放入數據集市中方便下一步的BI與決策支持。
Kimball和Inmon是兩種主流的數據倉庫方法論,分別由 Ralph Kimbal大神 和 Bill Inmon大神提出,在實際數據倉庫建設中,業界每每會相互借鑑使用兩種開發模式,這兩種的相同點以下:
一、都是假設操做型系統和分析型系統是分離的;
2,數據源(操做型系統)都是衆多;
三、ETL整合了多種操做型系統的信息,集中到一個企業數據倉庫。
不一樣點:
優缺點對比: