我分析了拉勾的450個數據,告訴你如何求職數據產品經理

數據倉庫是存數據的,企業的各種數據往裡面塞,主要目的是為了有效分析數據,後續會基於它產出供分析挖掘的數據,或者數據應用需要的數據,如企業的分析性報告和各類報表,為企業的決策提供支持。

數據倉庫可以算是數據產品必須要了解的技術知識了, 在一年前的數據產品求職分析中,其中技能要求這一項中,數據倉庫可是佔了一席之地的。

但是,對於準備求職數據產品的童鞋來說,可能身邊沒有做數倉開發的朋友可以請教。自學吧,而那幾本經典書籍裡面又過於理論,看起真是生不如死,而且數據產品並不是數據開發,可能瞭解一些入門的常識,有個大概的概念就可以了。

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

我分析了拉勾的450个数据,告诉你如何求职数据产品经理

文章結構

一、數據倉庫是什麼

二、數據倉庫有什麼特點

三、為什麼搭建數據倉庫

四、數據倉庫結構

五、ETL

六、數據集市

七、ODS

八、元數據

一、數據倉庫是什麼

可以理解為:面向分析的存儲系統。

也就是說數倉是存數據的,企業的各種數據往裡面塞,主要目的是為了有效分析數據,後續會基於它產出供分析挖掘的數據,或者數據應用需要的數據,如企業的分析性報告和各類報表,為企業的決策提供支持。

上面的意思先理解著,接下來從頭講起,先看關係型數據庫,它可以被劃分為兩大基本類型:操作型數據庫和分析型數據庫。‍


1. 操作型數據庫

主要面向應用,用於業務支撐,支持對實際業務的處理,也可以叫業務型數據庫。可以理解為通常意義上的數據庫(後端開發同學口中的經常提到的就是這種)。

2. 分析型數據庫

主要面向數據分析,側重決策支持,作為公司的單獨數據存儲,負責利用歷史數據對公司各主題域進行統計分析。由於分析型數據庫中的操作都是查詢,因此也就不需要嚴格滿足關係型數據庫一些設計規範,這樣的情況下再將它歸為數據庫不太合適,也容易不引起混淆,所以稱之為數據倉庫。這裡可以說一下,數據處理大致可以分成兩大類:OLTP(聯機事務處理)和OLAP(聯機分析處理)。OLTP(聯機事務處理)就是操作型數據庫的主要應用,更側重於基本的、日常的事務處理,包括數據的增刪改查。OLAP(聯機分析處理)就是分析型數據庫的主要應用,以多維度的方式分析數據, 這個後續會整理。

二、數據倉庫有什麼特點

相對於數據庫,數據倉庫有以下特點(1)面向主題數據倉庫通過一個個主題域將多個業務系統的數據加載到一起,為了各個主題(如:用戶、訂單、商品等)進行分析而建,操作型數據庫是為了支撐各種業務而建立。(2)集成性數據倉庫會將不同源數據庫中的數據彙總到一起。(3)歷史性較之操作型數據庫,數據倉庫的數據是為企業數據分析而建立,所以數據被加載後一般情況下將被長期保留,前者通常保存幾個月,後者可能幾年甚至幾十年。(4)時變性是指數據倉庫包含來自其時間範圍不同時間段的數據快照,有了這些數據快照以後,用戶便可將其彙總,生成各歷史階段的數據分析報告。(5)穩定性數據倉庫中的數據一般僅執行查詢操作,很少會有刪除和更新。但是需定期加載和刷新數據。



三、為什麼搭建數據倉庫

簡單來說,就是為了有效分析數據 。

你說直接從業務數據庫中取數據來做分析?

也不是不可以,就是業務系統多,業務複雜時,會發現結構複雜,數據髒亂,難以理解,缺少歷史,大規模查詢緩慢這些問題。

業務到一定規模,大家需要面臨的問題越來越複雜和深入,數據需求不再只是昨日的營收,上月的uv這些,而是“28到45歲女性在社區的活躍度與公司策劃的專題內容活動的關係”這類精細化的分析,而從數據庫是很難取出這類數據的。

畢竟業務型數據庫是為了支撐業務設計的,不是為了查詢和分析數據。


四、數據倉庫結構

用AXURE畫了個結構圖,如下:簡單來說,就是把各數據源的數據ETL到數倉中,數倉再對數據進行集成和統計,然後再輸出給各數據應用,圖中涉及的模塊,接下來會分別介紹。


我分析了拉勾的450个数据,告诉你如何求职数据产品经理

五、ETL

ETL分別代表:抽取extraction、轉換transformation、加載load。(1)抽取(Extract)從數據來源提取指定數據,數據是需要指定的,不是所有的數據都要抽取過來, 某些源數據對於分析而言沒有價值,或者其可能產生的價值,遠低於儲存這些數據所需要的數據倉庫的實現和性能上的成本,就不會抽取了。(2)轉換(Transform)將數據轉換為指定格式並進行數據清洗保證數據質量。數據轉換,如包括編碼轉換(m/f->男/女),字段轉換(balance->bal),度量單位的轉換(cm->m),數據粒度的轉換。業務系統數據存儲非常明細的數據,而數據倉庫中數據是用分析的,不需要非常明細,會將業務系統數據按照數據倉庫粒度進行聚合。數據清洗,如會對不完整數據,錯誤數據和重複數據等髒數據進行清洗。(3)加載(Load)將轉換過後的數據加載到目標數據倉庫,加載可分為兩種:全量加載:一次對全部數據進行加載。增量加載:一般首次需要全量加載,但是在第二次週期或者第三次週期的時候仍然全量加載的話,耗費了極大的物理和時間資源。有可能部分數據源並未發生變化,而有的數據源可能只是增加了少量的數據。 對數據源中的數據只考慮新修改的記錄和新插入的記錄就是增量加載。ETL很可能是數據倉庫開發中最耗時最耗資源的一個環節,因為該環節要整理各大業務系統中雜亂無章的數據,並協調元數據上的差別,工作量很大,但也是構建數據倉庫的重要環節,對數據倉庫的後續環節影響比較大。

六、數據集市

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

可以分為以下兩種:

獨立數據集市:有自己的源數據庫和ETL架構;

非獨立數據集市:沒有自己的源數據,它的數據來自數據倉庫。當用戶或者應用程序不需要/不必要/不允許訪問整個數倉數據時,就可以直接訪問數據集市,為用戶提供一個數據倉庫的“子集”。


我分析了拉勾的450个数据,告诉你如何求职数据产品经理

簡單理解就是一個結構完全和數倉一樣,有ETL,然後自己存儲和計算;另一種就是直接用數倉處理過的數據,再次進行組合集成。可能後面結合數據分層更好理解。

七、ODS

ODS:全稱是Operational Data Store,操作數據存儲。

存儲各大業務型數據庫ETL後的數據,是最接近數據源中數據的一層,主要目的是為了數據集中。

總體上大多是按照源業務系統的分類方式而分類的,因此會具有鮮明的業務數據庫的特徵,甚至還具有一定的關係數據庫中的數據範式的組織形式。

但是不等同於原始數據,數據格式按照數倉要求統一,並經過簡單的清洗。

八、元數據

元數據(Meta Date),即數據的數據,元數據可分為技術元數據和業務元數據。

技術元數據為開發和管理數據倉庫的IT 人員使用,描述了與數據倉庫開發、管理和維護相關的數據,包括數據源信息、數據轉換描述、數據倉庫模型、數據清洗與更新規則、數據映射和訪問權限等。

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

寫到這裡,發現內容已經很多了,像數倉建模、數據分層、olap、BI這些留到下篇再講吧。

提一下數據分析報告,去年爬了3份數據,本來準備寫三篇數據報告,結果寫了一篇之後,就再也沒有下文了,前段時間又重新爬了份,準備至少再寫一篇,雖然現在還沒開始動筆。‍


分享到:


相關文章: