數倉規劃是數倉建設的(de)藍(lán)圖,涵蓋從(cóng)需求分析開(kāi)始到最終的(de)數倉評估驗收整個(gè)環境;數倉規劃之所以重要,是因為(wèi)它是描述了數據流動的(de)概念性框架,為(wèi)元數據管理(lǐ)奠定了基礎,對(duì)數據加工(gōng)過程的(de)理(lǐ)解、數倉建設的(de)交流分享、數據的(de)使用和(hé)問(wèn)題排查、數倉健康度的(de)評估都(dōu)提供了極大的(de)幫助。
需要強調的(de)是本文(wén)是從(cóng)宏觀上(shàng)描述數倉的(de)框架,具體(tǐ)到數據模型的(de)細節對(duì)比、存儲選型和(hé)管理(lǐ)、接入數據源管理(lǐ)等數倉建設的(de)周邊在本節不涉及。通(tōng)過本文(wén)的(de)閱讀,你(nǐ)将了解到以下(xià)知識:
從(cóng)業(yè)務矩陣的(de)設計(jì)(宏觀、微(wēi)觀)、橫向的(de)分層、縱向的(de)分線到主題劃分等角度解構數倉
數倉建設的(de)實施流程
1數據倉庫規劃
矩陣
分宏觀和(hé)微(wēi)觀來(lái)看(kàn),宏觀的(de)是公司的(de)整體(tǐ)業(yè)務布局,微(wēi)觀的(de)是産品的(de)業(yè)務過程布局和(hé)業(yè)務過程的(de)維度分解交叉信息。
宏觀矩陣
宏觀矩陣描述的(de)是公司的(de)業(yè)務線和(hé)對(duì)應的(de)數據狀況,其行和(hé)列一般分别對(duì)應着業(yè)務主題和(hé)數據主題。
業(yè)務主題對(duì)應着公司的(de)業(yè)務線布局,比如電(diàn)商、遊戲、視(shì)頻(pín)、應用商店、新聞資訊、浏覽器(qì)等
數據主題根據抽象的(de)程度和(hé)視(shì)角有(yǒu)不同的(de)取法:
一般取業(yè)務線中用戶對(duì)內(nèi)容的(de)消費(fèi)或者相(xiàng)關行為(wèi),比如曝光(guāng)、點擊、消費(fèi)、播放(fàng)、分享等,對(duì)這(zhè)些行為(wèi)的(de)劃分又(yòu)可分為(wèi)原生(shēng)行為(wèi)主題(通(tōng)用和(hé)業(yè)務相(xiàng)關)、衍生(shēng)行為(wèi)主題(留存、活躍、流失等),這(zhè)種劃分方法更多的(de)取自(zì)數據的(de)底層和(hé)公共層,因為(wèi)高(gāo)層的(de)數據都(dōu)是多行為(wèi)的(de)彙總。
對(duì)數據主題的(de)另外(wài)劃分方式參加分主題部分,這(zhè)種劃分方法更多的(de)取自(zì)數據的(de)高(gāo)層
引自(zì)《數據倉庫實踐之業(yè)務數據矩陣的(de)設計(jì)-木東居士》
微(wēi)觀矩陣
微(wēi)觀矩陣描述的(de)是主題和(hé)對(duì)應的(de)維度關系,下(xià)面以常見的(de)內(nèi)容消費(fèi)和(hé)用戶主題兩個(gè)維度來(lái)看(kàn)微(wēi)觀矩陣的(de)規劃
-w698
業(yè)務過程描述的(de)一般是對(duì)內(nèi)容的(de)消費(fèi)抽象,可以是原子(zǐ)的(de),也可以是抽象的(de),比如卡片曝光(guāng)維度的(de)劃分可以從(cóng)以下(xià)兩個(gè)大方向入手:
通(tōng)用标識維度(版本、機(jī)型、渠道(dào)、網絡、時(shí)間(jiān)等)
業(yè)務過程維度:消費(fèi)者等級、消費(fèi)位置、消費(fèi)路(lù)徑、其它等
分層
ODS->DW->DM->DA(ADS)層是如何劃分的(de)?
清晰數據結構:每一個(gè)數據分層都(dōu)有(yǒu)它的(de)作(zuò)用域和(hé)職責,在使用表的(de)時(shí)候能更方便地(dì)定位和(hé)理(lǐ)解
減少重複開(kāi)發:規範數據分層,開(kāi)發一些通(tōng)用的(de)中間(jiān)層數據,能夠減少極大的(de)重複計(jì)算(suàn)
統一數據口徑:通(tōng)過數據分層,提供統一的(de)數據出口,統一對(duì)外(wài)輸出的(de)數據口徑
複雜(zá)問(wèn)題簡單化(huà):将一個(gè)複雜(zá)的(de)任務分解成多個(gè)步驟來(lái)完成,每一層解決特定的(de)問(wèn)題
層劃分
一個(gè)完整數倉分層演示圖如下(xià):
一個(gè)典型的(de)數倉分層樣例:
-w730
分層依據
分層的(de)依據在ods、da、dim層一般無歧義,關鍵在dw層的(de)分層依據,也是數據倉庫分層建設的(de)核心。
每層劃分的(de)依據如下(xià):
ods層:存放(fàng)原始數據信息,原則上(shàng)不進行任何的(de)數據清晰,和(hé)數據源保持一緻。
dw層:數據公共層,是數倉建設的(de)重點,一般是日(rì)志(zhì)子(zǐ)表和(hé)一些寬表,主要完成數據的(de)清洗、轉換等
dm層:數據集市(shì)層,是最直接體(tǐ)系數據資産的(de)層,一般是彙總數據,現(xiàn)在已經逐步弱化(huà),面向挖掘、數據分析等
da層:數據應用層,高(gāo)度彙總數據,主要用于報表展示。
分線
分線也分宏觀和(hé)微(wēi)觀,宏觀的(de)是整體(tǐ)的(de)業(yè)務線,比如應用分發線、商業(yè)智能線、遊戲運營線、廣告流量線等;微(wēi)觀的(de)是某個(gè)app或者某個(gè)具體(tǐ)的(de)線,本節介紹的(de)是app的(de)數據線。分線和(hé)分主題有(yǒu)很(hěn)多相(xiàng)似的(de)地(dì)方,隻是看(kàn)待數據的(de)角度不同,分主題是從(cóng)數據內(nèi)容分類和(hé)對(duì)外(wài)服務的(de)角度看(kàn),類似商品分類;而分線是從(cóng)數據生(shēng)産加工(gōng)過程的(de)角度來(lái)看(kàn),類似業(yè)務生(shēng)産流水(shuǐ)線。
用戶主線
反映整個(gè)app的(de)用戶規模,比如整個(gè)app的(de)活躍、累積活躍、新增、留存、回流、流失。
用戶群線
滿足某些行為(wèi)的(de)用戶群的(de)追蹤,目的(de)是為(wèi)了進行個(gè)性化(huà)的(de)運營等活動,該線的(de)升華擴展是用戶畫(huà)像。
內(nèi)容消費(fèi)
提供的(de)消費(fèi)實體(tǐ)的(de)曝光(guāng)、點擊、生(shēng)成、轉化(huà)等,以及內(nèi)容的(de)累積消費(fèi)、消費(fèi)排行等都(dōu)屬于內(nèi)容線。
狀态線
一般會作(zuò)為(wèi)輔線存在,相(xiàng)當于維表的(de)存在,狀态線一般又(yòu)分為(wèi)以下(xià)幾種:
1.天表全量用戶狀态,會加入一些修正,以及基于天全量的(de)累積表的(de)快照(zhào)全量用戶信息維表;
2.開(kāi)關操作(zuò)狀态線。記錄開(kāi)關狀态變更記錄,得到當前用戶的(de)開(kāi)關狀态快照(zhào),是多态記錄的(de)一種特殊情況;
3.添加删除狀态線。記錄用戶的(de)添加删除等操作(zuò),得到當前用戶操作(zuò)結果的(de)保有(yǒu)快照(zhào);
4.其它,比如登錄狀态、用戶等級等。
商業(yè)化(huà)線
商業(yè)化(huà)線相(xiàng)關的(de)與收入相(xiàng)關的(de),比如cp合作(zuò)、廣告位、推廣位、訂單、會員(yuán)充值等;
需要說(shuō)明(míng)的(de)是本系列的(de)數倉的(de)主要介紹的(de)是流量型産品形态、更多的(de)是關注用戶規模,所以主線是是關于用戶的(de),而對(duì)于其它的(de)産品形态,比如購物(wù)類、充值消費(fèi)類的(de)則主線可能是商業(yè)化(huà)線等。此外(wài)作(zuò)為(wèi)用戶流量型産品,還(hái)隐藏着另外(wài)一個(gè)更加常用的(de)線:自(zì)查線,每個(gè)主題的(de)自(zì)查明(míng)細表,基于event_id或者參數的(de)展開(kāi),但(dàn)是沒有(yǒu)參數值的(de)組合過濾。(自(zì)查線這(zhè)個(gè)似乎沒有(yǒu)必要)
下(xià)圖是一張數倉的(de)分線演示圖,每個(gè)框是一張表,不同顔色的(de)框串聯成各自(zì)的(de)數倉線。
分主題
在進行分矩陣設計(jì)的(de)時(shí)候牽涉到分行和(hé)列的(de)業(yè)務主題,此處詳細介紹下(xià)數據主題的(de)設計(jì),本部分的(de)設計(jì)是從(cóng)高(gāo)層次上(shàng)的(de)。
主題劃分的(de)一些依據:業(yè)務過程(或子(zǐ)過程,比如訂單)、ER中的(de)E(或者R,比如商品主題)、數據服務的(de)對(duì)象(運營主題)、數據的(de)用途(比如商業(yè));分主題也即數據集市(shì),根據業(yè)務形态的(de)不同,會衍生(shēng)出不同的(de)主題,但(dàn)以下(xià)主題在app中廣泛存在:
用戶主題(也即大盤:新增活躍、留存)
內(nèi)容主題(具體(tǐ)提供的(de)服務形式,也可以理(lǐ)解為(wèi)産品主題,含曝光(guāng)、點擊、分享等用戶消費(fèi)傳播行為(wèi))
運營主題(可能合并到某個(gè)內(nèi)容主題上(shàng),比如活動、通(tōng)知、彈窗、授權、分享等)
商業(yè)化(huà)主題(廣告、訂單等通(tōng)常用于結算(suàn))
技(jì)術主題(故障率、崩潰率、準确率等衡量技(jì)術指标)
備注:
社交主題可以合并到內(nèi)容主題也可以合并到運營主題,需要視(shì)app的(de)具體(tǐ)特性和(hé)重視(shì)程度确定
數倉的(de)分主題主要體(tǐ)現(xiàn)在數據集市(shì)層,而數據集市(shì)層可能會因為(wèi)使用比如kylin等多維分析工(gōng)具被弱化(huà)。
用戶主題
用戶主題是産品的(de)盤子(zǐ),就像家(jiā)店鋪,多少人(rén)使用就像多少顧客。基于用戶主題的(de)常見統計(jì)有(yǒu)整體(tǐ)的(de)新增、活躍、累積活躍、新增留存、活躍留存等大盤數據,以及對(duì)某些關鍵行為(wèi)的(de)用戶的(de)後續追蹤,還(hái)有(yǒu)某些核心過程的(de)PUV、轉化(huà)漏鬥等。
內(nèi)容主題
內(nèi)容主題是盤子(zǐ)裏東西(xī)的(de)消費(fèi)狀況,就像提供的(de)菜單,每個(gè)菜被多少人(rén)點了。基于內(nèi)容主題的(de)常見統計(jì)有(yǒu)針對(duì)內(nèi)容(文(wén)章(zhāng)、視(shì)頻(pín)、商品等)的(de)各種消費(fèi)行為(wèi)(曝光(guāng)、點擊、購買、下(xià)載等)的(de)次數、人(rén)數、時(shí)長(cháng)、金(jīn)額等按不同維度的(de)度量統計(jì)。常見的(de)維度拆分有(yǒu)時(shí)間(jiān)拆分、地(dì)域拆分、位置(人(rén)貨場(chǎng)模型中的(de)場(chǎng))拆分、畫(huà)像拆分、渠道(dào)拆分等,對(duì)度量的(de)統計(jì)又(yòu)有(yǒu)累積、非累積、TopN等。
運營主題
廣告、促銷、活動等一切由于運營活動相(xiàng)關本身(shēn)的(de)數據統計(jì),以及運營活動對(duì)其它主題數據的(de)影響衡量。
營收主題
營收的(de)來(lái)源主要分為(wèi)以下(xià)幾種:
流量廣告
商務合作(zuò)
優惠券
充值消費(fèi)
會員(yuán)充值
訂單、打賞等
流量廣告的(de)數據主要産生(shēng)于用戶行為(wèi),而充值消費(fèi)的(de)數據主要來(lái)自(zì)業(yè)務庫相(xiàng)關。
以上(shàng)四個(gè)主題是在常見應用上(shàng)通(tōng)用的(de)主題,其它的(de)主題比如技(jì)術主題,在某些有(yǒu)明(míng)顯的(de)技(jì)術指标對(duì)比的(de)産品上(shàng)會占主要的(de)地(dì)位,比如文(wén)字識别類應用的(de)識别準确率、搜索類産品的(de)搜索滿意度、語音(yīn)智能助理(lǐ)類的(de)會話(huà)完成率等。這(zhè)些産品上(shàng)技(jì)術指标和(hé)用戶的(de)體(tǐ)驗密切相(xiàng)關,是産品未來(lái)發展重要的(de)參考方向,因此會強化(huà)出來(lái)做數據主題。另外(wài)如引流類或者與其他(tā)app有(yǒu)頻(pín)繁的(de)引流拉起等應用的(de)數據體(tǐ)系建設上(shàng),也會單獨拿(ná)出跳(tiào)轉對(duì)接數據做主題分析。總之,主題的(de)劃分并不是确定不變的(de),需要根據業(yè)務的(de)具體(tǐ)形态和(hé)重點度量的(de)指标等進行建設。
以上(shàng)的(de)矩陣、分層、分線、分主題的(de)規劃隻是從(cóng)不同的(de)角度來(lái)看(kàn)數據框架,本質都(dōu)是對(duì)數據流圖的(de)一種拆解,差異在拆解的(de)數據視(shì)角。
2數據倉庫實施
需求分析
了解業(yè)務過程,每個(gè)業(yè)務過程的(de)參與實體(tǐ)和(hé)各實體(tǐ)可能的(de)分析維度等信息; 了解數據源組成,有(yǒu)哪些數據源、數據的(de)更新周期;預構建指标體(tǐ)系,了解指标的(de)分類,分析維度、時(shí)效性要求;了解可能的(de)擴展需求,比如畫(huà)像寬表。需求分析階段是建立數倉的(de)概念模型,明(míng)白數倉要支持的(de)大緻需求,雖然數倉建設并不要完全滿足業(yè)務需求,在建設的(de)過程中肯定要有(yǒu)取舍,但(dàn)第一步進行需求分析能保證在數倉建設過程中不緻于偏離目标太多,避免建設爛尾或者好(hǎo)看(kàn)不好(hǎo)用的(de)繡花(huā)枕頭
指标體(tǐ)系
此部分會另外(wài)開(kāi)專題介紹,指标體(tǐ)系一般分為(wèi)三類:
用戶增長(cháng)體(tǐ)系
流量體(tǐ)系
營收體(tǐ)系
每個(gè)體(tǐ)系內(nèi)分析數據的(de)維度、更新周期等。指标體(tǐ)系的(de)建立是需求分析環節需要重點完成的(de)一步。
模型選擇
模型選擇環節要根據需求分析階段的(de)結論,在ER模型、維度建模等基本的(de)建模思想中選擇一種建模思想,比如說(shuō)選擇了維度建模,要進一步根據需求分析中相(xiàng)關的(de)業(yè)務過程和(hé)維度視(shì)角,在星型模型、雪(xuě)花(huā)模型、星座模型中選擇一種模式。這(zhè)個(gè)過程要充分的(de)結合業(yè)務的(de)實際狀況、開(kāi)發人(rén)力和(hé)成本、各模型的(de)優缺點等因素進行綜合分析,是關系到建模是否成功的(de)關鍵環節。需要說(shuō)明(míng)的(de)是,在快速叠代的(de)互聯網行業(yè),業(yè)務規則可能經常變化(huà),而對(duì)于不同粒度水(shuǐ)平進行度量和(hé)監控,進而快速響應的(de)需求卻基本保持不變,比如層級的(de)時(shí)間(jiān)粒度(年(nián)、月(yuè)、周、日(rì)、小(xiǎo)時(shí))、層級的(de)地(dì)理(lǐ)粒度(大區(qū)、省、市(shì)、區(qū)縣、商圈)以及基于産品自(zì)身(shēn)屬性的(de)層級粒度(大類、子(zǐ)類)。基于這(zhè)種特性,互聯網行業(yè)中廣泛采用維度建模的(de)思想,同時(shí)為(wèi)了使用的(de)方便,又(yòu)以星型模型和(hé)雪(xuě)花(huā)模型較多。
标準規劃
标準規劃是對(duì)數倉建設過程各階段中涉及的(de)對(duì)象、屬性、關系、鍵、交付物(wù)等進行規範定義,同時(shí)制定标準落地(dì)方式或者檢查的(de)方式。比如表命名規範、字段命名規範、任務命名規範、調度依賴規範、代碼開(kāi)發規範等。需求強調的(de)是,這(zhè)一步看(kàn)似無關緊要,也往往直接被忽略跳(tiào)過,但(dàn)好(hǎo)的(de)标準規劃能為(wèi)建設高(gāo)質量數倉的(de)保駕護航,對(duì)數倉質量、健康度的(de)保持都(dōu)大有(yǒu)裨益。
開(kāi)發部署
包含表設計(jì)、代碼開(kāi)發、調度開(kāi)發和(hé)告警開(kāi)發等
事(shì)實表和(hé)維表設計(jì)
維表設計(jì)
代碼開(kāi)發
流程、審核機(jī)制、回退機(jī)制
調度開(kāi)發
依賴任務的(de)配置
回跑機(jī)制
任務權限管理(lǐ)
告警開(kāi)發:
數據量異常,某些細分維度、字段值、計(jì)算(suàn)指标異常的(de)告警措施
任務失敗、等待超時(shí)、執行超時(shí)、上(shàng)下(xià)線、上(shàng)遊重跑等告警措施
開(kāi)發部署階段完成了數倉建設的(de)邏輯模型和(hé)物(wù)理(lǐ)模型設計(jì)階段,是數倉建設的(de)主要工(gōng)作(zuò)內(nèi)容。
評估驗收
對(duì)應的(de)問(wèn)題包含在相(xiàng)關問(wèn)題介紹部分,需要進一步思考數倉開(kāi)發的(de)交付物(wù)是什麽。
數據字典
指标口徑的(de)定義
核心表和(hé)其用途
數據流圖和(hé)重要指标的(de)出口
業(yè)務變動對(duì)數倉的(de)影響,比如某些手工(gōng)維護的(de)維表需要根據業(yè)務變動進行相(xiàng)應的(de)更新
3總結
本篇從(cóng)業(yè)務矩陣、分層、分線和(hé)分主題等方面對(duì)數倉的(de)規劃做了簡要的(de)描述。這(zhè)些方面的(de)差異隻在于剖析數倉的(de)角度,其目的(de)是一緻的(de),即為(wèi)了清晰地(dì)梳理(lǐ)數據體(tǐ)系、洞察數據狀态、以及更好(hǎo)地(dì)規劃未來(lái)數據地(dì)圖,從(cóng)而更好(hǎo)的(de)服務于各個(gè)業(yè)務需求方(BI報表、數據分析、用戶畫(huà)像等);本節最後簡要的(de)介紹了數倉開(kāi)發的(de)基本流程。
我們專注高(gāo)端建站,小(xiǎo)程序開(kāi)發、軟件(jiàn)系統定制開(kāi)發、BUG修複、物(wù)聯網開(kāi)發、各類API接口對(duì)接開(kāi)發等。十餘年(nián)開(kāi)發經驗,每一個(gè)項目承諾做到滿意為(wèi)止,多一次對(duì)比,一定讓您多一份收獲!