白話數(shù)據(jù)產(chǎn)品(一)——數(shù)據(jù)倉庫

14 評(píng)論 35820 瀏覽 275 收藏 7 分鐘

數(shù)據(jù)倉庫是存放收集來的數(shù)據(jù)的地方,數(shù)據(jù)倉庫的特征有按時(shí)抽取、分層存儲(chǔ)、切片存儲(chǔ)、抽建模業(yè)務(wù)等。

數(shù)據(jù)產(chǎn)品的工作比較雜,從數(shù)據(jù)倉庫建模,指標(biāo)體系建立,到數(shù)據(jù)產(chǎn)品工具的設(shè)計(jì),再到偶爾一些數(shù)據(jù)分析報(bào)告的撰寫,甚至一些機(jī)器學(xué)習(xí)的預(yù)測模型都要有所了解。大公司可能每個(gè)職能都有專門的崗位來負(fù)責(zé),小公司的話可能真的要你一條龍了。

其實(shí)數(shù)據(jù)產(chǎn)品從頭到尾做的事情就是幫公司收集數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)、呈現(xiàn)數(shù)據(jù)、預(yù)測數(shù)據(jù),拆分到具體的工作中,將會(huì)在下面介紹。

收集和存儲(chǔ)數(shù)據(jù):數(shù)據(jù)倉庫

數(shù)據(jù)倉庫是存放收集來的數(shù)據(jù)的地方,做數(shù)據(jù)分析現(xiàn)在一般盡量不在業(yè)務(wù)數(shù)據(jù)上直接取數(shù),因?yàn)閷?duì)業(yè)務(wù)數(shù)據(jù)庫的壓力太大,影響線上業(yè)務(wù)的穩(wěn)定。

1. 數(shù)據(jù)收集的時(shí)間間隔

數(shù)據(jù)倉庫里的數(shù)據(jù)按照數(shù)據(jù)收集的時(shí)間間隔大致分為兩類:

  • 一類是可以進(jìn)行離線處理的數(shù)據(jù),一般包括內(nèi)部業(yè)務(wù)數(shù)據(jù)庫及外部數(shù)據(jù)(比如:爬蟲或第三方API);
  • 一類是需要實(shí)時(shí)處理的數(shù)據(jù),比如:內(nèi)部業(yè)務(wù)日志數(shù)據(jù)。

對(duì)于第一類一般的處理多數(shù)要求在“天”級(jí)別,比如說:一天從業(yè)務(wù)數(shù)據(jù)庫更新一次數(shù)據(jù)就足夠了,一般采用MapReduce等批處理框架來處理數(shù)據(jù),批處理框架在進(jìn)行大量數(shù)據(jù)的計(jì)算的時(shí)候有計(jì)算資源比較廉價(jià)等優(yōu)勢。

而第二類實(shí)時(shí)數(shù)據(jù)處理,需要采用一些流處理框架,例如:Storm、Spark等,來處理數(shù)據(jù),當(dāng)業(yè)務(wù)發(fā)展到一定階段,業(yè)務(wù)人員對(duì)數(shù)據(jù)的實(shí)時(shí)性要求會(huì)越來越高,也就對(duì)大數(shù)據(jù)技術(shù)團(tuán)隊(duì)提出了更高的要求,當(dāng)然實(shí)時(shí)處理數(shù)據(jù)所需要付出的代價(jià)也是更高的。

我們要分辨清楚,哪些數(shù)據(jù)采用批處理就可以了,哪些數(shù)據(jù)是有實(shí)時(shí)處理的價(jià)值的,并不是說所有數(shù)據(jù)都實(shí)時(shí)處理就是更好,畢竟集群資源是有限的,要合理利用計(jì)算資源。

2. 數(shù)據(jù)的分層存儲(chǔ)

另外數(shù)據(jù)倉庫的數(shù)據(jù)存儲(chǔ)是分層級(jí)的,這個(gè)架構(gòu)一方面跟數(shù)據(jù)拉取方式有關(guān),一方面也是為了對(duì)數(shù)據(jù)進(jìn)行層級(jí)的抽象處理。

一般來說數(shù)據(jù)倉庫會(huì)至少分為ODS、MID、DW三個(gè)層級(jí),當(dāng)然層級(jí)的名稱每個(gè)公司可能不同,這里主要是在作用上進(jìn)行區(qū)分解釋。

  • ODS層存儲(chǔ)的是業(yè)務(wù)數(shù)據(jù)庫在一個(gè)時(shí)間范圍內(nèi)新增或更新的數(shù)據(jù),它的存儲(chǔ)是線性增長的,有數(shù)據(jù)發(fā)生變化,ODS才會(huì)存儲(chǔ)數(shù)據(jù)。
  • MID層是經(jīng)由ODS層數(shù)據(jù)計(jì)算得出的最新的完整版數(shù)據(jù),相當(dāng)于是業(yè)務(wù)數(shù)據(jù)庫的一個(gè)拷貝,只不過是截止到某一個(gè)時(shí)間的。
  • DW層是對(duì)MID層進(jìn)行業(yè)務(wù)模型的抽象之后的合并層,將一些冗余的庫表簡化,做成比較利于數(shù)據(jù)抽取的庫表。

因?yàn)镸ID層和DW層存儲(chǔ)的都是完整的數(shù)據(jù),業(yè)務(wù)數(shù)據(jù)庫數(shù)據(jù)會(huì)不斷增長,導(dǎo)致這兩個(gè)層級(jí)里的數(shù)據(jù)每個(gè)切片的數(shù)據(jù)都是在增長,相當(dāng)于是指數(shù)增長。

3. 數(shù)據(jù)的切片存儲(chǔ)

數(shù)據(jù)庫的存儲(chǔ)是分時(shí)間戳的,相當(dāng)于是把數(shù)據(jù)按照快照的方式存了n個(gè)版本,當(dāng)你想追溯在某天某時(shí)間的數(shù)據(jù)的時(shí)候,就可以通過定位特定的時(shí)間戳,追溯到相關(guān)的數(shù)據(jù)。

這種設(shè)計(jì)避免了業(yè)務(wù)庫數(shù)據(jù)會(huì)不斷覆蓋的問題,相當(dāng)于是在數(shù)據(jù)分析的時(shí)候加了一個(gè)時(shí)間維度,提升了一個(gè)維度,看問題解決問題的角度也就被升華了。

4. 數(shù)據(jù)倉庫建模

MID層向DW層抽象的過程,需要數(shù)據(jù)產(chǎn)品對(duì)業(yè)務(wù)庫表進(jìn)行建模。首先要清楚了解,你所要進(jìn)行抽象的業(yè)務(wù)系統(tǒng)是什么樣的(感覺數(shù)據(jù)產(chǎn)品好累,還要去了解別人的系統(tǒng)是怎么玩的╮(╯_╰)╭)。

比如:你所要負(fù)責(zé)的是A業(yè)務(wù)系統(tǒng)的DW設(shè)計(jì),那么首先你要把A業(yè)務(wù)系統(tǒng)的系統(tǒng)邏輯搞清楚,然后它所涉及的庫表都了解清楚,包括業(yè)務(wù)本身的庫表以及它所依賴的中后臺(tái)系統(tǒng)的庫表,以及各個(gè)數(shù)據(jù)庫之間的關(guān)系是怎樣,比如:是一對(duì)一還是一對(duì)多,當(dāng)前庫表是否是最細(xì)粒度的數(shù)據(jù)。

一般來說建模要做到模塊互相獨(dú)立,粒度統(tǒng)一。因?yàn)榭紤]到后期做指標(biāo)和取數(shù)的方便,在不同粒度上都有表是比較好的。

比如:一個(gè)電商分期業(yè)務(wù),可能在訂單粒度上才能取到放款等數(shù)據(jù),但是品類等維度又只能在商品粒度上取到(考慮到購物車,一個(gè)訂單可能對(duì)應(yīng)多個(gè)商品),這時(shí)候就需要兩個(gè)粒度都建立對(duì)應(yīng)的表才能滿足不同的取數(shù)需求。

 

作者:小九,一枚互金數(shù)據(jù)產(chǎn)品

本文由 @小九 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

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

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 怎么聯(lián)系你,加我q2244999284

    來自香港 回復(fù)
  2. 非常好,點(diǎn)個(gè)贊!最近剛接手廣告平臺(tái)的數(shù)據(jù)接入相關(guān)產(chǎn)品,看了一些SQL都沒有你說的清楚

    回復(fù)
  3. 有點(diǎn)偏技術(shù),好難懂,同產(chǎn)品崗??

    回復(fù)
  4. 大家期待已久的《數(shù)據(jù)產(chǎn)品經(jīng)理實(shí)戰(zhàn)訓(xùn)練營》終于在起點(diǎn)學(xué)院(人人都是產(chǎn)品經(jīng)理旗下教育機(jī)構(gòu))上線啦!

    本課程非常適合新手?jǐn)?shù)據(jù)產(chǎn)品經(jīng)理,或者想要轉(zhuǎn)崗的產(chǎn)品經(jīng)理、數(shù)據(jù)分析師、研發(fā)、產(chǎn)品運(yùn)營等人群。

    課程會(huì)從基礎(chǔ)概念,到核心技能,再通過典型數(shù)據(jù)分析平臺(tái)的實(shí)戰(zhàn),幫助大家構(gòu)建完整的知識(shí)體系,掌握數(shù)據(jù)產(chǎn)品經(jīng)理的基本功。

    學(xué)完后你會(huì)掌握怎么建指標(biāo)體系、指標(biāo)字典,如何設(shè)計(jì)數(shù)據(jù)埋點(diǎn)、保證數(shù)據(jù)質(zhì)量,規(guī)劃大數(shù)據(jù)分析平臺(tái)等實(shí)際工作技能~

    現(xiàn)在就添加空空老師(微信id:anne012520),咨詢課程詳情并領(lǐng)取福利優(yōu)惠吧!

    來自廣東 回復(fù)
  5. 本來一般都會(huì)建就是有商品表和訂單表啊,不知道你這是指的什么特別的

    回復(fù)
  6. 兩個(gè)粒度都建立表指的是哪兩個(gè)粒度各建立什么表

    回復(fù)
  7. 數(shù)倉建模的過程也是數(shù)據(jù)產(chǎn)品主導(dǎo)的嗎?我們這邊好像都是數(shù)據(jù)開發(fā)們主導(dǎo)的,產(chǎn)品主要focus在數(shù)據(jù)平臺(tái)上面誒,是我的理解有誤嗎?

    來自上海 回復(fù)
  8. 數(shù)據(jù)產(chǎn)品的工作這樣的啊?感覺跟技術(shù)有很大掛鉤呢。還想過轉(zhuǎn)行數(shù)據(jù)產(chǎn)品經(jīng)理崗的

    回復(fù)
  9. “因?yàn)镸ID層和DW層存儲(chǔ)的都是完整的數(shù)據(jù),業(yè)務(wù)數(shù)據(jù)庫數(shù)據(jù)會(huì)不斷增長,導(dǎo)致這兩個(gè)層級(jí)里的數(shù)據(jù)每個(gè)切片的數(shù)據(jù)都是在增長,相當(dāng)于是指數(shù)增長“

    你好,我想咨詢下,為什么增長是指數(shù)增長,我的理解是每次只加上切片的增量數(shù)據(jù)就可以了吧

    來自廣東 回復(fù)
    1. 假設(shè)數(shù)據(jù)只增不改的單一場景下。對(duì)于ODS層,每增加一個(gè)切片是增加增量數(shù)據(jù),但是對(duì)于MID層,每增加一個(gè)切片是增加了最新版的全量的數(shù)據(jù)。假設(shè),每天穩(wěn)定新增5000條數(shù)據(jù),那ODS里面的數(shù)據(jù)總量就是5000、10000、15000…類似y=ax,但是MID層數(shù)據(jù)總量就是5000、15000、30000…類似y=ax^2+bx。
      文中描述的指數(shù)增長不太準(zhǔn)確,在這里假設(shè)的比較簡單的場景下,相當(dāng)于是二階增長。

      來自上海 回復(fù)
    2. 了解了,十分感謝

      來自廣東 回復(fù)
  10. 來自上海 回復(fù)
  11. 很干貨,給個(gè)贊

    回復(fù)
  12. 感謝分享

    回復(fù)