「數倉面試」如何確定主題域?
大家好,我是一哥,前幾天跟一個朋友聊了一些數據中臺建設的內容,針對數據倉庫中主題域如何劃分這個話題聊了很多。其實數據倉庫建設的理論大家已經都知道了不少,也看過不少書,那么在實際建設數據倉庫中,我們還是會遇到各種問題。
前段時間招人,面試了幾個簡歷上都寫了有3年以上數倉開發的,當我問他“如何確定主題域?”,他卻說“我來公司的時候已經都搞好了……”,再問他“如果進入一個新領域,從0到1搭建數倉,怎么確定主題域呢?” 他就蒙了……
今天一哥帶你一起聊聊主題域如何劃分?
01什么是主題
主題是在較高層次上將企業信息系統中的數據進行綜合、歸類和分析利用的一個抽象概念,每一個主題基本對應一個宏觀的分析領域。在邏輯意義上,它是對應企業中某一宏觀分析領域所涉及的分析對象。
簡單說,一個主題對應一個分析對象。分析對象就是在決策、分析時重點關注的東西,這個東西其實是非常主觀的,在不同的企業,或者企業的不同發展時期,所關注的點會不一樣,從而影響有些主題可能存在或者不存在。
數據倉庫是面向主題的應用,主要功能是將數據綜合、歸類并進行分析利用。數據倉庫模型設計除橫向的分層外,通常還需要根據業務情況縱向劃分主題域。主題域是業務對象高度概括的概念層次歸類,目的是便于數據的管理和應用。
02如何劃分主題
劃分主題域方法
在業務調研之后,可以進行主題域的劃分。劃分主題域,需要分析各個業務模塊中有哪些業務活動。通常我們按照以下方法劃分主題域,可以按照用戶企業的部門劃分,也可以按照業務過程或者業務板塊中的功能模塊劃分。
按照系統劃分:業務系統有幾種,就劃分為幾類
按業務過程劃分:比如業務系統中有商品、交易、物流等
按部門規劃:比如公司內的生產、供應鏈、研發、銷售等
目前有些成熟的行業,比如電信、銀行,他們也是最早用數據倉庫的行業,已經形成了一些規范,可以直接按照規范來就行了。其中IBM金融數據模型數據存儲模型FSDM,是金融行業應用極為廣泛的數據模型,可以作為我們構建企業級數據倉庫主題域模型劃分的重要依據。
對于新興的一些行業,或者業內沒有形成標準的話,那么就可以參照上面的幾類方法,進行分類,先從邊界清晰的系統入手進行建設,形成經驗后逐步推到各個系統中。
個人比較推薦通過業務系統來進行一級主題域劃分,這樣邊界就會很明顯,數據倉庫開發過程中不會因為模型主題的歸屬“扯皮”,然后根據各個系統中的業務過程劃分二級主題域目前我參與過的兩個數據倉庫建設項目也都是這樣搞的。
主題域的核心
為保障整個體系的生命力,主題域需要抽象提煉,并長期維護更新,但不輕易變動。劃分數據域時,需滿足以下兩點:
- 能涵蓋當前所有的業務需求。
- 能在新業務進入時,無影響地被包含進已有的主題域中和擴展新的主題域。
一次能劃分好主題域嗎
首先,主題域是無法一次劃分完整的,一般是一次先建立幾個明確的主題,在大多數數據倉庫的設計過程中都有一個主題域的選擇過程。業務是一直發展的,因此設計之初不要想著一次把所有主題全部劃分完整。我們可以遵循上面說的劃分主題域的兩個要點,后續采用迭代的方式補充。
03總結
數據倉庫建設是一套方法論,但并不是一個“定理”,可能不會有完全符合你實際公司業務的“公式”,我們需要學習這些方法論,然后結合自己公司實際的業務場景來實現,只要能有序的把數據管控起來,同時又能高效的幫助數據分析,實現業務價值就好了,不必一味的追求“行業標準”。
本文轉載自微信公眾號「數據社」,可以通過以下二維碼關注。轉載本文請聯系數據社公眾號。