總體結構
在具體分析數據倉庫以前先看下一下數據中心的總體架構以及數據流向mysql
- DB 是現有的數據來源,能夠爲mysql、SQLserver、文件日誌等,爲數據倉庫提供數據來源的通常存在於現有的業務系統之中。
- ETL的是 Extract-Transform-Load 的縮寫,用來描述將數據歷來源遷移到目標的幾個過程:
- Extract,數據抽取,也就是把數據從數據源讀出來。
- Transform,數據轉換,把原始數據轉換成指望的格式和維度。若是用在數據倉庫的場景下,Transform也包含數據清洗,清洗掉噪音數據。
- Load 數據加載,把處理後的數據加載到目標處,好比數據倉庫。
- ODS(Operational Data Store) 操做性數據,是做爲數據庫到數據倉庫的一種過渡,ODS的數據結構通常與數據來源保持一致,便於減小ETL的工做複雜性,並且ODS的數據週期通常比較短。ODS的數據最終流入DW
+DW (Data Warehouse)數據倉庫,是數據的歸宿,這裏保持這全部的從ODS到來的數據,並長期報錯,並且這些數據不會被修改。
- DM(Data Mart) 數據集市,爲了特定的應用目的或應用範圍,而從數據倉庫中獨立出來的一部分數據,也可稱爲部門數據或主題數據。面向應用。
數據倉庫
數據倉庫(Data Warehouse) 簡稱DW,顧名思義,數據倉庫是一個很大的數據存儲集合,出於企業的分析性報告和決策支持目的而建立,對多樣的業務數據進行篩選與整合。它爲企業提供必定的BI(商業智能)能力,指導業務流程改進、監視時間、成本、質量以及控制。
數據倉庫存儲是一個面向主題(移動的用戶分析也可作爲一個主題)的,反映歷史變化數據,用於支撐管理決策。sql
特徵:
- 效率足夠高,要對進入的數據快速處理。
- 數據質量高,數據倉庫是提供不少決策須要的數據支撐,DW的數據應該是惟一的具備權威性的數據,企業的全部系統只能從DW取數據,因此須要按期對DW裏面的數據進行質量審,保證DW裏邊數據的惟1、權威、準確性。
- 擴展性,企業業務擴展和下降企業建設數據倉庫的成本考慮
- 面向主題,數據倉庫中的數據是按照必定的主題域進行組織的,每個主題對應一個宏觀的分析領域,數據倉庫排除對決策無用的數據,提供特定主題的簡明視圖。
- 數據倉庫主要提供查詢服務,而且須要查詢可以及時響應
- DW的數據也是隻容許增長不容許刪除和修改,數據倉庫主要是提供查詢服務,刪除和修改在分佈式系統.
操做性數據
操做性數據(Operational Data Store) 簡稱ODS,做爲數據庫到數據倉庫的一種過渡形式,與數據倉庫在物理結構上不一樣。ODS存儲的是當前的數據狀況,給使用者提供當前的狀態,提供即時性的、操做性的、集成的全體信息的需求。ODS做爲數據庫到數據倉庫的一種過渡形式,能提供高性能的響應時間,ODS設計採用混合設計方式。ODS中的數據是"實時值",而數據倉庫的數據倒是"歷史值",通常ODS中儲存的數據不超過一個月,而數據倉庫爲10年或更多。數據庫
特徵:
- ODS直接存放從業務抽取過來的數據,這些數據從結構和數據上與業務系統保持一致,下降了數據抽取的複雜性。
- 轉移一部分業務系統的細節查詢功能,由於ODS存放的數據與業務系統相同,原來有業務系統產生的報表,如今能夠從ODS中產生。
- 完成數據倉庫中不能完成的功能,ODS存放的是明細數據,數據倉庫DW或數據集市DM都存放的是匯聚數據,ODS提供查詢明細的功能。
- ODS數據只能增長不能修改,並且數據都是業務系統原樣拷貝,因此可能存在數據衝突的可能,解決辦法是爲每一條數據增長一個時間版原本區分相同的數據。
數據集市
數據集市(Data Mart)簡稱DM,是爲了特定的應用目的或應用範圍,而從數據倉庫中獨立出來的一部分數據,也可稱爲部門數據或主題數據(subjectarea)。在數據倉庫的實施過程當中每每能夠從一個部門的數據集市着手,之後再用幾個數據集市組成一個完整的數據倉庫。須要注意的就是在實施不一樣的數據集市時,同一含義的字段定義必定要相容,這樣再之後實施數據倉庫時纔不會形成大麻煩。
數據集市,以某個業務應用爲出發點而建設的局部DW,DW只關心本身須要的數據,不會全盤考慮企業總體的數據架構和應用,每一個應用有本身的DM數據結構
特徵:
- DM結構清洗,針對性強,擴展性好,由於DM僅僅是單對一個領域而創建,容易維護修改
- DM建設任務繁重,公司有衆多業務,每一個業務單獨創建表。
- DM的創建更多的消耗存儲空間,單獨一個DM可能數據量不大,可是企業全部領域都創建DM這個數據量就會增長多倍。