數(shù)倉的主題和主題域應(yīng)該怎么劃分呢?
編輯導(dǎo)語:數(shù)據(jù)倉庫在我們工作中是用于支持管理者的決策過程的,而主題是其中重要的一環(huán)。同時,在數(shù)據(jù)組織管理上,也是需要對業(yè)務(wù)進(jìn)行橫向分層以及縱向主題域劃分。那么,數(shù)倉的主題與主題域該如何劃分呢?
數(shù)據(jù)倉庫之父 Bill Inmon 將數(shù)據(jù)倉庫描述為一個面向主題的、集成的、穩(wěn)定的、反應(yīng)歷史變化的數(shù)據(jù)集合,用于支持管理者的決策過程。
一、前言
從上面的引言里面,我們其實(shí)可以知道主題在數(shù)倉建設(shè)里面絕對是很重要的一環(huán),這的確是的。數(shù)倉在建設(shè)過程中,對數(shù)據(jù)的組織管理上,不僅僅要進(jìn)行橫向的分層,也需要根據(jù)業(yè)務(wù)情況進(jìn)行縱向的主題域劃分。
看到這里可能就有疑問了,上面明明說的是面向主題,怎么又突然說到主題域了,這里就延伸出主題和主題域的關(guān)系了。
下面我就圍繞數(shù)倉主題、主題域以及兩者之間關(guān)系、劃分方式等,進(jìn)行更詳細(xì)的闡述。
二、數(shù)倉主題是什么,主題域又是什么呢?
1. 數(shù)倉主題是什么?
數(shù)倉主題(Subject) 是在較高層次上將企業(yè)信息系統(tǒng)中某一分析對象(重點(diǎn)是分析的對象)的數(shù)據(jù)進(jìn)行整合、歸類并分析的一種范圍,屬于一個抽象概念,簡單點(diǎn)說每一個主題對應(yīng)一個宏觀分析領(lǐng)域。
下面舉例說明一下: 對于一個erp系統(tǒng)而言,“銷售分析”就是一個分析領(lǐng)域,這個“銷售分析”所涉及到的分析對象有商品、供應(yīng)商、顧客、倉庫等,那么數(shù)倉主題就確定為商品主題、供應(yīng)商主題、顧客主題、倉庫主題,“銷售分析”就可以作為一個主題域;
如果“產(chǎn)品分析”是一個分析領(lǐng)域,“產(chǎn)品分析”所涉及到的分析對象為商品、地域、時間、類別等,那么數(shù)倉的主題可以確定為商品主題、地域主題、時間主題、類別主題,“產(chǎn)品分析”可以作為一個主題域。
2. 數(shù)倉主題域是什么呢?
主題域通常是聯(lián)系較為緊密的數(shù)據(jù)主題的集合,可以根據(jù)業(yè)務(wù)的關(guān)注點(diǎn),將這些數(shù)據(jù)主題劃分到不同的主題域,這種劃分個人感覺與Kimball思想更為相似,自下而上的方式,根據(jù)業(yè)務(wù)需求分析視角進(jìn)行劃分。
其實(shí)這里市面上,也有一些不同的描述,上面對主題域的描述被歸于集合論,還有一種叫做是邊界論,這里稍微擴(kuò)展下:
邊界論的論點(diǎn)是 “主題域是對某個主題進(jìn)行分析后確定的主題的邊界“,這點(diǎn)個人感覺和 Inmon 指導(dǎo)思想類似,理清主題之間的邊界,由ER模型進(jìn)行邏輯轉(zhuǎn)化,對某一主題域的分析,需要先確定這個主題的關(guān)系邊界,然后再進(jìn)行邏輯建模。
我的話覺得兩者并不矛盾,只是所站的視角不同,邊界論是先從細(xì)微處也就是微觀延伸到宏觀,而集合論則是從宏觀到微觀的過程。
三、主題的劃分
主題的劃分和設(shè)計(jì)是對主題域進(jìn)一步的分解,細(xì)化的過程。主題域下面可以有多個主題,主題還可以劃分成更多的子主題,主題和主題之間的建設(shè)可能會有交叉現(xiàn)象,而實(shí)體則是不可劃分的最小單位。
主題域、主題、實(shí)體的關(guān)系如下圖所示:
可以顯而易見地看出,主題域是一個更大的概念,主題是略次之,實(shí)體最小,這里的實(shí)體表示的是實(shí)體對象(對應(yīng)企業(yè)中某一宏觀分析領(lǐng)域所涉及的分析對象),我的理解在維度建模的方法論上也可以說實(shí)體和維度某些概念是相似的。
四、主題域劃分方法
在進(jìn)行數(shù)據(jù)倉庫設(shè)計(jì)時,一般是先基于一個主題或某部分主題進(jìn)行優(yōu)先建設(shè),所以在大多數(shù)數(shù)據(jù)倉庫的設(shè)計(jì)過程中都有一個主題域的選擇過程,主題域的確定必須由最終用戶和數(shù)據(jù)倉庫的設(shè)計(jì)人員共同完成。
而在劃分主題域時,大家的切入點(diǎn)不同可能會造成一些爭論、重構(gòu)等的現(xiàn)象,考慮的方法有下面一些:
1. 按照所屬系統(tǒng)劃分:業(yè)務(wù)系統(tǒng)有幾種,就劃分幾種
2. 按照業(yè)務(wù)(功能模塊/業(yè)務(wù)線)或業(yè)務(wù)過程劃分
比如一個靠銷售廣告位置的門戶網(wǎng)站主題域可能會有廣告域,客戶域等,而廣告域可能就會有廣告的庫存,銷售分析、內(nèi)部投放分析等主題;
3. 按照部門劃分主題域
比如公司里面的人力、財(cái)務(wù)、銷售、運(yùn)營等,運(yùn)營域中可能會有工資支出分析、活動宣傳效果分析等主題。
4. 按照行業(yè)案例分析劃分主題域
在某些行業(yè),比如電信、金融都是最早建設(shè)數(shù)倉的行業(yè),都有一些規(guī)范,比如IBM 公司的 BDWM 九大金融主題模型,Teradata 公司的 FS-LDM 十大金融主題模型,都是行業(yè)應(yīng)用比較廣泛的標(biāo)準(zhǔn),如果是這兩個行業(yè)就可以參考構(gòu)建自己的企業(yè)數(shù)據(jù)倉庫模型規(guī)范。
總而言之,切入的出發(fā)點(diǎn)邏輯不一樣,就可以存在不同的劃分邏輯。在建設(shè)過程中可采用迭代方式,不糾結(jié)于一次完成所有主題的抽象,可先從明確定義的主題開始,后續(xù)逐步歸納總結(jié)成自身行業(yè)的標(biāo)準(zhǔn)模型。
五、數(shù)據(jù)域是什么,和主題域之間的關(guān)系
在很多文檔上都有說數(shù)據(jù)域,反而沒有主題域的概念,那數(shù)據(jù)域到底是什么,又和主題域什么關(guān)系呢?
我自己在網(wǎng)上也搜索了很多,也沒查到對兩者的來源和區(qū)別說明讓我滿意的,但是我在看《阿里大數(shù)據(jù)之路》和 阿里的官方相關(guān)文檔 介紹上,看到了這個詞,下面可以看下引用的阿里對數(shù)據(jù)域的介紹:
數(shù)據(jù)域是指面向業(yè)務(wù)分析,將業(yè)務(wù)過程或者維度進(jìn)行抽象的集合。為保障整個體系的生命力,數(shù)據(jù)域需要抽象提煉,并長期維護(hù)更新。
在劃分?jǐn)?shù)據(jù)域時,既能涵蓋當(dāng)前所有的業(yè)務(wù)需求,又能讓新業(yè)務(wù)在進(jìn)入時可以被包含進(jìn)已有的數(shù)據(jù)域或擴(kuò)展新的數(shù)據(jù)域。
數(shù)據(jù)域的劃分工作可以在業(yè)務(wù)調(diào)研之后進(jìn)行,需要分析各個業(yè)務(wù)模塊中有哪些業(yè)務(wù)活動。
我個人理解其實(shí)主題域和數(shù)據(jù)域差異不大,在實(shí)際過程中可以把主題域和數(shù)據(jù)域都當(dāng)做一種域來處理了,不必糾結(jié)。
當(dāng)我我也查到網(wǎng)上,有人總結(jié)的一段話,是將兩者描述為一種包含關(guān)系,姑且可以看下:
主題域:面向業(yè)務(wù)過程,將業(yè)務(wù)活動事件進(jìn)行抽象的集合,如下單、支付、退款都是業(yè)務(wù)過程,針對公共明細(xì)層(DWD)進(jìn)行主題劃分。
數(shù)據(jù)域:面向業(yè)務(wù)分析,將業(yè)務(wù)過程或者維度進(jìn)行抽象的集合,針對公共匯總層(DWS)進(jìn)行數(shù)據(jù)域劃分。
六、主題域及主題劃分的準(zhǔn)則
為保證整個數(shù)倉體系的生命力,數(shù)據(jù)域需要抽象提煉,長期維護(hù)及更新,但不要輕易變動,在劃分?jǐn)?shù)據(jù)域時,既能涵蓋當(dāng)前所有的業(yè)務(wù)需求,又能在新業(yè)務(wù)接入時無影響的包含進(jìn)已有的數(shù)據(jù)域中或者擴(kuò)展出新的數(shù)據(jù)域,這是劃分的一個準(zhǔn)則。
特別說明的是,主題域是無法一次劃分完整的,在大多數(shù)數(shù)據(jù)倉庫的設(shè)計(jì)過程中都有一個主題域的選擇過程。業(yè)務(wù)一直發(fā)展的,設(shè)計(jì)之初就想著一次把所有主題全部劃分完整,是不太可能,也不太適用的,我們可以遵循上面說的劃分主題域的準(zhǔn)則,以不斷迭代的方式進(jìn)行。
七、案例介紹
1. 馬蜂窩數(shù)倉主題、主題域劃分案例
以馬蜂窩訂單交易模型的建設(shè)為例,基于業(yè)務(wù)生產(chǎn)總線的設(shè)計(jì)是常見的模式,首先調(diào)研訂單交易的完整過程,定位過程中的關(guān)鍵節(jié)點(diǎn),確認(rèn)各節(jié)點(diǎn)上發(fā)生的核心事實(shí)信息。
2. 網(wǎng)易云音樂數(shù)倉主題、主題域劃分案例
網(wǎng)易云音樂將一級主題域劃分為參與者、服務(wù)及產(chǎn)品,版權(quán)及協(xié)議、公共、事實(shí)這5個大的主題域,二級細(xì)節(jié)分類按照業(yè)務(wù)過程抽象獲得。
八、個人工作中的案例介紹
之前在一家互聯(lián)網(wǎng)醫(yī)療公司工作,主題域的劃分是按照部門bu進(jìn)行劃分的,這種方式適合較大的集團(tuán)公司,各個事業(yè)部或者業(yè)務(wù)交叉不大的,不同的bu使用不同的數(shù)據(jù)域,這種架構(gòu)它是一種小型的、部門級數(shù)據(jù)倉庫,企業(yè)的不同部門有不同的 “主題域”,因而就有不同的獨(dú)立性數(shù)據(jù)集市。
實(shí)際操作是按照部門劃分了獨(dú)立的數(shù)據(jù)集市,也就是主題域之后,再利用業(yè)務(wù)過程抽象出細(xì)分的主題。。
九、擴(kuò)展下獨(dú)立性數(shù)據(jù)集市的概念
獨(dú)立型數(shù)據(jù)集市的實(shí)質(zhì),是為了滿足企業(yè)內(nèi)各部門的分析需求而建立的微型數(shù)據(jù)倉庫。有些企業(yè)在實(shí)施數(shù)據(jù)倉庫項(xiàng)目時,為了節(jié)省投資,盡快見效,針對不同部門的需要,分步建立起這類數(shù)據(jù)集市,以解決一些較為迫切的問題。
但是,當(dāng)多個獨(dú)立的數(shù)據(jù)集市增長到一定規(guī)模后,由于沒有統(tǒng)一的數(shù)據(jù)倉庫協(xié)調(diào),企業(yè)只會又增長出一些新的信息孤島,仍然不能以整個企業(yè)的視角來分析數(shù)據(jù),所以就延伸出另外一種企業(yè)級的數(shù)據(jù)倉庫架構(gòu),后面有時間再單獨(dú)分析這塊。
十、我的一些建議
結(jié)合我參與過的數(shù)倉項(xiàng)目建設(shè)經(jīng)驗(yàn)和踩過的坑,對于數(shù)倉主題、主題域劃分個人比較推薦按照業(yè)務(wù)系統(tǒng)劃分或者bu部門來劃分主題域(一級主題),這樣的話邊界較為清晰,數(shù)據(jù)倉庫開發(fā)過程也不會因?yàn)槟P椭黝}的歸屬引發(fā)扯皮和不同意見,然后根據(jù)各個系統(tǒng)中的業(yè)務(wù)過程抽象整合出主題(叫二級主題域也可以)。
十一、總結(jié)
數(shù)倉建設(shè)是一整套方法論,但方法論不一定是真理,每個公司都有自己的業(yè)務(wù)場景及需求,方法論或別人的方案不一定適用自己的公司,我們需要學(xué)習(xí)利用這些方法論,然后結(jié)合自己公司實(shí)際的業(yè)務(wù)場景來制定自己的主題及主題域劃分規(guī)范。
本文由 @白程序員的自習(xí)室 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
學(xué)習(xí)了
請問大佬能否給個聯(lián)系方式,有點(diǎn)問題想請教
可以關(guān)注公眾號,有聯(lián)系方式