作者 | 張志豪
?數(shù)據(jù)倉庫是什么?
還是得先從定義開始:數(shù)據(jù)倉庫是一個(gè)面向主題的(Subject Oriented)、集成的(Integrated)、相對穩(wěn)定的(Non-Volatile)、反映歷史變化(Time Variant)的數(shù)據(jù)集合,用于支持管理決策。這里的“支持決策”往往是面向分析的,需要能夠?qū)I(yè)務(wù)系統(tǒng)的數(shù)據(jù)進(jìn)行大批量的、多維度的數(shù)據(jù)探索和分析,從而幫助最終的業(yè)務(wù)決策。此文是我對于數(shù)據(jù)倉庫項(xiàng)目的一點(diǎn)點(diǎn)感悟,不涉及具體的技術(shù)實(shí)現(xiàn)。
但它從來都不是(純)技術(shù)項(xiàng)目
數(shù)據(jù)倉庫項(xiàng)目上用到了很多技術(shù)組件,相信很多人都可以用報(bào)菜名的方式列舉出來,聽起來像是一個(gè)用了很多時(shí)髦組件、很性感的技術(shù)項(xiàng)目。但如果從權(quán)重上來看,我認(rèn)為技術(shù)不是最重要的部分。對于數(shù)據(jù)倉庫項(xiàng)目而言,更需要的是一套策略,一套組合拳,不僅僅需要技術(shù)卓越、業(yè)務(wù)理解,還需要需求方、業(yè)務(wù)方在整體架構(gòu)和流程上的配合。
數(shù)據(jù)倉庫建設(shè)應(yīng)該包括這些主要流程:
- 業(yè)務(wù)需求訪談、業(yè)務(wù)架構(gòu)設(shè)計(jì);?
- 技術(shù)選型、技術(shù)架構(gòu)設(shè)計(jì);?
- 客戶頂層戰(zhàn)略支持以及各個(gè)業(yè)務(wù)方、需求方的配合;?
- 具體業(yè)務(wù)需求分析、數(shù)據(jù)建模;?
- ETL導(dǎo)入數(shù)據(jù);?
- 報(bào)表開發(fā)、數(shù)據(jù)服務(wù)、數(shù)據(jù)集市等。?
數(shù)據(jù)倉庫項(xiàng)目實(shí)施不是一開始就馬上接數(shù)據(jù)進(jìn)來,而是需要經(jīng)過前期的幾輪業(yè)務(wù)訪談確定整體的業(yè)務(wù)需求并完成總體業(yè)務(wù)架構(gòu)設(shè)計(jì),并根據(jù)業(yè)務(wù)架構(gòu)和具體的客戶技術(shù)狀況確定頂層的技術(shù)選型和技術(shù)架構(gòu)設(shè)計(jì),在和數(shù)據(jù)倉庫涉及到的業(yè)務(wù)方、需求方、技術(shù)方等同步確定并獲得了各方支持之后才能準(zhǔn)備開始真正準(zhǔn)備接入數(shù)據(jù),也就是上述4~6這幾個(gè)步驟。
而4~6是不斷地在進(jìn)行的過程,而不是等到所有業(yè)務(wù)分析結(jié)束之后再進(jìn)行ETL的部分。目的是快速接入、快速出結(jié)果、快速見效,如果遇到問題也可快速調(diào)整,更重要的目的是獲得客戶信任。如果時(shí)間拉得太久,客戶很有可能會因?yàn)榭床坏叫Ч鴨适判摹_@個(gè)邏輯也類似于故事卡中的“縱向拆分”。
“客戶的游艇在哪里?”姊妹篇:“客戶的金子在哪里?”
說起數(shù)據(jù)倉庫,用到比較多的比喻是“海平面下的冰山”和“沉睡在礦山的黃金”。如果我們只是把多個(gè)不同業(yè)務(wù)系統(tǒng)的礦石(數(shù)據(jù))搬過來、規(guī)整規(guī)整,是不能淘到金子的。如果耗費(fèi)大量人力物力,而只是做了搬運(yùn)工的工作,那整個(gè)項(xiàng)目就是“虧錢”的項(xiàng)目。因?yàn)樗鼪]有產(chǎn)生業(yè)務(wù)價(jià)值(金子)。這個(gè)時(shí)候不禁自問:“客戶的金子在哪里”?
我理解業(yè)務(wù)價(jià)值主要分布在這些領(lǐng)域:
- 支撐運(yùn)營,輔助決策:各類活動、業(yè)務(wù)增長依賴于數(shù)據(jù)來做決策,這時(shí)核心指標(biāo)計(jì)算、對齊各個(gè)業(yè)務(wù)口徑、多維度分析等十分重要,準(zhǔn)確及時(shí)的結(jié)果能夠幫助客戶制定運(yùn)營決策。?
- 數(shù)據(jù)分析:對于用戶轉(zhuǎn)化、用戶行為分析等場景,數(shù)據(jù)探索、交互式分析、數(shù)據(jù)可視化等支持十分重要。?
- 業(yè)務(wù)支撐:機(jī)器學(xué)習(xí)、風(fēng)控、數(shù)據(jù)服務(wù)、推薦系統(tǒng)等對于數(shù)據(jù)倉庫提出了更高的要求。?
也不局限于上述的幾個(gè)領(lǐng)域,我認(rèn)為主要的判斷條件是數(shù)據(jù)倉庫的產(chǎn)出結(jié)果是否為業(yè)務(wù)系統(tǒng)提供了有價(jià)值、甚至是可以直接變現(xiàn)的支持作用。比如風(fēng)控和推薦系統(tǒng)就可以從防止了多少可能的財(cái)產(chǎn)損失和提升了多少訂單轉(zhuǎn)化率兩個(gè)維度來衡量“金子”的價(jià)值。
如果只是說我們這個(gè)月多了xxx張報(bào)表,新接入了xxx個(gè)業(yè)務(wù)系統(tǒng),進(jìn)行了xxx次業(yè)務(wù)訪談聽起來好像很忙,但仔細(xì)想想其實(shí)并沒有產(chǎn)生太多的“金子”。也有人說可以通過衡量ROI(投資回報(bào)率(ROI)= 年利潤/投資總額)來量化“含金量”,在實(shí)際操作中“年利潤”可能還好計(jì)算,但是“投資總額”往往難以衡量,因?yàn)榈讓拥臄?shù)據(jù)、集群、運(yùn)維往往是和其他業(yè)務(wù)數(shù)據(jù)共用的,且很多流程的數(shù)據(jù)流非常長,這大大增加了衡量“投資總額”的難度,以至于大多數(shù)據(jù)倉庫都很難精確衡量投資了多少。這也不意味著就可以完全不用思考ROI了,我認(rèn)為即使沒有精確的數(shù)據(jù),也可以用預(yù)估的方式來粗略的判斷大致的ROI是多少,而不是悶頭往前走。
同時(shí)前期的步驟也非常重要,沒有前期的數(shù)據(jù)搬運(yùn)、建模等步驟,這些“金子”就變成了無源之水,前期的數(shù)據(jù)獲取、數(shù)據(jù)清洗、數(shù)據(jù)建模等步驟決定了能不能淘到高質(zhì)量的黃金。這里更像“木桶理論”,從業(yè)務(wù)分析、數(shù)據(jù)建模、數(shù)據(jù)加載、數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換到指標(biāo)計(jì)算、報(bào)表開發(fā)、數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等等步驟如果有一塊短板都會導(dǎo)致其他過程的產(chǎn)出“含金量”下降,尤其是前期的步驟,如果前期步驟沒有做好,后續(xù)幾乎就是“garbage in, garbage out”了。?