數(shù)倉的主題和主題域應該怎么劃分呢?

3 評論 27907 瀏覽 29 收藏 15 分鐘

編輯導語:數(shù)據(jù)倉庫在我們工作中是用于支持管理者的決策過程的,而主題是其中重要的一環(huán)。同時,在數(shù)據(jù)組織管理上,也是需要對業(yè)務進行橫向分層以及縱向主題域劃分。那么,數(shù)倉的主題與主題域該如何劃分呢?

數(shù)據(jù)倉庫之父 Bill Inmon 將數(shù)據(jù)倉庫描述為一個面向主題的、集成的、穩(wěn)定的、反應歷史變化的數(shù)據(jù)集合,用于支持管理者的決策過程。

一、前言

從上面的引言里面,我們其實可以知道主題在數(shù)倉建設里面絕對是很重要的一環(huán),這的確是的。數(shù)倉在建設過程中,對數(shù)據(jù)的組織管理上,不僅僅要進行橫向的分層,也需要根據(jù)業(yè)務情況進行縱向的主題域劃分。

看到這里可能就有疑問了,上面明明說的是面向主題,怎么又突然說到主題域了,這里就延伸出主題和主題域的關系了。

下面我就圍繞數(shù)倉主題、主題域以及兩者之間關系、劃分方式等,進行更詳細的闡述。

二、數(shù)倉主題是什么,主題域又是什么呢?

1. 數(shù)倉主題是什么?

數(shù)倉主題(Subject) 是在較高層次上將企業(yè)信息系統(tǒng)中某一分析對象(重點是分析的對象)的數(shù)據(jù)進行整合、歸類并分析的一種范圍,屬于一個抽象概念,簡單點說每一個主題對應一個宏觀分析領域。

下面舉例說明一下: 對于一個erp系統(tǒng)而言,“銷售分析”就是一個分析領域,這個“銷售分析”所涉及到的分析對象有商品、供應商、顧客、倉庫等,那么數(shù)倉主題就確定為商品主題、供應商主題、顧客主題、倉庫主題,“銷售分析”就可以作為一個主題域;

如果“產(chǎn)品分析”是一個分析領域,“產(chǎn)品分析”所涉及到的分析對象為商品、地域、時間、類別等,那么數(shù)倉的主題可以確定為商品主題、地域主題、時間主題、類別主題,“產(chǎn)品分析”可以作為一個主題域。

2. 數(shù)倉主題域是什么呢?

主題域通常是聯(lián)系較為緊密的數(shù)據(jù)主題的集合,可以根據(jù)業(yè)務的關注點,將這些數(shù)據(jù)主題劃分到不同的主題域,這種劃分個人感覺與Kimball思想更為相似,自下而上的方式,根據(jù)業(yè)務需求分析視角進行劃分。

其實這里市面上,也有一些不同的描述,上面對主題域的描述被歸于集合論,還有一種叫做是邊界論,這里稍微擴展下:

邊界論的論點是 “主題域是對某個主題進行分析后確定的主題的邊界“,這點個人感覺和 Inmon 指導思想類似,理清主題之間的邊界,由ER模型進行邏輯轉化,對某一主題域的分析,需要先確定這個主題的關系邊界,然后再進行邏輯建模。

我的話覺得兩者并不矛盾,只是所站的視角不同,邊界論是先從細微處也就是微觀延伸到宏觀,而集合論則是從宏觀到微觀的過程。

三、主題的劃分

主題的劃分和設計是對主題域進一步的分解,細化的過程。主題域下面可以有多個主題,主題還可以劃分成更多的子主題,主題和主題之間的建設可能會有交叉現(xiàn)象,而實體則是不可劃分的最小單位。

主題域、主題、實體的關系如下圖所示:


可以顯而易見地看出,主題域是一個更大的概念,主題是略次之,實體最小,這里的實體表示的是實體對象(對應企業(yè)中某一宏觀分析領域所涉及的分析對象),我的理解在維度建模的方法論上也可以說實體和維度某些概念是相似的。

四、主題域劃分方法

在進行數(shù)據(jù)倉庫設計時,一般是先基于一個主題或某部分主題進行優(yōu)先建設,所以在大多數(shù)數(shù)據(jù)倉庫的設計過程中都有一個主題域的選擇過程,主題域的確定必須由最終用戶和數(shù)據(jù)倉庫的設計人員共同完成。

而在劃分主題域時,大家的切入點不同可能會造成一些爭論、重構等的現(xiàn)象,考慮的方法有下面一些:

1. 按照所屬系統(tǒng)劃分:業(yè)務系統(tǒng)有幾種,就劃分幾種

2. 按照業(yè)務(功能模塊/業(yè)務線)或業(yè)務過程劃分

比如一個靠銷售廣告位置的門戶網(wǎng)站主題域可能會有廣告域,客戶域等,而廣告域可能就會有廣告的庫存,銷售分析、內(nèi)部投放分析等主題;

3. 按照部門劃分主題域

比如公司里面的人力、財務、銷售、運營等,運營域中可能會有工資支出分析、活動宣傳效果分析等主題。

4. 按照行業(yè)案例分析劃分主題域

在某些行業(yè),比如電信、金融都是最早建設數(shù)倉的行業(yè),都有一些規(guī)范,比如IBM 公司的 BDWM 九大金融主題模型,Teradata 公司的 FS-LDM 十大金融主題模型,都是行業(yè)應用比較廣泛的標準,如果是這兩個行業(yè)就可以參考構建自己的企業(yè)數(shù)據(jù)倉庫模型規(guī)范。

總而言之,切入的出發(fā)點邏輯不一樣,就可以存在不同的劃分邏輯。在建設過程中可采用迭代方式,不糾結于一次完成所有主題的抽象,可先從明確定義的主題開始,后續(xù)逐步歸納總結成自身行業(yè)的標準模型。

五、數(shù)據(jù)域是什么,和主題域之間的關系

在很多文檔上都有說數(shù)據(jù)域,反而沒有主題域的概念,那數(shù)據(jù)域到底是什么,又和主題域什么關系呢?

我自己在網(wǎng)上也搜索了很多,也沒查到對兩者的來源和區(qū)別說明讓我滿意的,但是我在看《阿里大數(shù)據(jù)之路》和 阿里的官方相關文檔 介紹上,看到了這個詞,下面可以看下引用的阿里對數(shù)據(jù)域的介紹:

數(shù)據(jù)域是指面向業(yè)務分析,將業(yè)務過程或者維度進行抽象的集合。為保障整個體系的生命力,數(shù)據(jù)域需要抽象提煉,并長期維護更新。

在劃分數(shù)據(jù)域時,既能涵蓋當前所有的業(yè)務需求,又能讓新業(yè)務在進入時可以被包含進已有的數(shù)據(jù)域或擴展新的數(shù)據(jù)域。

數(shù)據(jù)域的劃分工作可以在業(yè)務調(diào)研之后進行,需要分析各個業(yè)務模塊中有哪些業(yè)務活動。

我個人理解其實主題域和數(shù)據(jù)域差異不大,在實際過程中可以把主題域和數(shù)據(jù)域都當做一種域來處理了,不必糾結。

當我我也查到網(wǎng)上,有人總結的一段話,是將兩者描述為一種包含關系,姑且可以看下:

主題域:面向業(yè)務過程,將業(yè)務活動事件進行抽象的集合,如下單、支付、退款都是業(yè)務過程,針對公共明細層(DWD)進行主題劃分。

數(shù)據(jù)域:面向業(yè)務分析,將業(yè)務過程或者維度進行抽象的集合,針對公共匯總層(DWS)進行數(shù)據(jù)域劃分。

六、主題域及主題劃分的準則

為保證整個數(shù)倉體系的生命力,數(shù)據(jù)域需要抽象提煉,長期維護及更新,但不要輕易變動,在劃分數(shù)據(jù)域時,既能涵蓋當前所有的業(yè)務需求,又能在新業(yè)務接入時無影響的包含進已有的數(shù)據(jù)域中或者擴展出新的數(shù)據(jù)域,這是劃分的一個準則。

特別說明的是,主題域是無法一次劃分完整的,在大多數(shù)數(shù)據(jù)倉庫的設計過程中都有一個主題域的選擇過程。業(yè)務一直發(fā)展的,設計之初就想著一次把所有主題全部劃分完整,是不太可能,也不太適用的,我們可以遵循上面說的劃分主題域的準則,以不斷迭代的方式進行。

七、案例介紹

1. 馬蜂窩數(shù)倉主題、主題域劃分案例

以馬蜂窩訂單交易模型的建設為例,基于業(yè)務生產(chǎn)總線的設計是常見的模式,首先調(diào)研訂單交易的完整過程,定位過程中的關鍵節(jié)點,確認各節(jié)點上發(fā)生的核心事實信息。

2. 網(wǎng)易云音樂數(shù)倉主題、主題域劃分案例

網(wǎng)易云音樂將一級主題域劃分為參與者、服務及產(chǎn)品,版權及協(xié)議、公共、事實這5個大的主題域,二級細節(jié)分類按照業(yè)務過程抽象獲得。

八、個人工作中的案例介紹

之前在一家互聯(lián)網(wǎng)醫(yī)療公司工作,主題域的劃分是按照部門bu進行劃分的,這種方式適合較大的集團公司,各個事業(yè)部或者業(yè)務交叉不大的,不同的bu使用不同的數(shù)據(jù)域,這種架構它是一種小型的、部門級數(shù)據(jù)倉庫,企業(yè)的不同部門有不同的 “主題域”,因而就有不同的獨立性數(shù)據(jù)集市。

實際操作是按照部門劃分了獨立的數(shù)據(jù)集市,也就是主題域之后,再利用業(yè)務過程抽象出細分的主題。。

九、擴展下獨立性數(shù)據(jù)集市的概念

獨立型數(shù)據(jù)集市的實質(zhì),是為了滿足企業(yè)內(nèi)各部門的分析需求而建立的微型數(shù)據(jù)倉庫。有些企業(yè)在實施數(shù)據(jù)倉庫項目時,為了節(jié)省投資,盡快見效,針對不同部門的需要,分步建立起這類數(shù)據(jù)集市,以解決一些較為迫切的問題。

但是,當多個獨立的數(shù)據(jù)集市增長到一定規(guī)模后,由于沒有統(tǒng)一的數(shù)據(jù)倉庫協(xié)調(diào),企業(yè)只會又增長出一些新的信息孤島,仍然不能以整個企業(yè)的視角來分析數(shù)據(jù),所以就延伸出另外一種企業(yè)級的數(shù)據(jù)倉庫架構,后面有時間再單獨分析這塊。

十、我的一些建議

結合我參與過的數(shù)倉項目建設經(jīng)驗和踩過的坑,對于數(shù)倉主題、主題域劃分個人比較推薦按照業(yè)務系統(tǒng)劃分或者bu部門來劃分主題域(一級主題),這樣的話邊界較為清晰,數(shù)據(jù)倉庫開發(fā)過程也不會因為模型主題的歸屬引發(fā)扯皮和不同意見,然后根據(jù)各個系統(tǒng)中的業(yè)務過程抽象整合出主題(叫二級主題域也可以)。

十一、總結

數(shù)倉建設是一整套方法論,但方法論不一定是真理,每個公司都有自己的業(yè)務場景及需求,方法論或別人的方案不一定適用自己的公司,我們需要學習利用這些方法論,然后結合自己公司實際的業(yè)務場景來制定自己的主題及主題域劃分規(guī)范。

 

本文由 @白程序員的自習室 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉載。

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請關注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 學習了

    回復
  2. 請問大佬能否給個聯(lián)系方式,有點問題想請教

    來自廣東 回復
    1. 可以關注公眾號,有聯(lián)系方式

      來自北京 回復