數據倉庫(Data Warehouse):是一個面向主題的(Subject Oriented)、集成的(Integrated)、相對穩定的(Non-Volatile)、反映歷史變化(Time Variant)的數據集合,用於支持管理決策(Decision Making Support)。
數據倉庫的目標
- 實現跨系統數據共享,解決信息孤島
- 提升數據質量
- 輔助決策分析
- 提供統一的數據服務
數據倉庫的構建的挑戰
- 信息整合在技術上的複雜度
- 信息整合的管理成本
- 數據資源的獲取
- 信息整合的實施週期以及整合項目的風險等。
數據存儲區
ODS整個企業單位全局級的明細數據、 數據倉庫/數據集市集市中存儲了不同級別的彙總數據、 共享數據庫、 特徵庫-存放各種數據分羣特徵、業務分類特徵等業務信息、 模型庫-存放構建的各種業務模型信息等
2 關鍵步驟
明確主題-爲誰分析、分析什麼
基於商業維度分析數據維度-確定任務相關的所有維,維度層次和名稱
基於事件 提取指標,確定事實表的度量變量和數據粒度
確定數據量級
確定時效性要求、更新頻率
分析型數據源通常使用星型結構佈局 分拆維度DIM 事實表FACT ,join得到星型或者雪花型模型
3.建立數據倉庫的邏輯模型
具體步驟如下:
(1)確定建立數據倉庫邏輯模型的基本方法。
(2)基於主題視圖,把主題視圖中的數據定義轉到邏輯數據模型中。
(3)識別主題之間的關係。
(4)分解多對多的關係。
(5)用範式理論檢驗邏輯數據模型。
(6)由用戶審覈邏輯數據模型。
4.邏輯數據模型轉化爲數據倉庫數據模型
具體步驟如下:
(1)刪除非戰略性數據:數據倉庫模型中不需要包含邏輯數據模型中的全部數據項,某些用於操作處理的數據項要刪除。
(2)增加時間主鍵:數據倉庫中的數據一定是時間的快照,因此必須增加時間主鍵。
(3)增加派生數據:對於用戶經常需要分析的數據,或者爲了提高性能,可以增加派生數據。
(4)加入不同級別粒度的彙總數據:數據粒度代表數據細化程度,粒度越大,數據的彙總程度越高。粒度是數據倉庫設計的一個重要因素,它直接影響到駐留在數據倉庫中的數據量和可以執行的查詢類型。顯然,粒度級別越低,則支持的查詢越多;反之,能支持的查詢就有限。
對數據操作的效率與能得到數據的詳細程度是一對矛盾,通常,人們希望建成的系統既有較高的效率,又能得到所需的詳細資料。實施數據倉庫的一個重要原則就是不要試圖包括所有詳細數據,因爲90%的分析需求是在彙總數據上進行的。試圖將粒度細化到最低層,只會增加系統的開銷,降低系統的性能。
5.數據倉庫數據模型優化數據倉庫設計時,性能是一項主要考慮因素。
在數據倉庫建成後,也需要經常對其性能進行監控,並隨着需求和數據量的變更進行調整。 優化數據倉庫設計的主要方法是:
- 合併不同的數據表。
- 通過增加彙總表避免數據的動態彙總。
- 通過冗餘字段減少表連接的數量,不要超過3~5個。
- 用ID代碼而不是描述信息作爲鍵值。
- 對數據表做分區。
6.數據清洗轉換和傳輸
由於業務系統所使用的軟硬件平臺不同,編碼方法不同,業務系統中的數據在加載到數據倉庫之前,必須進行數據的清洗和轉換,保證數據倉庫中數據的一致性。 在設計數據倉庫的數據加載方案時,必須考慮以下幾項要求: ·加載方案必須能夠支持訪問不同的數據庫和文件系統。
·數據的清洗、轉換和傳輸必須滿足時間要求,能夠在規定的時間範圍內完成。
·支持各種轉換方法,各種轉換方法可以構成一個工作流。
·支持增量加載,只把自上一次加載以來變化的數據加載到數據倉庫。
思爲數據倉庫建設
多維數據模型
基於時間範圍的事件統計 得到指標
提供的分析能力
事件分析(原始埋點) 漏斗分析(轉化率分析) 留存分析 (時間週期的行爲關聯) 分佈分析 (特徵分佈) 用戶路徑 (操作地圖) 模型歸因 相同維度的度量關聯
基礎庫DW
標準區——基礎檔案——維度
項目(樓盤)維度 房源維度 資源維度 用戶維度
標準區——業務記錄(事實表)——度量
分享 邀請 簽到
主題庫DM
- 客戶關係
- 客戶商品偏好
- 客戶活躍度 (活動等)
- 商品銷售統計
主題——推客、獲客
經紀人的客戶情況,訪客情況 主被動獲客 項目租戶的獲客情況
維度——用戶基本信息、用戶來源+來源資源(關聯項目)、用戶推薦關係
指標事件—— 首次訪問、首次授權
主題——用戶意向畫像
維度——用戶基本信息、用戶來源、用戶使用偏好(功能次數)
指標事件——參與活動、 買點功能使用次數與時間
主題—— 商品銷售情況
維度 —— 時間 地區 項目
公共維度 時間 年-月-周-日 地點 地區 session 域名 設備 應用
基本事件 用戶瀏覽 用戶授權(留點) 用戶到訪