kimball維度模型技術與指導

數據倉庫.jpg

?數據建設,解決的目標就是從數據源頭到數據價值實現的全鏈路工作言蛇,我們把這個鏈路比作有機蔬菜的商業(yè)化實現滑黔。那么笆包,數據倉庫建設就好比是這個商業(yè)化餐廳的廚師了。企業(yè)需求千萬萬拷沸,廚師的技能卻是有章可循的色查。

?本篇文章是基于kimball的代表作《數據倉庫工具箱》薯演,如果你是分析師撞芍、架構師或者是業(yè)務,對維度建模感興趣跨扮,那么不妨看上一看序无。對你來說,了解別人在干嘛衡创,對溝通成功率也能多一分提升帝嗡。如果想更深一步了解相關知識或者案例,建議您抽時間來看看這本書璃氢。

事實與維度

事實表

?事實哟玷,表示某個業(yè)務過程中的度量。比如你在制造一也、消費巢寡、存儲等過程中,與之對應的都會有可度量的事實椰苟。比如說造了多少個螺絲抑月,花了多少鈔票,倉庫剩余的存貨等舆蝴。事實表往往保留著維度表的鍵谦絮,以分析這些維度下事實的發(fā)展和變化题诵。

事務事實表

?一個明確細化的業(yè)務過程,對應的是時間或空間上某點的度量事件层皱,比如購物時的下單過程性锭。圍繞著此過程,考慮的指標可能有:下單數奶甘,下單金額篷店,下單商品數等。

周期快照事實表

?匯總發(fā)生在某一個特定周期臭家,如某一天疲陕、某周、某月的多個度量事件钉赁。一般包含多個事實蹄殃,它將符合同一個粒度的事實匯總起來。

累積快照事實表

?匯總發(fā)生在過程開始與結束之間可預測步驟內的度量事件(如入庫你踩、分揀诅岩、出庫)。管道或工作流過程(下單带膜、支付吩谦、退款等)具有定義的開始點、標準中間過程膝藕、定義的結束點式廷,他們在此類事實表中都可以被建模。

合并事實表

?將來自多個過程的芭挽、以相同粒度表示的事實合并為單一的合并事實表但指。為過程關聯性強羡棵,探索不同業(yè)務過程的之間的關聯,提供簡單快捷的分析。

事實表處理

  1. 一致性:業(yè)務過程應該能夠被清晰地定義晓铆,有著明確的業(yè)務邊界唇牧;對于表的創(chuàng)建烹看,應符合統(tǒng)一的規(guī)范百宇,增加可讀性;對于字段的使用昙篙,也應能夠做到同詞同義腊状;
  2. 可加性:度量值中類似銷量,是完全可加的瓢对;庫存寿酌,半可加的,你不能跨時間維度硕蛹;單價醇疼,不可加的硕并。而對于事實表中,我們盡可能的存儲完全可加的度量值秧荆,對于半可加倔毙、不可加度量值,通過拆分子乙濒、分母的形式達到我們的目的

維度表

?維度陕赃,是包含于業(yè)務過程度量事件有關的文本環(huán)境。它們用于描述與“誰颁股、什么么库、哪里、何時甘有、如何诉儒、為什么”有關的事件。維度常為一個主體亏掀,事實是跟這個主體有關的事務忱反。區(qū)別維度與事實,最重要的一點就是是否具有可計算性滤愕。

雪花維度

?為了維度表中的層級更加規(guī)范温算,通過與基本維度關聯,獲取低粒度屬性间影。這個過程包含如果包含多重維度表層次時注竿,這樣的模型即為雪花模型。這樣的模型宇智,對于理解蔓搞、查詢胰丁、性能都有很大影響随橘。建立扁平化、非規(guī)范化的維度表完全能夠替代雪花锦庸。

雜項維度

?在業(yè)務發(fā)展中机蔗,有很多各種各樣的小維度,重要而又龐雜甘萧。我們可以通過將這些小維度合并到統(tǒng)一的雜項維度表中進行管理萝嘁。

支架維度

?支架維度類似與雪花維度,區(qū)別在于它是基本維度中扬卷,包含了其他屬性維度牙言。比如,銀行維度中怪得,引用日期維度咱枉。這樣的輔助維度成為支架維度卑硫。同樣指出,這樣的方式不利于星型模型的建設蚕断,應該盡量較少使用欢伏。所希望的情況,維度之間的關聯應該由事實表來完成亿乳。

退化維度

?常是功能被弱化的一些主鍵硝拧,比如訂單號。在事實表中葛假,存在的意義主要是統(tǒng)計一些訂單數量等障陶。或者上卷時聊训,作為關聯鍵咸这,連接訂單維度的數據。

建設過程的一些思想和方法

緩慢變化維

?對于變化的數據魔眨,我們怎么才能夠追溯其歷史呢媳维?比如說,同樣的商品遏暴,我想了解今天與昨天的價格差侄刽,是相對賺了,還是虧了朋凉。這個時候州丹,我們就涉及到緩慢變化維的概念。

?簡單來說杂彭,它就是用戶解決歷史數據變化的一種方法墓毒,讓數據可追溯。而在處理緩慢變化維中亲怠,處理的方式有幾種所计。
?1:重寫
?只保留最新的數據,舍棄歷史的數據。主要場景团秽,業(yè)務不關心歷史變化情況主胧,或者不太會發(fā)生歷史變化;
?2:增加新行
?增加的新行习勤,采用修改的維度屬性踪栋,同時增加額外三個列,標識行有效時間图毕、截止時間夷都、當前行標識(曾命名為:bi_starttime/bi_endtime/bi_etltime)
?3:增加新屬性
?又稱替換現實。比如以前的部門叫BI予颤,后來換了個洋氣的名字囤官,就數據科學厢破。在存儲時,原來記錄部門的名稱只有一個治拿,考慮緩慢變化后摩泪,變成兩個。另一個叫劫谅,前名稱见坑。有時候也會考慮多種屬性,如:前前部門捏检,這種不太用到荞驴。
?4.微型維度
?當遇到頻繁+大量的數據修改時,那么記錄這些變化的數據將帶來大量的性能壓力贯城。這個時候熊楼,往往考慮對變化數據進行范圍化設計。如消費金額能犯,用戶每個月的消費金額都不同鲫骗,但是我們可以設置一個范圍:比如0-1萬元。這樣踩晶,她的消費變化就穩(wěn)定了执泰。
?5.組合設計
?考慮特定的場景,將上述的這些處理方法進行組合渡蜻。如:2+3

橋接表與多對多關系

?場景一:作者與書是一種多對多的關系,每本書可能有多個作者术吝,作者從賣書的利潤中獲取收入。這個時候茸苇,最優(yōu)的模型設計應該是怎么樣的排苍,來解決:書利潤有多少錢,每個作者多少錢学密,top10的書淘衙,top10的作者呢

?場景二:我們去體檢则果,在某些項目上幔翰,我們有多條重復的記錄漩氨。比如西壮,測量身高、測量血液等叫惊。這個時候款青,我們應該怎么設計,能夠將這些數據都記錄下來呢霍狰?

?從模型的角度來考慮抡草,我們應該盡可能的扁平化饰及,有時應采用行列轉換的方式來達到這個目的。而有時候康震,我們也需要一個橋接表燎含,來記錄這樣的關系。

建模過程

  1. 選擇業(yè)務過程
    ?在傳統(tǒng)的行業(yè)中腿短,是有比較成型的模型設計(如:FSLDM)的屏箍,從總體上設計,分成十大主題(人橘忱、產品赴魁、財務...),核心則是這些實體之間的關系钝诚。而在維度建模中颖御,以業(yè)務過程中發(fā)生的事務作為一條中軸線(核心源),將實體(維度)關系聯系在一起,來構建企業(yè)的數據倉庫

  2. 聲明粒度
    ?粒度凝颇,即是一種統(tǒng)計角度潘拱。一般情況下,應該從最細的粒度出發(fā)拧略,以便足夠覆蓋業(yè)多變的需求泽铛。

  3. 確定維度
    ?盡可能的將與事務相關的實體,納入到事實表中辑鲤。這樣對于數據探索也有著很大的幫助

  4. 確定事實
    ?可以理解為盔腔,需要哪里度量值吧

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市月褥,隨后出現的幾起案子弛随,更是在濱河造成了極大的恐慌,老刑警劉巖宁赤,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舀透,死亡現場離奇詭異,居然都是意外死亡决左,警方通過查閱死者的電腦和手機愕够,發(fā)現死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來佛猛,“玉大人惑芭,你說我怎么就攤上這事〖陶遥” “怎么了遂跟?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我幻锁,道長凯亮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任哄尔,我火速辦了婚禮假消,結果婚禮上,老公的妹妹穿的比我還像新娘岭接。我一直安慰自己置谦,他們只是感情好,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布亿傅。 她就那樣靜靜地躺著媒峡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪葵擎。 梳的紋絲不亂的頭發(fā)上谅阿,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音酬滤,去河邊找鬼签餐。 笑死,一個胖子當著我的面吹牛盯串,可吹牛的內容都是我干的氯檐。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼体捏,長吁一口氣:“原來是場噩夢啊……” “哼冠摄!你這毒婦竟也來了?” 一聲冷哼從身側響起几缭,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤河泳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后年栓,有當地人在樹林里發(fā)現了一具尸體拆挥,經...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年某抓,在試婚紗的時候發(fā)現自己被綠了纸兔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡否副,死狀恐怖汉矿,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情副编,我是刑警寧澤负甸,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布流强,位于F島的核電站痹届,受9級特大地震影響呻待,放射性物質發(fā)生泄漏。R本人自食惡果不足惜队腐,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一蚕捉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧柴淘,春花似錦迫淹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至第股,卻和暖如春应民,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夕吻。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工诲锹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人涉馅。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓归园,卻偏偏與公主長得像,于是被迫代替她去往敵國和親稚矿。 傳聞我的和親對象是個殘疾皇子庸诱,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348