數(shù)據(jù)產(chǎn)品指北:數(shù)據(jù)平臺(tái)

5 評(píng)論 26199 瀏覽 231 收藏 17 分鐘

數(shù)據(jù)平臺(tái)其實(shí)是個(gè)概括的詞,泛指企業(yè)中的數(shù)據(jù)環(huán)境、數(shù)據(jù)形態(tài)和數(shù)據(jù)架構(gòu)等內(nèi)容。而本文就跟大家詳細(xì)介紹這些內(nèi)容。

數(shù)據(jù)環(huán)境與數(shù)據(jù)形態(tài)

數(shù)據(jù)環(huán)境指的是數(shù)據(jù)存儲(chǔ)、處理、轉(zhuǎn)換所處的物理環(huán)境,例如生產(chǎn)環(huán)境、分析環(huán)境和測(cè)試環(huán)境等。

生產(chǎn)環(huán)境是生產(chǎn)應(yīng)用和系統(tǒng)實(shí)時(shí)運(yùn)行所處的環(huán)境,其中的數(shù)據(jù)是會(huì)實(shí)時(shí)變化的。

分析環(huán)境是與生產(chǎn)環(huán)境解耦的一個(gè)數(shù)據(jù)環(huán)境,在數(shù)據(jù)環(huán)境中對(duì)數(shù)據(jù)進(jìn)行分析,不會(huì)影響生產(chǎn)環(huán)境的正常運(yùn)行。分析環(huán)境中的數(shù)據(jù)來(lái)源于生產(chǎn)環(huán)境中的“快照”,因此本質(zhì)上是離線(xiàn)的數(shù)據(jù)。

為保證分析環(huán)境的作業(yè)不對(duì)生產(chǎn)環(huán)境造成影響,我們應(yīng)該避免數(shù)據(jù)直連的方式,即將原始數(shù)據(jù)直接從生產(chǎn)系統(tǒng)導(dǎo)入分析系統(tǒng)的緊耦合方式。這種方式在數(shù)據(jù)量較小時(shí)可能不會(huì)出現(xiàn)問(wèn)題,但當(dāng)數(shù)據(jù)量增大后,數(shù)據(jù)直連的弊端便會(huì)逐漸展現(xiàn)。主要體現(xiàn)在雙方環(huán)境的互相影響、安全上的隱患、平臺(tái)擴(kuò)展性差等方面。因此更合理的辦法是在生產(chǎn)環(huán)境和分析環(huán)境之間設(shè)置數(shù)據(jù)緩沖區(qū),作為中轉(zhuǎn)從各個(gè)系統(tǒng)接收原始數(shù)據(jù)并暫存,經(jīng)過(guò)ETL后導(dǎo)入分析環(huán)境。

至此,根據(jù)數(shù)據(jù)所處環(huán)境,可將數(shù)據(jù)定義為3種基本形態(tài):生產(chǎn)數(shù)據(jù)、原始數(shù)據(jù)和分析數(shù)據(jù)。數(shù)據(jù)和其所處環(huán)境之間的聯(lián)系如下圖所示。

數(shù)據(jù)形態(tài)及所處環(huán)境之間關(guān)系

1. 生產(chǎn)數(shù)據(jù)

生產(chǎn)數(shù)據(jù)是動(dòng)態(tài)的,會(huì)隨著業(yè)務(wù)的變化而變化,例如用戶(hù)訂單狀態(tài)會(huì)因?yàn)橛脩?hù)、商戶(hù)、物流等相關(guān)方的行為而發(fā)生變化。數(shù)據(jù)分析工作通常不會(huì)直接接觸生產(chǎn)數(shù)據(jù),相反,分析數(shù)據(jù)可能會(huì)轉(zhuǎn)化成生產(chǎn)數(shù)據(jù)。例如用戶(hù)標(biāo)簽數(shù)據(jù),是通過(guò)分析數(shù)據(jù)構(gòu)建的,但可能會(huì)形成畫(huà)像、推薦等應(yīng)用,從而轉(zhuǎn)化為生產(chǎn)數(shù)據(jù)為業(yè)務(wù)提供服務(wù)。

2. 原始數(shù)據(jù)

原始數(shù)據(jù)由生產(chǎn)系統(tǒng)中的數(shù)據(jù)解耦而得到。解耦過(guò)程通常包括了數(shù)據(jù)脫敏、篩選、批量導(dǎo)出等。原始數(shù)據(jù)的存放應(yīng)獨(dú)立于生產(chǎn)環(huán)境和分析環(huán)境,以避免不同環(huán)境間的互相影響,也就是前面提到的數(shù)據(jù)緩沖區(qū)。

3. 分析數(shù)據(jù)

分析數(shù)據(jù)由原始數(shù)據(jù)經(jīng)過(guò)ETL后得到。ETL(Extract-Transform-Load)是抽取-轉(zhuǎn)換-加載的縮寫(xiě),該過(guò)程會(huì)對(duì)原始數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換,按照統(tǒng)一的標(biāo)準(zhǔn)將數(shù)據(jù)存儲(chǔ)在分析環(huán)境中。例如去掉一些無(wú)效字段,對(duì)空值、異常值進(jìn)行插補(bǔ),對(duì)日期格式進(jìn)行統(tǒng)一等操作,都會(huì)在ETL過(guò)程中完成。ETL過(guò)程還可能包含對(duì)數(shù)據(jù)的優(yōu)化存儲(chǔ),以提升存儲(chǔ)和讀取效率,比如創(chuàng)建索引、分區(qū)、分表等。

對(duì)分析數(shù)據(jù)的存儲(chǔ)、使用,需要依賴(lài)于數(shù)據(jù)平臺(tái),數(shù)據(jù)平臺(tái)的性能對(duì)處理分析數(shù)據(jù)有決定性的影響。不同規(guī)模、類(lèi)型的分析數(shù)據(jù),也可能適用于不同的數(shù)據(jù)平臺(tái)。

具體的數(shù)據(jù)流轉(zhuǎn)方式可參考下圖,數(shù)據(jù)緩沖區(qū)作為中轉(zhuǎn),一端連接了生產(chǎn)環(huán)境中的各類(lèi)應(yīng)用系統(tǒng),另一端連接了分析環(huán)境中的各類(lèi)數(shù)據(jù)平臺(tái)。

數(shù)據(jù)流轉(zhuǎn)示例

數(shù)據(jù)平臺(tái)

數(shù)據(jù)平臺(tái)是存放分析數(shù)據(jù)的平臺(tái),也是支持?jǐn)?shù)據(jù)分析和挖掘的底層平臺(tái)。數(shù)據(jù)平臺(tái)包括了我們最為熟悉的傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù),以及一些“現(xiàn)代化”的多種數(shù)據(jù)庫(kù)產(chǎn)品。簡(jiǎn)化的數(shù)據(jù)平臺(tái)架構(gòu)圖如下。

數(shù)據(jù)平臺(tái)架構(gòu)圖

現(xiàn)代的數(shù)據(jù)平臺(tái)融合了傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)、大數(shù)據(jù)平臺(tái)、MPP數(shù)據(jù)庫(kù)、NoSQL數(shù)據(jù)庫(kù)等多種數(shù)據(jù)產(chǎn)品。

從平臺(tái)架構(gòu)視角來(lái)看,數(shù)據(jù)緩沖區(qū)屬于原始數(shù)據(jù)層,也叫ODS(Operational Data Store)層或貼源層。ODS層的數(shù)據(jù)粒度更細(xì),能從微觀反映細(xì)節(jié)的關(guān)鍵數(shù)據(jù),例如用戶(hù)訂單交易數(shù)據(jù)。在數(shù)據(jù)倉(cāng)庫(kù)(Data Warehouse,DW)中又分為基礎(chǔ)層、主題層和數(shù)據(jù)集市層。

1. 基礎(chǔ)層

也有稱(chēng)DWD(Data Warehouse Detail)層,基礎(chǔ)層對(duì)ODS層數(shù)據(jù)進(jìn)行了清洗、轉(zhuǎn)換(即前面提到的ETL過(guò)程),和輕度匯總。產(chǎn)出為數(shù)據(jù)明細(xì)、維度表、事實(shí)表等基礎(chǔ)數(shù)據(jù)。例如訂單表、商品列表以及一些日志表等。

2. 主題層

也有稱(chēng)DWS(Data Warehouse Service)層,主題層對(duì)數(shù)據(jù)按照一定維度或業(yè)務(wù)邏輯進(jìn)行高度聚合,生成不同主題下的表。主題層一般已不存在具體的明細(xì)數(shù)據(jù),所有數(shù)據(jù)按照主題進(jìn)行了歸集。例如零售行業(yè),可能會(huì)根據(jù)業(yè)務(wù)分成用戶(hù)主題、商品主題、銷(xiāo)售主題等。

3. 數(shù)據(jù)集市

數(shù)據(jù)集市(Data Mart)也有稱(chēng)ADS(Application Data Store),數(shù)據(jù)集市將主題層和基礎(chǔ)層的數(shù)據(jù)按照各業(yè)務(wù)的實(shí)際需求進(jìn)行聚合,形成寬表或數(shù)據(jù)立方體(Cube),可直接供業(yè)務(wù)部門(mén)和數(shù)據(jù)分析團(tuán)隊(duì)使用。

數(shù)據(jù)集市中主要存在的是事實(shí)表(fact)和維度表(dimension)。

  • 事實(shí)表中存放著業(yè)務(wù)的詳細(xì)數(shù)據(jù),例如訂單、銷(xiāo)售等業(yè)務(wù)數(shù)據(jù)。
  • 維度表是圍繞事實(shí)表建立的,存放著一些維度屬性,定義了可以從哪些角度分析事實(shí)表,例如時(shí)間、地域、操作系統(tǒng)等維度。

數(shù)據(jù)集市中的數(shù)據(jù)結(jié)構(gòu)一般有星型結(jié)構(gòu)(star)和雪花結(jié)構(gòu)(snow)。

星型結(jié)構(gòu)由一個(gè)事實(shí)表和一組維表組成,每個(gè)維表都有一個(gè)維作為主鍵,所有這些維的主鍵組合成事實(shí)表的主鍵。使得事實(shí)表與每個(gè)維度表產(chǎn)生關(guān)聯(lián),事實(shí)表位于中央,維度表圍繞在事實(shí)表周?chē)?/p>

雪花結(jié)構(gòu)是在星型結(jié)構(gòu)上的擴(kuò)展,對(duì)一些維度表進(jìn)一步層次化,將維度表擴(kuò)展為事實(shí)表,并建立下一層的維度表。雪花結(jié)構(gòu)更加符合數(shù)據(jù)庫(kù)范式,減少數(shù)據(jù)冗余,但在數(shù)據(jù)分析時(shí),操作也可能更復(fù)雜。下方是星型結(jié)構(gòu)和雪花結(jié)構(gòu)的對(duì)比。

星型結(jié)構(gòu)

雪花結(jié)構(gòu)

不同資料,以及不同企業(yè)內(nèi)可能對(duì)上述內(nèi)容的名稱(chēng)、縮寫(xiě)等有不同的定義,這個(gè)不用糾結(jié),關(guān)鍵是理解每層所代表的具體含義和作用。

Hadoop掃盲

Hadoop作為目前被廣泛應(yīng)用于大數(shù)據(jù)平臺(tái)開(kāi)發(fā)的基礎(chǔ)架構(gòu),有必要單獨(dú)了解。Hadoop本身是用于大數(shù)據(jù)存儲(chǔ)、計(jì)算、分析的分布式存儲(chǔ)系統(tǒng)和分布式計(jì)算框架。下圖是其核心組件架構(gòu)。

大數(shù)據(jù)平臺(tái)核心組件

Hadoop的核心模塊提供的是離線(xiàn)、批量的計(jì)算,本身并不適合強(qiáng)實(shí)時(shí)環(huán)境。實(shí)時(shí)計(jì)算需要結(jié)合相關(guān)組件,如Spark、Storm等,擴(kuò)展后的Hadoop平臺(tái)具備一定的實(shí)時(shí)處理能力。下面簡(jiǎn)單介紹下相關(guān)核心組件。

1.HDFS

HDFS(Hadoop Distributed File System)是一套分布式的文件系統(tǒng),是Hadoop平臺(tái)的文件基礎(chǔ)。HDFS適合存儲(chǔ)大批量的數(shù)據(jù)(PB級(jí)),但不適合低延遲場(chǎng)景,也不適合存儲(chǔ)大量小文件。HDFS主要解決的是文件實(shí)際存儲(chǔ)的問(wèn)題。

2.MapReduce

MapReduce是Hadoop平臺(tái)的分布式計(jì)算框架,其采用“分而治之”的思想,將一個(gè)可拆解的任務(wù)分發(fā)給多個(gè)計(jì)算節(jié)點(diǎn)進(jìn)行計(jì)算,最后合并計(jì)算結(jié)果。因此MapReduce中包含了兩個(gè)部分:Map階段Reduce階段(整個(gè)過(guò)程還可能包括Split、Shuffle等階段)。參考下圖,以經(jīng)典的單詞統(tǒng)計(jì)任務(wù)為例。可以看出Map階段主要完成具體的分工和簡(jiǎn)單的計(jì)數(shù),Reduce階段完成最終的計(jì)算任務(wù),即單詞數(shù)累加。

MapReduce執(zhí)行過(guò)程

MapReduce主要用于離線(xiàn)的海量數(shù)據(jù)(PB級(jí)以上)計(jì)算工作。

3.HBase

HBase是基于HDFS的列式存儲(chǔ)、非關(guān)系型(NoSQL)、分布式數(shù)據(jù)庫(kù),HBase具有高可用、高性能、列存儲(chǔ)、實(shí)時(shí)讀寫(xiě)等特點(diǎn)。NoSQL被解釋為Not Only SQL,不僅僅是SQL,非關(guān)系型數(shù)據(jù)庫(kù)不以SQL作為主要訪問(wèn)語(yǔ)言。其較關(guān)系型數(shù)據(jù)庫(kù)主要在成本、查詢(xún)速度、存儲(chǔ)格式、擴(kuò)展性等方面的優(yōu)勢(shì)。列式存儲(chǔ)是非關(guān)系型數(shù)據(jù)庫(kù)中的一類(lèi),傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)按照行進(jìn)行存儲(chǔ),而列式存儲(chǔ)數(shù)據(jù)庫(kù)按照每一列單獨(dú)存儲(chǔ),僅查詢(xún)所需的列,因此查詢(xún)速度大幅提高。此類(lèi)預(yù)備知識(shí),在此就不做過(guò)多延伸了。

利用HBase的特性,可以在廉價(jià)的服務(wù)器上搭建一套大規(guī)模的存儲(chǔ)集群。

HDFS、MapReduce和HBase被稱(chēng)為Hadoop的三駕馬車(chē),是其最主要的構(gòu)成。最后在簡(jiǎn)單介紹下其他常用組件,作為補(bǔ)充了解。包括了數(shù)據(jù)采集傳輸、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)計(jì)算、數(shù)據(jù)分析表達(dá)和系統(tǒng)管理幾個(gè)方面。

1. 數(shù)據(jù)采集傳輸類(lèi)

1)Flume

針對(duì)非結(jié)構(gòu)化的海量日志的采集工具,主要用于收集數(shù)據(jù)到HDFS。

2)Sqoop

針對(duì)在Hadoop和結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)(如關(guān)系型數(shù)據(jù)庫(kù))之間高效傳輸大批量數(shù)據(jù)的工具。主要用于從關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(如Oracle、MySQL)向Hadoop中(HDFS、Hive)導(dǎo)入數(shù)據(jù),或從Hadoop中導(dǎo)入關(guān)系型數(shù)據(jù)庫(kù)。

3)Kafk

可持久化的分布式消息隊(duì)列,用于發(fā)布訂閱消息的系統(tǒng)。可與流式框架(如Storm)組合使用,完成實(shí)時(shí)數(shù)據(jù)的傳輸處理。

2. 數(shù)據(jù)存儲(chǔ)類(lèi)

1)Hive

Hadoop的數(shù)據(jù)倉(cāng)庫(kù)框架,基于MapReduce封裝。其將存儲(chǔ)在HDFS的文件映射成我們熟悉的數(shù)據(jù)表,并提供類(lèi)SQL(Hive SQL/HQL)語(yǔ)句進(jìn)行數(shù)據(jù)表操作。是使用Hadoop平臺(tái)數(shù)據(jù)倉(cāng)庫(kù)的必備技能。

2)Memcached

基于Key-Value的、高性能、分布式內(nèi)存對(duì)象緩存系統(tǒng),解決了大數(shù)據(jù)量緩存的問(wèn)題,可在內(nèi)存中緩存數(shù)據(jù)查詢(xún)結(jié)果。

3)Redis

基于Key-Value的、可持久化的日志型內(nèi)存數(shù)據(jù)庫(kù)。Redis與Memcached類(lèi)似,但支持更多的存儲(chǔ)類(lèi)型。另外,Redis可以將內(nèi)存中的數(shù)據(jù)寫(xiě)入硬盤(pán)中,做持久化的保存。也可以設(shè)置key的過(guò)期時(shí)間,過(guò)期自動(dòng)刪除緩存。

3.數(shù)據(jù)計(jì)算類(lèi)

1)Spark

不以MapReduce為執(zhí)行引擎、基于內(nèi)存計(jì)算的數(shù)據(jù)處理框架,用于大數(shù)據(jù)分析處理的集群計(jì)算系統(tǒng)。相比于MapReduce主要處理離線(xiàn)數(shù)據(jù),Spark可以進(jìn)行實(shí)時(shí)流式數(shù)據(jù)的分析處理。同時(shí),其在內(nèi)存中存儲(chǔ)工作數(shù)據(jù)集的特點(diǎn)使其性能領(lǐng)先于MapReduce,對(duì)內(nèi)存的消耗自然也較大。當(dāng)任務(wù)對(duì)實(shí)時(shí)性要求較高時(shí),可考慮選擇Spark。

2)Storm

全內(nèi)存計(jì)算的流式計(jì)算框架,定位是分布式實(shí)時(shí)計(jì)算系統(tǒng)??商幚碓丛床粩嗔魅氲臄?shù)據(jù),來(lái)一條數(shù)據(jù)處理一條,是真正的純實(shí)時(shí)。

3)Flink

針對(duì)流數(shù)據(jù)+批數(shù)據(jù)的計(jì)算框架。把批數(shù)據(jù)看作流數(shù)據(jù)的一種特例,延遲性較低(毫秒級(jí)),且能夠保證消息傳輸不丟失不重復(fù)。

4.數(shù)據(jù)分析及可視化

1)Zeppelin

數(shù)據(jù)分析工具,包含了大數(shù)據(jù)分析和可視化功能,可以通過(guò)Web頁(yè)面新建Notebook來(lái)完成數(shù)據(jù)的查詢(xún)、分析和導(dǎo)出。

2)ELK

是ElasticSearch, Logstash, Kibana的統(tǒng)稱(chēng),其是一套實(shí)時(shí)數(shù)據(jù)收集,存儲(chǔ),索引,檢索,統(tǒng)計(jì)分析及可視化的解決方案。ElasticSearch是一個(gè)分布式存儲(chǔ)及檢索引擎,可快速實(shí)時(shí)地存儲(chǔ)和查詢(xún)數(shù)據(jù),常用于快速檢索內(nèi)容。Logstash是一個(gè)收集實(shí)時(shí)流式數(shù)據(jù)(例如日志)的數(shù)據(jù)收集引擎,可用于接收、處理和轉(zhuǎn)發(fā)日志。Kibana是一個(gè)數(shù)據(jù)分析和可視化的平臺(tái)??蓪?duì)ElasticSearch索引中存儲(chǔ)的數(shù)據(jù)進(jìn)行搜索和查詢(xún),并實(shí)現(xiàn)高級(jí)數(shù)據(jù)分析和可視化功能。最新版本已經(jīng)改名為Elastic Stack,并加入了采集數(shù)據(jù)的Beats項(xiàng)目

5.系統(tǒng)管理

1)Zookeeper

是一個(gè)分布式協(xié)調(diào)服務(wù),為應(yīng)用提供統(tǒng)一命名、配置維護(hù)、域名服務(wù)、分布式同步等一致性服務(wù)。

2)YARN

是Hadoop的集群資源管理系統(tǒng)??勺鳛榭蚣芄芾砥鳎瑢?duì)計(jì)算框架進(jìn)行管理和資源調(diào)度,例如MapReduce、Spark、Storm和Flink等。

數(shù)據(jù)平臺(tái)篇對(duì)于非技術(shù)出身的產(chǎn)品及相關(guān)人員,閱讀起來(lái)會(huì)感覺(jué)非??菰铮瑢W(xué)習(xí)和理解也確實(shí)有一定難度。但如果能對(duì)相關(guān)知識(shí)進(jìn)行充分了解,將在未來(lái)的數(shù)據(jù)工作中起到很大幫助,在與技術(shù)同學(xué)溝通時(shí)也會(huì)更加順暢。所以還是建議硬著頭皮啃下來(lái)的。

數(shù)據(jù)平臺(tái)篇到此結(jié)束。

 

作者:Rowan;公眾號(hào):羅老師別這樣

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

題圖來(lái)自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 數(shù)據(jù)產(chǎn)品好難,好多關(guān)鍵詞記得頭暈?zāi)X脹

    回復(fù)
  2. 一ilskalkkallapmasjskdi

    回復(fù)
  3. 贊!

    來(lái)自廣西 回復(fù)
  4. 數(shù)據(jù)集市(ADS)層里面放的不是事實(shí)表和維度表吧,這里放的不是具體的業(yè)務(wù)需求的數(shù)據(jù)嗎?事實(shí)表和維度表不是在第二層嗎?

    來(lái)自廣東 回復(fù)
  5. 大家期待已久的《數(shù)據(jù)產(chǎn)品經(jīng)理實(shí)戰(zhàn)訓(xùn)練營(yíng)》終于在起點(diǎn)學(xué)院(人人都是產(chǎn)品經(jīng)理旗下教育機(jī)構(gòu))上線(xiàn)啦!
    本課程非常適合新手?jǐn)?shù)據(jù)產(chǎn)品經(jīng)理,或者想要轉(zhuǎn)崗的產(chǎn)品經(jīng)理、數(shù)據(jù)分析師、研發(fā)、產(chǎn)品運(yùn)營(yíng)等人群。
    課程會(huì)從基礎(chǔ)概念,到核心技能,再通過(guò)典型數(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),咨詢(xún)課程詳情并領(lǐng)取福利優(yōu)惠吧!

    來(lái)自廣東 回復(fù)