數(shù)倉構(gòu)建流程
本文為您介紹如何基于阿里巴巴OneData方法論最佳實(shí)踐,使用Dataphin助力企業(yè)數(shù)據(jù)中臺(tái)的建設(shè)與管理,快速構(gòu)建標(biāo)準(zhǔn)、規(guī)范的數(shù)據(jù)倉庫。
數(shù)倉構(gòu)建流程
下圖為使用Dataphin構(gòu)建數(shù)據(jù)倉庫的基本流程。
基本概念
在正式學(xué)習(xí)本教程之前,您需要了解以下基本概念:
數(shù)據(jù)板塊:數(shù)據(jù)板塊定義了數(shù)據(jù)倉庫的多種命名空間,是一種系統(tǒng)級的概念對象,是比主題域更高維度的業(yè)務(wù)劃分方法,適用于龐大的業(yè)務(wù)系統(tǒng)。當(dāng)數(shù)據(jù)的業(yè)務(wù)含義存在較大差異時(shí),您可以創(chuàng)建不同的數(shù)據(jù)板塊,讓各成員獨(dú)立管理不同的業(yè)務(wù),后續(xù)數(shù)據(jù)倉庫的建設(shè)將按照數(shù)據(jù)板塊進(jìn)行劃分。在Dataphin中,項(xiàng)目可以歸屬至數(shù)據(jù)板塊以實(shí)現(xiàn)規(guī)范建模功能,同一個(gè)數(shù)據(jù)板塊中可能包含多個(gè)不同的項(xiàng)目,所以數(shù)據(jù)板塊與項(xiàng)目的關(guān)系為1:N。例如,根據(jù)企業(yè)的事業(yè)群或事業(yè)部進(jìn)行劃分的數(shù)據(jù)板塊。
主題域:主題域主要用于存放同一數(shù)據(jù)板塊內(nèi)不同概念的指標(biāo)。例如,您可以劃分出商品域、交易域、會(huì)員域等,用于存放不同意義的指標(biāo)。
業(yè)務(wù)實(shí)體:業(yè)務(wù)實(shí)體包含業(yè)務(wù)對象和業(yè)務(wù)活動(dòng):
業(yè)務(wù)對象:即參與業(yè)務(wù)的主體和客體,通常情況下業(yè)務(wù)對象是實(shí)際存在、不因事件發(fā)生而存在的對象。例如客戶、員工、產(chǎn)品等具體的業(yè)務(wù)對象;地域、組織關(guān)系和產(chǎn)品類目等抽象的業(yè)務(wù)對象。
業(yè)務(wù)活動(dòng):是一個(gè)或者多個(gè)業(yè)務(wù)對象在某個(gè)時(shí)間(段)為了達(dá)成某種目的所進(jìn)行的活動(dòng)或者是某種活動(dòng)的結(jié)果。例如下單、支付、退款都是業(yè)務(wù)活動(dòng)。
維度:維度即進(jìn)行統(tǒng)計(jì)的對象。通常,維度是實(shí)際客觀存在的實(shí)體。Dataphin遵循Ralph Kimball的維度建模理論,創(chuàng)建維度,即從頂層規(guī)范業(yè)務(wù)中實(shí)體(或稱主數(shù)據(jù))的存在性及唯一性。維度及維度組合,也是派生指標(biāo)的統(tǒng)計(jì)粒度。例如,在分析交易過程時(shí),可以通過買家、賣家、商品和時(shí)間等維度描述交易發(fā)生的環(huán)境。
指標(biāo):指標(biāo)分為原子指標(biāo)和派生指標(biāo)。派生指標(biāo)是以原子指標(biāo)為基準(zhǔn),組裝統(tǒng)計(jì)粒度、統(tǒng)計(jì)周期及業(yè)務(wù)限定而生成的。
原子指標(biāo):是對指標(biāo)統(tǒng)計(jì)口徑、具體算法的一個(gè)抽象。根據(jù)計(jì)算邏輯復(fù)雜性,Dataphin將原子指標(biāo)分為兩種:
原生的原子指標(biāo):例如支付金額。
衍生原子指標(biāo):基于原子指標(biāo)組合構(gòu)建。例如,客單價(jià)通過支付金額除以買家數(shù)組合而來。
派生指標(biāo):是業(yè)務(wù)中常用的統(tǒng)計(jì)指標(biāo)。為保證統(tǒng)計(jì)指標(biāo)標(biāo)準(zhǔn)、規(guī)范、無二義性地生成,OneData方法論將派生指標(biāo)抽象為四部分:派生指標(biāo)=原子指標(biāo)+業(yè)務(wù)限定+統(tǒng)計(jì)周期+統(tǒng)計(jì)粒度。例如,原子指標(biāo)(銷售額)+業(yè)務(wù)限定(產(chǎn)品類別)+統(tǒng)計(jì)周期(每月統(tǒng)計(jì)一次)+統(tǒng)計(jì)粒度(按產(chǎn)品類別和月份進(jìn)行統(tǒng)計(jì))。
業(yè)務(wù)限定:統(tǒng)計(jì)的業(yè)務(wù)范圍,用于篩選出符合業(yè)務(wù)規(guī)則的記錄(類似于SQL中where后的條件,不包括時(shí)間區(qū)間)。原子指標(biāo)是計(jì)算邏輯的標(biāo)準(zhǔn)化定義,業(yè)務(wù)限定則是條件限制的標(biāo)準(zhǔn)化定義。例如,產(chǎn)品類別。
統(tǒng)計(jì)周期:統(tǒng)計(jì)的時(shí)間范圍,也可以稱為時(shí)間周期。例如最近1天、最近30天等(類似于SQL中where后的時(shí)間條件)。
統(tǒng)計(jì)粒度:統(tǒng)計(jì)分析的對象或視角,定義數(shù)據(jù)需要匯總的程度,可以理解為聚合運(yùn)算時(shí)的分組條件(類似于SQL中g(shù)roup by的對象)。粒度是維度的一個(gè)組合,指明您的統(tǒng)計(jì)范圍。例如,某個(gè)指標(biāo)是某個(gè)賣家在某個(gè)省份的成交額,則粒度就是賣家、省份這兩個(gè)維度的組合。
如果您需要統(tǒng)計(jì)全表的數(shù)據(jù),則粒度為全表。在指定粒度時(shí),您需要充分考慮到業(yè)務(wù)和維度的關(guān)系。統(tǒng)計(jì)粒度也被稱為粒度,是維度或維度組合,一般用于派生指標(biāo)構(gòu)建,是匯總表的唯一性識別方式。