數(shù)據(jù)分析必不可少之數(shù)據(jù)倉庫!
數(shù)據(jù)倉庫的目的是構建面向分析的集成化數(shù)據(jù)環(huán)境,為企業(yè)提供決策支持(Decision Support)。數(shù)據(jù)倉庫本身并不“生產(chǎn)”任何數(shù)據(jù),同時自身也不需要“消費”任何的數(shù)據(jù),數(shù)據(jù)來源于外部,并且開放給外部應用,這也是為什么叫“倉庫”,而不叫“工廠”的原因。
01 數(shù)據(jù)倉庫的特點
- 面向主題的,按照一定的主題進行組織,主題是指用戶使用數(shù)據(jù)倉庫進行決策時所關心的重點方面,后面會重點舉例說明。
- 數(shù)據(jù)倉庫是集成的,數(shù)據(jù)倉庫的數(shù)據(jù)有來自于分散的操作型數(shù)據(jù),將所需數(shù)據(jù)從原來的數(shù)據(jù)中抽取出來,進行加工和集成之后,進入數(shù)據(jù)倉庫。
- 數(shù)據(jù)倉庫是不可更新的,數(shù)據(jù)倉庫主要是為決策分析供數(shù)據(jù),所涉及的操作主要是數(shù)據(jù)的查詢;
02 數(shù)據(jù)倉庫有如下要求
- 效率足夠高:數(shù)據(jù)倉庫的分析數(shù)據(jù)一般分為日、周、月、季、年等,可以看出,日為周期的數(shù)據(jù)要求的效率***。
- 數(shù)據(jù)質量:由于數(shù)據(jù)倉庫流程通常分為多個步驟,包括數(shù)據(jù)清洗,轉換,裝載等,那么由于臟數(shù)據(jù)會導致數(shù)據(jù)失真,就可能導致做出錯誤的決策。
- 可擴展性:主要體現(xiàn)在數(shù)據(jù)建模的合理性。
數(shù)據(jù)倉庫的基本架構主要包含的是數(shù)據(jù)流入流出的過程,可以分為三層——數(shù)據(jù)獲取、數(shù)據(jù)倉庫、數(shù)據(jù)應用:
數(shù)據(jù)倉庫從各數(shù)據(jù)源獲取數(shù)據(jù)及在數(shù)據(jù)倉庫內(nèi)的數(shù)據(jù)轉換和流動都可以認為是ETL(抽取Extra, 轉化Transfer, 裝載Load)的過程。ETL是數(shù)據(jù)倉庫的流水線,也可以認為是數(shù)據(jù)倉庫的血液,它維系著數(shù)據(jù)倉庫中數(shù)據(jù)的新陳代謝,而數(shù)據(jù)倉庫日常的管理和維護工作的大部分精力就是保持ETL的正常和穩(wěn)定。
03 數(shù)據(jù)倉庫
1.數(shù)據(jù)獲取
對于網(wǎng)站數(shù)據(jù)倉庫而言,點擊流日志是一塊主要的數(shù)據(jù)來源,它是網(wǎng)站分析的基礎數(shù)據(jù);當然網(wǎng)站的數(shù)據(jù)庫數(shù)據(jù)也并不可少,其記錄這網(wǎng)站運營的數(shù)據(jù)及各種用戶操作的結果,其他是網(wǎng)站內(nèi)外部可能其它各類對于公司決策有用的數(shù)據(jù)。
2.數(shù)據(jù)倉庫
2.1數(shù)據(jù)模型:
數(shù)據(jù)模型是抽象描述現(xiàn)實世界的一種工具和方法,是通過抽象的實體及實體之間聯(lián)系的形式,來表示現(xiàn)實世界中事務的相互關系的一種映射。在這里,數(shù)據(jù)模型表現(xiàn)的抽象的是實體和實體之間的關系,通過對實體和實體之間關系的定義和描述,來表達實際的業(yè)務中具體的業(yè)務關系。
數(shù)據(jù)倉庫模型是數(shù)據(jù)模型中針對特定的數(shù)據(jù)倉庫應用系統(tǒng)的一種特定的數(shù)據(jù)模型
通過上圖,我們能夠很容易的看出在整個數(shù)據(jù)倉庫的建模過程中,我們需要經(jīng)歷一般四個過程:
- 業(yè)務建模:生成業(yè)務模型,主要解決業(yè)務層面的分解和程序化。
- 領域建模:生成領域模型,主要是對業(yè)務模型進行抽象處理,生成領域概念模型。
- 邏輯建模:生成邏輯模型,主要是將領域模型的概念實體以及實體之間的關系進行數(shù)據(jù)庫層次的邏輯化。
- 物理建模:生成物理模型,主要解決,邏輯模型針對不同關系型數(shù)據(jù)庫的物理化以及性能等一些具體的技術問題。
因此,在整個數(shù)據(jù)倉庫的模型的設計和架構中,既涉及到業(yè)務知識,也涉及到了具體的技術,我們既需要了解豐富的行業(yè)經(jīng)驗,同時,也需要一定的信息技術來幫助我們實現(xiàn)我們的數(shù)據(jù)模型,最重要的是,我們還需要一個非常適用的方法論,來指導我們自己針對我們的業(yè)務進行抽象,處理,生成各個階段的模型。
2.2數(shù)據(jù)主題:
數(shù)據(jù)模型的建設,維度的選擇,是為了滿足數(shù)據(jù)主題的需求。數(shù)據(jù)主題通常就是業(yè)務需求的提煉。
2.3數(shù)據(jù)報表:
報表幾乎是每個數(shù)據(jù)倉庫的必不可少的一類數(shù)據(jù)應用,將聚合數(shù)據(jù)和多維分析數(shù)據(jù)展示到報表,提供了最為簡單和直觀的數(shù)據(jù)。
這里的數(shù)據(jù)匯總指的是基于特定需求的簡單匯總(基于多維數(shù)據(jù)的聚合體現(xiàn)在多維數(shù)據(jù)模型中),簡單匯總可以是網(wǎng)站的總Pageviews、Visits、Unique Visitors等匯總數(shù)據(jù),也可以是Avg. time on page、Avg. time on site等平均數(shù)據(jù),這些數(shù)據(jù)可以直接地展示于報表上。
2.4數(shù)據(jù)集市和開放API
數(shù)據(jù)集市(Data Mart) ,也叫數(shù)據(jù)市場,可以理解為字段非常多的寬表,比如銷售表,除了包含訂單和金額等必需的字段,還包含可能使用的產(chǎn)品信息集合、用戶信息集合、甚至銷售人員的信息,是數(shù)據(jù)倉庫的核心組成部分。
- 提升數(shù)據(jù)準確性:因為建立面向主題的數(shù)據(jù)表之后,不用再根據(jù)需求的不同,建立不同的結果表,自然發(fā)生錯誤的幾率會大大降低
- 提升效率:由于是面向主題的,所以需要的任何數(shù)據(jù)都可以從數(shù)據(jù)集市表直接簡單獲取。
開放API,指對外開放的查詢等接口。
數(shù)據(jù)質量中心:
元數(shù)據(jù)管理
元數(shù)據(jù)(Meta Date),其實應該叫做解釋性數(shù)據(jù),或者數(shù)據(jù)字典,即數(shù)據(jù)的數(shù)據(jù)。主要記錄數(shù)據(jù)倉庫中模型的定義、各層級間的映射關系、監(jiān)控數(shù)據(jù)倉庫的數(shù)據(jù)狀態(tài)及ETL的任務運行狀態(tài)。一般會通過元數(shù)據(jù)資料庫(Metadata Repository)來統(tǒng)一地存儲和管理元數(shù)據(jù),其主要目的是使數(shù)據(jù)倉庫的設計、部署、操作和管理能達成協(xié)同和一致。