數(shù)據(jù)產(chǎn)品必備技術(shù)知識:數(shù)據(jù)倉庫入門,看這這一篇就夠了

12 評論 28452 瀏覽 265 收藏 12 分鐘

數(shù)據(jù)倉庫是存數(shù)據(jù)的,企業(yè)的各種數(shù)據(jù)往里面塞,主要目的是為了有效分析數(shù)據(jù),后續(xù)會基于它產(chǎn)出供分析挖掘的數(shù)據(jù),或者數(shù)據(jù)應(yīng)用需要的數(shù)據(jù),如企業(yè)的分析性報告和各類報表,為企業(yè)的決策提供支持。

數(shù)據(jù)倉庫可以算是數(shù)據(jù)產(chǎn)品必須要了解的技術(shù)知識了, 在一年前的數(shù)據(jù)產(chǎn)品求職分析中,其中技能要求這一項中,數(shù)據(jù)倉庫可是占了一席之地的。

但是,對于準(zhǔn)備求職數(shù)據(jù)產(chǎn)品的童鞋來說,可能身邊沒有做數(shù)倉開發(fā)的朋友可以請教。自學(xué)吧,而那幾本經(jīng)典書籍里面又過于理論,看起真是生不如死,而且數(shù)據(jù)產(chǎn)品并不是數(shù)據(jù)開發(fā),可能了解一些入門的常識,有個大概的概念就可以了。

我也一直零零散散的積累這方面的知識,這兩天梳理了下,形成下文,希望對大家有所幫助,非專業(yè)數(shù)倉開發(fā)人員,如有不準(zhǔn)確的地方,還望大家指正。

文章結(jié)構(gòu)

  • 一、數(shù)據(jù)倉庫是什么
  • 二、數(shù)據(jù)倉庫有什么特點
  • 三、為什么搭建數(shù)據(jù)倉庫
  • 四、數(shù)據(jù)倉庫結(jié)構(gòu)
  • 五、ETL
  • 六、數(shù)據(jù)集市
  • 七、ODS
  • 八、元數(shù)據(jù)

一、數(shù)據(jù)倉庫是什么

可以理解為:面向分析的存儲系統(tǒng)。

也就是說數(shù)倉是存數(shù)據(jù)的,企業(yè)的各種數(shù)據(jù)往里面塞,主要目的是為了有效分析數(shù)據(jù),后續(xù)會基于它產(chǎn)出供分析挖掘的數(shù)據(jù),或者數(shù)據(jù)應(yīng)用需要的數(shù)據(jù),如企業(yè)的分析性報告和各類報表,為企業(yè)的決策提供支持。

上面的意思先理解著,接下來從頭講起,先看關(guān)系型數(shù)據(jù)庫,它可以被劃分為兩大基本類型:操作型數(shù)據(jù)庫和分析型數(shù)據(jù)庫。

1. 操作型數(shù)據(jù)庫

主要面向應(yīng)用,用于業(yè)務(wù)支撐,支持對實際業(yè)務(wù)的處理,也可以叫業(yè)務(wù)型數(shù)據(jù)庫。

可以理解為通常意義上的數(shù)據(jù)庫(后端開發(fā)同學(xué)口中的經(jīng)常提到的就是這種)。

2. 分析型數(shù)據(jù)庫

主要面向數(shù)據(jù)分析,側(cè)重決策支持,作為公司的單獨數(shù)據(jù)存儲,負(fù)責(zé)利用歷史數(shù)據(jù)對公司各主題域進(jìn)行統(tǒng)計分析。

由于分析型數(shù)據(jù)庫中的操作都是查詢,因此也就不需要嚴(yán)格滿足關(guān)系型數(shù)據(jù)庫一些設(shè)計規(guī)范,這樣的情況下再將它歸為數(shù)據(jù)庫不太合適,也容易不引起混淆,所以稱之為數(shù)據(jù)倉庫。

這里可以說一下,數(shù)據(jù)處理大致可以分成兩大類:OLTP(聯(lián)機(jī)事務(wù)處理)和OLAP(聯(lián)機(jī)分析處理)。

  1. OLTP(聯(lián)機(jī)事務(wù)處理)就是操作型數(shù)據(jù)庫的主要應(yīng)用,更側(cè)重于基本的、日常的事務(wù)處理,包括數(shù)據(jù)的增刪改查。
  2. OLAP(聯(lián)機(jī)分析處理)就是分析型數(shù)據(jù)庫的主要應(yīng)用,以多維度的方式分析數(shù)據(jù), 這個后續(xù)會整理。

二、數(shù)據(jù)倉庫有什么特點

相對于數(shù)據(jù)庫,數(shù)據(jù)倉庫有以下特點

(1)面向主題

數(shù)據(jù)倉庫通過一個個主題域?qū)⒍鄠€業(yè)務(wù)系統(tǒng)的數(shù)據(jù)加載到一起,為了各個主題(如:用戶、訂單、商品等)進(jìn)行分析而建,操作型數(shù)據(jù)庫是為了支撐各種業(yè)務(wù)而建立。

(2)集成性

數(shù)據(jù)倉庫會將不同源數(shù)據(jù)庫中的數(shù)據(jù)匯總到一起。

(3)歷史性

較之操作型數(shù)據(jù)庫,數(shù)據(jù)倉庫的數(shù)據(jù)是為企業(yè)數(shù)據(jù)分析而建立,所以數(shù)據(jù)被加載后一般情況下將被長期保留,前者通常保存幾個月,后者可能幾年甚至幾十年。

(4)時變性

是指數(shù)據(jù)倉庫包含來自其時間范圍不同時間段的數(shù)據(jù)快照,有了這些數(shù)據(jù)快照以后,用戶便可將其匯總,生成各歷史階段的數(shù)據(jù)分析報告。

(5)穩(wěn)定性

數(shù)據(jù)倉庫中的數(shù)據(jù)一般僅執(zhí)行查詢操作,很少會有刪除和更新。但是需定期加載和刷新數(shù)據(jù)。

三、為什么搭建數(shù)據(jù)倉庫

簡單來說,就是為了有效分析數(shù)據(jù) 。

你說直接從業(yè)務(wù)數(shù)據(jù)庫中取數(shù)據(jù)來做分析?

也不是不可以,就是業(yè)務(wù)系統(tǒng)多,業(yè)務(wù)復(fù)雜時,會發(fā)現(xiàn)結(jié)構(gòu)復(fù)雜,數(shù)據(jù)臟亂,難以理解,缺少歷史,大規(guī)模查詢緩慢這些問題。

業(yè)務(wù)到一定規(guī)模,大家需要面臨的問題越來越復(fù)雜和深入,數(shù)據(jù)需求不再只是昨日的營收,上月的uv這些,而是“28到45歲女性在社區(qū)的活躍度與公司策劃的專題內(nèi)容活動的關(guān)系”這類精細(xì)化的分析,而從數(shù)據(jù)庫是很難取出這類數(shù)據(jù)的。

畢竟業(yè)務(wù)型數(shù)據(jù)庫是為了支撐業(yè)務(wù)設(shè)計的,不是為了查詢和分析數(shù)據(jù)。

四、數(shù)據(jù)倉庫結(jié)構(gòu)

用AXURE畫了個結(jié)構(gòu)圖,如下:簡單來說,就是把各數(shù)據(jù)源的數(shù)據(jù)ETL到數(shù)倉中,數(shù)倉再對數(shù)據(jù)進(jìn)行集成和統(tǒng)計,然后再輸出給各數(shù)據(jù)應(yīng)用,圖中涉及的模塊,接下來會分別介紹。

五、ETL

ETL分別代表:抽取extraction、轉(zhuǎn)換transformation、加載load。

(1)抽取(Extract)

從數(shù)據(jù)來源提取指定數(shù)據(jù),數(shù)據(jù)是需要指定的,不是所有的數(shù)據(jù)都要抽取過來, 某些源數(shù)據(jù)對于分析而言沒有價值,或者其可能產(chǎn)生的價值,遠(yuǎn)低于儲存這些數(shù)據(jù)所需要的數(shù)據(jù)倉庫的實現(xiàn)和性能上的成本,就不會抽取了。

(2)轉(zhuǎn)換(Transform)

將數(shù)據(jù)轉(zhuǎn)換為指定格式并進(jìn)行數(shù)據(jù)清洗保證數(shù)據(jù)質(zhì)量。

數(shù)據(jù)轉(zhuǎn)換,如包括編碼轉(zhuǎn)換(m/f->男/女),字段轉(zhuǎn)換(balance->bal),度量單位的轉(zhuǎn)換(cm->m),數(shù)據(jù)粒度的轉(zhuǎn)換。業(yè)務(wù)系統(tǒng)數(shù)據(jù)存儲非常明細(xì)的數(shù)據(jù),而數(shù)據(jù)倉庫中數(shù)據(jù)是用分析的,不需要非常明細(xì),會將業(yè)務(wù)系統(tǒng)數(shù)據(jù)按照數(shù)據(jù)倉庫粒度進(jìn)行聚合。

數(shù)據(jù)清洗,如會對不完整數(shù)據(jù),錯誤數(shù)據(jù)和重復(fù)數(shù)據(jù)等臟數(shù)據(jù)進(jìn)行清洗。

(3)加載(Load)

將轉(zhuǎn)換過后的數(shù)據(jù)加載到目標(biāo)數(shù)據(jù)倉庫,加載可分為兩種:

  1. 全量加載:一次對全部數(shù)據(jù)進(jìn)行加載。
  2. 增量加載:一般首次需要全量加載,但是在第二次周期或者第三次周期的時候仍然全量加載的話,耗費了極大的物理和時間資源。有可能部分?jǐn)?shù)據(jù)源并未發(fā)生變化,而有的數(shù)據(jù)源可能只是增加了少量的數(shù)據(jù)。 對數(shù)據(jù)源中的數(shù)據(jù)只考慮新修改的記錄和新插入的記錄就是增量加載。

ETL很可能是數(shù)據(jù)倉庫開發(fā)中最耗時最耗資源的一個環(huán)節(jié),因為該環(huán)節(jié)要整理各大業(yè)務(wù)系統(tǒng)中雜亂無章的數(shù)據(jù),并協(xié)調(diào)元數(shù)據(jù)上的差別,工作量很大,但也是構(gòu)建數(shù)據(jù)倉庫的重要環(huán)節(jié),對數(shù)據(jù)倉庫的后續(xù)環(huán)節(jié)影響比較大。

六、數(shù)據(jù)集市

數(shù)據(jù)集市(DM)可以理解為是一種“小型數(shù)據(jù)倉庫”,一般面向部門、單個主題或特定應(yīng)用,且之間互不影響。

可以分為以下兩種:

  1. 獨立數(shù)據(jù)集市:有自己的源數(shù)據(jù)庫和ETL架構(gòu);
  2. 非獨立數(shù)據(jù)集市:沒有自己的源數(shù)據(jù),它的數(shù)據(jù)來自數(shù)據(jù)倉庫。當(dāng)用戶或者應(yīng)用程序不需要/不必要/不允許訪問整個數(shù)倉數(shù)據(jù)時,就可以直接訪問數(shù)據(jù)集市,為用戶提供一個數(shù)據(jù)倉庫的“子集”。

簡單理解就是一個結(jié)構(gòu)完全和數(shù)倉一樣,有ETL,然后自己存儲和計算;另一種就是直接用數(shù)倉處理過的數(shù)據(jù),再次進(jìn)行組合集成。可能后面結(jié)合數(shù)據(jù)分層更好理解。

七、ODS

ODS:全稱是Operational Data Store,操作數(shù)據(jù)存儲。

存儲各大業(yè)務(wù)型數(shù)據(jù)庫ETL后的數(shù)據(jù),是最接近數(shù)據(jù)源中數(shù)據(jù)的一層,主要目的是為了數(shù)據(jù)集中。

總體上大多是按照源業(yè)務(wù)系統(tǒng)的分類方式而分類的,因此會具有鮮明的業(yè)務(wù)數(shù)據(jù)庫的特征,甚至還具有一定的關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)范式的組織形式。

但是不等同于原始數(shù)據(jù),數(shù)據(jù)格式按照數(shù)倉要求統(tǒng)一,并經(jīng)過簡單的清洗。

八、元數(shù)據(jù)

元數(shù)據(jù)(Meta Date),即數(shù)據(jù)的數(shù)據(jù),元數(shù)據(jù)可分為技術(shù)元數(shù)據(jù)和業(yè)務(wù)元數(shù)據(jù)。

技術(shù)元數(shù)據(jù)為開發(fā)和管理數(shù)據(jù)倉庫的IT 人員使用,描述了與數(shù)據(jù)倉庫開發(fā)、管理和維護(hù)相關(guān)的數(shù)據(jù),包括數(shù)據(jù)源信息、數(shù)據(jù)轉(zhuǎn)換描述、數(shù)據(jù)倉庫模型、數(shù)據(jù)清洗與更新規(guī)則、數(shù)據(jù)映射和訪問權(quán)限等。

而業(yè)務(wù)元數(shù)據(jù)為管理層和業(yè)務(wù)分析人員服務(wù),從業(yè)務(wù)角度描述數(shù)據(jù),包括商務(wù)術(shù)語、數(shù)據(jù)倉庫中有什么數(shù)據(jù)、數(shù)據(jù)的位置和數(shù)據(jù)的可用性等,幫助業(yè)務(wù)人員更好地理解數(shù)據(jù)倉庫中哪些數(shù)據(jù)是可用的以及如何使用。

寫到這里,發(fā)現(xiàn)內(nèi)容已經(jīng)很多了,像數(shù)倉建模、數(shù)據(jù)分層、olap、BI這些留到下篇再講吧。

提一下數(shù)據(jù)分析報告,去年爬了3份數(shù)據(jù),本來準(zhǔn)備寫三篇數(shù)據(jù)報告,結(jié)果寫了一篇之后,就再也沒有下文了,前段時間又重新爬了份,準(zhǔn)備至少再寫一篇,雖然現(xiàn)在還沒開始動筆。

 

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

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

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 大家期待已久的《數(shù)據(jù)產(chǎn)品經(jīng)理實戰(zhàn)訓(xù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)品運營等人群。

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

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

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

    來自廣東 回復(fù)
  2. 可以介紹一下數(shù)據(jù)匯聚的幾個維度詳情嗎

    來自四川 回復(fù)
  3. ?? 給大佬鞠躬!

    來自廣東 回復(fù)
  4. 寫的真好,比有些書里寫的還好,容易理解,專門登錄評論表示感謝!

    來自廣東 回復(fù)
  5. 寫的真心好,而且很全。并且通俗易懂 講的明白說的清楚。謝謝了兄弟。

    來自廣東 回復(fù)
  6. 問一個小白的問題,非關(guān)系型數(shù)據(jù)庫能否搭建數(shù)據(jù)倉庫

    來自上海 回復(fù)
    1. 可以的 其實到現(xiàn)在 可以把數(shù)倉看做一個單獨的概念 可以是關(guān)系型 也可以是非關(guān)系型

      來自浙江 回復(fù)
    2. 可以

      回復(fù)
  7. 絕對干貨,對于我這個小白,剛好要了解啥是數(shù)據(jù)倉庫來說太有用了?。?!

    來自浙江 回復(fù)
    1. 感謝感謝 有人認(rèn)可才有動力 一起學(xué)習(xí)進(jìn)步

      來自浙江 回復(fù)
  8. 不錯不錯,了解到了

    來自浙江 回復(fù)
    1. 好謝謝了

      來自浙江 回復(fù)