為什么你的數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目推進(jìn)不下去?
本文轉(zhuǎn)載自微信公眾號(hào)「木東居士」,作者木東居士 。轉(zhuǎn)載本文請(qǐng)聯(lián)系木東居士公眾號(hào)。
為什么你的數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目推進(jìn)不下去?
0x00 前言
最近很多小伙伴都來(lái)找居士咨詢類似的問(wèn)題:
- 我的數(shù)據(jù)倉(cāng)庫(kù)規(guī)范設(shè)計(jì)的很好,為什么大家卻不執(zhí)行?
- 數(shù)據(jù)倉(cāng)庫(kù)規(guī)范推著推著,感覺(jué)項(xiàng)目就涼了,不能持續(xù)?
- 老板看不到數(shù)據(jù)倉(cāng)庫(kù)的價(jià)值,不再投入人力了。
不同的團(tuán)隊(duì)會(huì)面臨不同的難題,今天居士簡(jiǎn)單聊一下這幾年自己親身經(jīng)歷以及幫助一些小伙伴解惑后的一些感想。
廢話少說(shuō),直接上正題。分為三個(gè)角度討論:
- 體系搭建
- 業(yè)務(wù)理解
- 溝通管理
這三個(gè)角度,也是我認(rèn)為一個(gè)每一個(gè)數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目負(fù)責(zé)人要具備的核心能力。下面分別從這三個(gè)角度進(jìn)行分享。
0x01 體系搭建能力
說(shuō)句心里話,大部分互聯(lián)網(wǎng)公司的數(shù)據(jù)倉(cāng)庫(kù),其實(shí)是不需要特別復(fù)雜和專業(yè)的數(shù)據(jù)模型的。
因此,大家要先有足夠的信心去認(rèn)為,你按照設(shè)計(jì)出來(lái)的數(shù)據(jù)倉(cāng)庫(kù)體系,是能cover住大部分業(yè)務(wù)場(chǎng)景的。此處可以去參考居士之前的數(shù)據(jù)倉(cāng)庫(kù)文章。
那么,為什么還要提這個(gè)體系搭建能力呢?
這里想強(qiáng)調(diào)的是,你對(duì)于數(shù)據(jù)倉(cāng)庫(kù)整體的規(guī)劃和思考能力。切記不要紙上談兵,搞一堆什么模型,什么分層,其實(shí)沒(méi)有什么用的,不能真正解決問(wèn)題的設(shè)計(jì),都是假的。
拋開這些模型之類的亂七八糟的角度來(lái)看,居士舉幾個(gè)例子,這些例子其實(shí)能解決你很多問(wèn)題,而這些方案帶來(lái)的效率提升,就會(huì)讓你能感覺(jué)到數(shù)據(jù)倉(cāng)庫(kù)的帶來(lái)的價(jià)值。
記住一點(diǎn),不要指望一種表設(shè)計(jì)能滿足100%的需求,如果有,請(qǐng)告訴我。
一、Bitmap表
舉個(gè)例子,用戶活躍Bitmap表。
表結(jié)構(gòu):
- ds:日期
- uid:用戶id
- day_act_bitmap:01010010101010,1表示當(dāng)天活躍,0表示某一天不活躍
這么一張表,在day_act_bitmap字段里面存放用戶的歷史活躍情況,能滿足絕大部分關(guān)于活躍統(tǒng)計(jì)的需求。
如果感覺(jué)不夠,再在里面補(bǔ)充幾個(gè)維度,再加個(gè)周活躍,年活躍,這不就ok了?
二、用戶維度行為寬表
表結(jié)構(gòu):
- ds:日期
- uid:用戶id
- 場(chǎng)景1的活躍次數(shù)
- 場(chǎng)景2的活躍次數(shù)
- 場(chǎng)景3的活躍次數(shù)
這么一張用戶維度的寬表,又能幫你滿足一大波需求
三、業(yè)務(wù)統(tǒng)計(jì)大寬表
類似前面的,不再解釋了。
這種設(shè)計(jì)還有很多,就不一一列舉了~
這些設(shè)計(jì)都不是多么嚴(yán)謹(jǐn)?shù)哪P驮O(shè)計(jì),但是很有用,也能解決很多問(wèn)題。大家可以把這些小trick整合到數(shù)據(jù)倉(cāng)庫(kù)模型設(shè)計(jì)中。
有了真正能解決業(yè)務(wù)需求模型能力之后,就是如何讓大家執(zhí)行了。特別是規(guī)范制定后大家不遵守該怎么辦?一般有下面幾種方式:
- 制定可執(zhí)行的規(guī)范,一定是可操作的,不要搞太虛的,比如大家可以思考一下,自己的數(shù)據(jù)分層設(shè)計(jì),能否明確兩個(gè)層次的的具體差別是什么?能否做到可以不用思考按照規(guī)范就能確定分層
- 通過(guò)流程&管理手段保證執(zhí)行
- 化系統(tǒng)化強(qiáng)制執(zhí)行,不遵守不能建表,不能寫入數(shù)據(jù)
具體用哪種方式就看具體的場(chǎng)景了。在大部分團(tuán)隊(duì)的前期,居士推薦前兩種結(jié)合。
0x02 業(yè)務(wù)理解能力
拋開業(yè)務(wù)設(shè)計(jì)的數(shù)據(jù)倉(cāng)庫(kù)模型,都是在耍流氓。
這一塊有挺多想說(shuō)了,想了想也不知道該說(shuō)什么了。簡(jiǎn)單聊一下?lián)Q位思考吧。
假設(shè)你是一個(gè)業(yè)務(wù)產(chǎn)品經(jīng)理。
假設(shè)你是一個(gè)數(shù)據(jù)分析師。
假設(shè)你是一個(gè)推薦算法工程師。
回過(guò)頭看一下自己的表結(jié)構(gòu)設(shè)計(jì),靠譜不,合理不。
如果體會(huì)不到,就去找一些關(guān)系好的同事,看看他們?cè)谀愕臄?shù)據(jù)基礎(chǔ)上做了多少工作才能讓數(shù)據(jù)可用?多聽一下吐槽。
為什么要做這些?
當(dāng)你的用戶對(duì)你的產(chǎn)出不滿的時(shí)候,你做的東西是沒(méi)有價(jià)值的,沒(méi)有價(jià)值的東西是不能長(zhǎng)久的。
所以,具備良好的業(yè)務(wù)理解能力是保證你的數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目能順利推進(jìn)下去的核心動(dòng)力。
0x03 溝通管理能力
前段時(shí)間做過(guò)一次分享,提到了一個(gè)觀點(diǎn):如果一個(gè)項(xiàng)目失敗了,90%的鍋都應(yīng)該在項(xiàng)目經(jīng)理這里,而這90%的因素里面,至少有90%是因?yàn)闇贤▎?wèn)題。
根據(jù)溝通的對(duì)象,可以把溝通問(wèn)題劃分為下面幾個(gè)方面:
- 向上溝通
- 向用戶溝通
- 向成員溝通
思考一下:
- 你多久和老板同步你的項(xiàng)目進(jìn)度?
- 你多久暴露一次你的項(xiàng)目風(fēng)險(xiǎn)?
- 你的用戶和老板是否認(rèn)同你的項(xiàng)目?jī)r(jià)值?
- 你的項(xiàng)目成員是否能從你的項(xiàng)目中收益?
- 你的項(xiàng)目成員是否愿意跟著你干事情?
- 你是否定期組織項(xiàng)目團(tuán)建?是否定期畫餅?
- 你的項(xiàng)目有成果了,是否帶上了項(xiàng)目成員?
- 你是否有請(qǐng)外部的數(shù)據(jù)倉(cāng)庫(kù)專家來(lái)進(jìn)行授課? 相信我,專家意見,尤為重要!
上面這些是大部分同學(xué)的數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目推進(jìn)不下去的過(guò)程中會(huì)遇到的問(wèn)題。
拋開上面這些容易看到和關(guān)注的點(diǎn),還有下面這些內(nèi)容大家是否考慮到?
- 你的數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目,是否損害某些相關(guān)方的利益?
- 你的數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目,是否從某個(gè)側(cè)面在diss某些同學(xué)的設(shè)計(jì)不合理?
如果考慮到了,該如何去解決?是否有經(jīng)驗(yàn)?
以上都是溝通問(wèn)題。
關(guān)于管理的問(wèn)題暫時(shí)就不多提了,參考項(xiàng)目管理即可,關(guān)于項(xiàng)目管理的內(nèi)容大家可以去考一個(gè)pmp的證書,證書沒(méi)什么用,主要是學(xué)一些東西,再結(jié)合互聯(lián)網(wǎng)的特色應(yīng)用起來(lái)即可。
0xFF 總結(jié)
總結(jié)一下吧,從居士的角度來(lái)講,當(dāng)你的數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目推進(jìn)不下去的時(shí)候,優(yōu)先考慮的是溝通的問(wèn)題,良好的溝通能解決大部分的困難。
優(yōu)秀的業(yè)務(wù)理解是決定你的成果能被其他人接受的可能性。
最后,適當(dāng)且合理的體系搭建能力,能助力你顯得更優(yōu)秀。