愛奇藝數(shù)據(jù)中臺建設方案
數(shù)據(jù)中臺的產(chǎn)生:數(shù)據(jù)工作的痛點、數(shù)據(jù)中臺的產(chǎn)生、中臺的實質
愛奇藝數(shù)據(jù)中臺的定義:理解數(shù)據(jù)中臺、數(shù)據(jù)中臺的發(fā)展歷程、輸出和定位
愛奇藝數(shù)據(jù)中臺的建設:中臺建設、Pingback體系、數(shù)倉體系、數(shù)倉平臺、離線數(shù)倉架構、大數(shù)據(jù)平臺、數(shù)據(jù)平臺架構
數(shù)據(jù)中臺的應用場景:統(tǒng)一化、個性化、定制化

使用門檻高:數(shù)據(jù)工作是一個專業(yè)性特別強的一個工作,對于人員的要求比較高。
口徑不一致:在使用數(shù)據(jù)過程當中,口徑不一致是特別常見的一種問題,這種問題可能會導致一種數(shù)據(jù)使用和分析的差異,而且會降低業(yè)務的數(shù)據(jù)分析效率。
數(shù)據(jù)可靠性低:在生產(chǎn)過程中,降低業(yè)務的數(shù)據(jù)分析效率,最終會對業(yè)務決策造成嚴重的影響,不僅數(shù)據(jù)鏈路過程很長,其中還會引入很多數(shù)據(jù)質量問題。
跨業(yè)務難度大:因為缺少一個統(tǒng)一的數(shù)據(jù)建設的規(guī)劃、標準和規(guī)范,所以難以指導各個業(yè)務或者整個生產(chǎn)鏈路的各個環(huán)節(jié),以擁有一個標準化的生產(chǎn)和處理過程,就導致了多個業(yè)務的數(shù)據(jù)難以融合,難以發(fā)揮更大的數(shù)據(jù)價值。
接入成本高:如果有新的業(yè)務接入或者新的場景需要使用數(shù)據(jù),很多工作都需要人工處理。去申請各種資源、權限、找數(shù)據(jù)并且串聯(lián)整個數(shù)據(jù)的采集、生產(chǎn)、計算、同步和展示等各個環(huán)節(jié),這是一個耗時長、效率低,最終還是很容易出錯的過程。
投遞質量低:說到數(shù)據(jù)的話肯定離不開投遞,投遞是用來記錄用戶行為的一連串的數(shù)據(jù)信息。如果投遞過程缺少標準化或者流程管控的話,都會導致投遞質量比較差。
獲取數(shù)據(jù)難:數(shù)據(jù)的生產(chǎn)到最終使用,中間可能要經(jīng)歷一個比較長的時間周期或者一個比較寬的團隊跨度,用戶可能無法很快地找到想要的數(shù)據(jù),或者數(shù)據(jù)團隊生產(chǎn)出來的數(shù)據(jù)并沒有真正觸達到業(yè)務,來達到它的數(shù)據(jù)價值。 數(shù)據(jù)資產(chǎn)模糊:這個點可能和獲取數(shù)據(jù)難有一點點關聯(lián),數(shù)據(jù)資產(chǎn)模糊的話更多的是在說需要對公司的數(shù)據(jù)資產(chǎn)做一個整體的管理,如果沒有這個整體的管理,就會導致對數(shù)據(jù)資產(chǎn)的級別和擁有什么數(shù)據(jù)資產(chǎn)都很模糊。最終就是導致數(shù)據(jù)的優(yōu)勢難以發(fā)揮出來,而且雖然耗費了很多計算資源、人力資源、存儲資源,但沒有帶來相應的價值,最終導致資源效率極低。
數(shù)據(jù)中臺更像一種企業(yè)架構,是一套結合互聯(lián)網(wǎng)技術和行業(yè)特性,在企業(yè)發(fā)展的不確定性中,尋找確定性,并且持續(xù)沉淀和抽象企業(yè)核心能力,最終支持企業(yè)快速、高效、低成本進行業(yè)務創(chuàng)新和增強的企業(yè)架構。

數(shù)據(jù)后臺:
大家平時更多用到了大數(shù)據(jù)集群,也就是說Hadoop、Spark、Flink以及其他OLAP工具。但是這些只是數(shù)據(jù)后臺的一個概念,并沒有做成一個標準化、通用化、門檻相對來說比較低的中臺化的概念。
數(shù)據(jù)中臺:
數(shù)據(jù)中臺其實是一個數(shù)據(jù)即服務的產(chǎn)品概念,它包括了數(shù)據(jù)服務、數(shù)據(jù)平臺、數(shù)據(jù)中臺產(chǎn)生的數(shù)據(jù)以及在所有的數(shù)據(jù)工作中產(chǎn)生的標準和規(guī)范,這一些組成了我們所謂的數(shù)據(jù)中臺。
數(shù)據(jù)前臺:
數(shù)據(jù)前臺就是我們實際的產(chǎn)品落地的具體例子,主要包括了幾個大的方向:
分析體系,比如說用戶分析、內(nèi)容分析、業(yè)務報表等;
數(shù)據(jù)應用,比如說即席查詢、可視化查詢工具;
數(shù)據(jù)產(chǎn)品,類似于畫像和推薦業(yè)務,可能都是一些數(shù)據(jù)最終形成的產(chǎn)品,直接面向用戶服務。
所以數(shù)據(jù)中臺抽象出來,就是指“平臺+服務+數(shù)據(jù)+標準化”的概念,它是將數(shù)據(jù)的生產(chǎn)、收集、處理、存儲和服務進行封裝,并且面向不同層級的用戶提供不同的服務形式。在數(shù)據(jù)標準化過程中,數(shù)據(jù)中臺可以防止數(shù)據(jù)重復建設,避免口徑問題,提高數(shù)據(jù)的使用效率。




說到數(shù)據(jù)中臺定位,因為數(shù)據(jù)中臺和前臺、后臺都需要有一個明確的劃分,數(shù)據(jù)中臺定位提供了這種抽象通用的能力來支持前臺團隊在此基礎之上進行定制化,最終在復用通用能力的同時,能夠滿足業(yè)務快速發(fā)展的個性化的需求,達到一個全局最優(yōu)化的狀態(tài)。

主要從五個角度去輸出中臺能力,分別是服務、數(shù)據(jù)、平臺、投遞、標準/規(guī)范。在愛奇藝數(shù)據(jù)中臺的實施過程中,劃分出了三個大方向:
生產(chǎn),也就是我們所說的投遞體系;
數(shù)據(jù),也就是統(tǒng)一數(shù)倉的體系,是數(shù)據(jù)的核心;
大數(shù)據(jù)平臺能力:包括開發(fā)、治理、服務。
日志投遞:
這部分輸出了投遞規(guī)范,進一步針對投遞規(guī)范,需要對公司的相關員工進行培訓,讓大家深刻地理解投遞是為了做什么,并且怎樣才能達到我們對于用戶的行為足夠深入的分析要求。
大數(shù)據(jù)平臺:
有一線開發(fā)、對應的運維管理、實時開發(fā)對應的運維管理,以及數(shù)據(jù)治理、數(shù)據(jù)圖譜、數(shù)據(jù)服務和即席查詢。即席查詢是我們數(shù)據(jù)服務里的一個子項,但是因為應用面比較廣,就單獨拎出來了。
統(tǒng)一數(shù)倉:
統(tǒng)一數(shù)倉的能力也就是為下游提供離線和實時的兩種數(shù)倉能力。為了方便大家實現(xiàn)跨離線和實時混合使用的場景,需要進行標準化的工作,也就是離線輸出的字段、定義、口徑、格式和實時數(shù)據(jù)要盡可能一致,即實時數(shù)據(jù)向離線數(shù)據(jù)看齊。
數(shù)倉在提供數(shù)據(jù)本身的能力之外,還要維護整個公司級別的指標體系和統(tǒng)一維度,讓所有的數(shù)據(jù)系統(tǒng)平臺和都會對接到統(tǒng)一的維度指標體系。而且,為了幫助數(shù)倉建設過程中的數(shù)據(jù)建模和統(tǒng)計指標的管理,建設了一個對應的數(shù)據(jù)平臺,也是按照數(shù)據(jù)規(guī)范的標準建設,以此來支持使用方使用平臺依照規(guī)范去建設數(shù)倉的流程化工作。
Pingback的體系就是投遞體系,那么具體為什么要做這個事情呢?

投遞工作面臨的問題主要有以下幾個點:


數(shù)倉體系幾個要解決的痛點:


數(shù)倉平臺的特性:
數(shù)據(jù)表創(chuàng)建的約束性:比如我們需要對表有的命名規(guī)范要求,如果沒有一個工具去管理,可能會因為大家對規(guī)范的理解不一致,最終導致落地過程中依然存在各種各樣的差異性; 數(shù)據(jù)信息的可描述性:指在創(chuàng)建表的過程中,為了快速地滿足業(yè)務,很少去添加一些相關的描述信息,導致數(shù)據(jù)缺少描述性。所以需要通過平臺,要求用戶在數(shù)據(jù)創(chuàng)建的過程中把信息描述的足夠精細,方便后續(xù)的數(shù)據(jù)使用過程; 數(shù)據(jù)建模體系的完整性:指我們需要一個三步的建模過程,即業(yè)務建模后,有對應的數(shù)據(jù)建模;數(shù)據(jù)建模之后,針對這個數(shù)據(jù)建模,有不同的物理建模的形式。整體是一個流程化的工作,避免用戶為了快速地滿足業(yè)務需求跳過某些過程,最終導致建模的擴展性較差; 數(shù)據(jù)關系的維度與指標管理的系統(tǒng)性:通過提供一套統(tǒng)一的維度和指標管理體系來作為一個中心,對外輸出統(tǒng)一的指標和維度,讓大家在使用的過程中,可以使用這些標準化后的并且集中管理的元數(shù)據(jù); 數(shù)據(jù)關系的可追溯性:是指通過數(shù)倉建設、建模的過程,促使我們后續(xù)數(shù)據(jù)表和字段的相互關系是有記錄可查詢的,也就是我們所說的數(shù)據(jù)血緣關系。
下面是數(shù)倉的簡化架構,主要是體現(xiàn)了離線數(shù)倉部分。其中帶顏色的一部分是統(tǒng)一數(shù)倉,其他的淺顏色的就是一些數(shù)據(jù)應用,包括數(shù)據(jù)集市和主題數(shù)倉。


愛奇藝大數(shù)據(jù)平臺經(jīng)歷了五個階段:
開發(fā):在第一階段完成了整個數(shù)據(jù)開發(fā)的平臺化、可視化能力,降低了開發(fā)門檻,并提升開發(fā)標準化。
運維:在開發(fā)之后,需要提升任務的管理和運維能力。通過建設運維管理模塊的建設,保證用戶更方便地對任務進行管理,并且對任務產(chǎn)出的穩(wěn)定性和數(shù)據(jù)產(chǎn)出的時效性實現(xiàn)了有效的監(jiān)控。
質量:在提供了數(shù)據(jù)開發(fā)和管理相關能力之后,需要進一步對數(shù)據(jù)產(chǎn)出進行質量校驗,避免生產(chǎn)出的數(shù)據(jù)在未關注數(shù)據(jù)質量的情況下直接被使用,造成數(shù)據(jù)問題的快速擴散。
使用:數(shù)據(jù)使用也是一個數(shù)據(jù)發(fā)現(xiàn)的過程。比如生產(chǎn)了很多數(shù)據(jù),如何讓用戶看到這些數(shù)據(jù),并將其更好地應用在業(yè)務需求當中。針對這個痛點,完成數(shù)據(jù)圖譜模塊的發(fā)布,把各種的數(shù)據(jù)元信息進行收集、加工、管理,最終把完整的數(shù)據(jù)信息以一種更友好的形式提供出來,幫助大家快速地發(fā)現(xiàn)數(shù)據(jù),進一步去了解數(shù)據(jù)元信息、快速準確地使用數(shù)據(jù)。
治理:是數(shù)據(jù)生態(tài)的最后一個環(huán)節(jié),也是打造健康生態(tài)閉環(huán)的重要部分。有的公司可能是把治理放到比較靠前的環(huán)節(jié),但是在一些場景下,比如說業(yè)務快速發(fā)展的過程中,治理往往是跟不上業(yè)務需求的。所以愛奇藝采取的方式是,等業(yè)務發(fā)展到一定程度,再去補充數(shù)據(jù)治理的能力,對存量去治理,對增量去管控。治理工作的內(nèi)容主要包括對數(shù)據(jù)和任務進行日常審計,然后通過數(shù)據(jù)血緣和使用情況,對數(shù)據(jù)的冗余度進行有效評估,并進行相應的優(yōu)化,以減少資源和人力的浪費。

最底層是數(shù)據(jù)層,比如投遞服務器的日志,包括業(yè)務的數(shù)據(jù)或者其他數(shù)據(jù)來源,通過采集層和傳輸層達到我們的計算層。
計算層,更多的是大數(shù)據(jù)集群服務,也包括一些任務調度能力。
平臺層包括離線和流式任務的開發(fā)管理、機器學習平臺、數(shù)倉平臺,然后下面是對于整個的數(shù)據(jù)的ETL的一個平臺化的處理,還有外部數(shù)據(jù)的一個同步能力的模塊,稱為數(shù)據(jù)集成。在擁有這些開發(fā)能力或管理能力的同時,還需要對投遞管理、數(shù)據(jù)安全、數(shù)據(jù)質量、數(shù)據(jù)圖譜做一些有效的建設,并且在整個數(shù)據(jù)體系中去做數(shù)據(jù)治理工作。
服務層是以即席查詢、實時分析,數(shù)據(jù)服務、元數(shù)據(jù)服務多種形式對下游提供服務能力。

數(shù)據(jù)中臺的應用場景,面向不同階段來提供不同的接入方式:
第一個階段是統(tǒng)一化的形式。有一套通用的模板,它的優(yōu)點和缺點都很明顯,優(yōu)點是接入起來很簡單,缺點就是不夠個性化和定制化,只能支持這種通用的數(shù)據(jù)能力。所以它比較適合于業(yè)務初期,能夠進行快速接入,并且自動化地完成這種數(shù)據(jù)的處理和服務; 第二個階段是個性化的能力。把整個流程確定下來,業(yè)務在使用過程中可以針對某些環(huán)節(jié)做定制化的開發(fā),拓展現(xiàn)存數(shù)據(jù)模塊的能力來滿足一些個性化需求,所以它更適用于業(yè)務的成長期的階段; 第三個階段是定制化的能力。定制化更多面向一些特別成熟的業(yè)務,也就是對于數(shù)據(jù)這一塊的需求有多方面的、深層次的使用場景,并且通用的和個性化的架構已經(jīng)不足以滿足數(shù)據(jù)需求的情況下,可以采用定制化的能力。定制化能力也就是我們提供數(shù)據(jù)模塊化的能力,然后業(yè)務再根據(jù)自己的需求去對應選取這些模塊化能力,并進行組裝和擴展,來滿足自己定制化的需求。
