導讀:大數據時代的到來,讓很多企業看到了數據資産的價值,開始探索應用場景和商業模式,并建設相關技術平台。因此,數據治理成為了挖掘數據價值的重要手段和工具。但數據治理不僅需要完善的保障機制,還需要理解具體的治理内容,比如數據該怎麼規範,元數據該怎麼管理等。這些問題是數據治理過程中最實際也是最複雜的問題,今天我将從數據治理的各個核心領域來和大家分享一下雲音樂在數據治理中的探索與實踐。
本文會圍繞以下四個方面展開:
01音樂數倉概況
首先介紹一下雲音樂目前所面臨的一些問題與挑戰,也就是為什麼要做數據治理。
1. 整體情況
以上幾方面導緻了數據倉庫在保障數據質量、控制計算與成本等方面面臨了越來越大的挑戰。
2. 問題與挑戰
問題主要有三個方面:
接下來就針對上述三方面來展開介紹一下雲音樂的數據治理工作。
02數據規範
數據規範是數據治理建章立制的一個基礎。在音樂數據倉庫這一塊,我将從設計規範和開發規範這兩方面來介紹我們雲音樂标準化改造的過程。
1. 設計規範-問題和痛點
在設計規範方面遇到的主要問題和痛點:
這塊我們需要從數據的穩定、效率和質量方面來解決。
2. 設計規範-數據域
從整體架構上來講,我們将雲音樂的整個數據進行了一個數據域的劃分,用來确定一個高穩定性的數據倉庫。主題域是一個要保持穩定不變的高度抽象的概念。我們将整個雲音樂劃分為參與者、服務及産品、事實、協議,以及公共數據這五個主題域。基于這五個主題域,我們又對業務場景做了進一步的子主題的劃分,子主題的劃分也是相對穩定的。數據劃分後,當業務發生叠代時,新的數據也能夠有一個相對明确的數據域的歸屬。
數據的劃分主要是為了實現業務形态和實體關系的表達。我們按照以上五個主題域來進行劃分是因為我們的數據核心其實就是參與者和服務及産品這兩個方面。參與者就是用戶,服務及産品主要是内容。
參與者和服務及産品之間會達成一些協議,比如直播協議,版權協議等。另外,參與者和服務及産品之間會産生各種各樣的業務過程,這就是事實。其中主要包括流量數據,互動數據,支付數據。
在人、坑位和資源的不同粒度中,我們的分層模型設計就是針對這樣的核心數據來進行的。
3. 設計規範-模型分層
上圖是雲音樂數據倉庫分層的一個基本情況。跟大部分流量型産品的數據分層一樣,我們也分為ODS貼源層,DIM的維度,以及DWD的明細,DWS的彙總層。另外我們在應用層支持了非常多的産品,比如活動跟蹤、用戶歌曲畫像、流量羅盤,以及各種to C和to B的數據産品。
我們模型設計的核心是對DWS這個彙總層進行了進一步的拆分,比如在這個圖裡我們可以看到有橫向拆分和縱向拆分。
我們最終的設計目标是,通過這樣一個模型設計來達到高效率高質量的數據生産和使用。
4. 設計規範-平台管控
我們通過網易數帆開發平台對設計規範的落地進行管控。上圖是平台提供的一個工單機制,對我們的數據域、分層結構進行設置和規範,也對表和字段的命名也進行規範,幫助我們将設計思想真正落到實際的生産過程中去。
5. 數據規範-開發規範
開發規範造成的問題也是屢見不鮮,我們也在新的體系下對開發工作進行調整和改進:
6. 數據規範-DQC
另外我們的數據開發平台提供了一個數據質量控制的功能,上圖是一個規則配置的頁面。這個功能除了可以支持标準化表組件的唯一性檢測,表行數檢查,字段空值檢查,字段枚舉值檢查等模闆規則,還可以支持一些我們自定義的規則。這樣我們能夠在任務上線之後,對數據質量進行監控,及時發現并阻塞異常向下遊擴散。
03埋點治理
數據治理中解決數據源頭問題是關鍵,下面将從技術方案和流程管理兩方面來介紹埋點治理工作。
1. 埋點治理-問題和痛點
雲音樂目前在埋點這方面遇到的問題和痛點,主要分為四個方面。
為此雲音樂啟動了一套全新的埋點改造方案。
2. 技術方案-SDK
技術方案是聯合客戶端來進行設計和實施的。客戶端實現了一個埋點的SDK來對埋點生産進行标準化,其中有以下幾個重點:
埋點生産标準化的結果是埋點格式的變化。埋點格式,我們以往是用扁平的JSON方式,裡面就是key/value。但在新的标準下,我們會生成一套嵌套的JSON,裡面攜帶全局公參、事件公參、對象标準參數、對象業務參數。
3. 技術方案-數據倉庫
右邊是我們基于新的埋點方案的數據流示意圖。通過這次埋點治理,我們會同步推進曆史任務的治理。以前很多任務都是直接從ODS上提取和解析數據的,希望這次通過對埋點格式的修改,能夠切斷以往ODS直接訪問的方式,将我們之前的分層模型設計實實在在地落地到整個數據生産的環節當中去。
4. 技術方案-歸因設計
我們的歸因大緻分為以下幾方面:渠道歸因、内容歸因、搜索歸因、策略歸因。
右邊展示了我們目前設計的幾個refer的形式,refer同時包含了SPM和SCM的信息。比如:
5. 埋點治理-流程管理
埋點治理的另一個重點是流程管理,因為整個埋點流程會涉及到很多團隊,決定了技術方案能否高效率高質量的應用到生産流程當中。
當整套流程都測試通過之後,埋點才能最終上線接入到數據倉庫,進入到後續的數據分析中去。其中有兩個關鍵的環節,就是埋點設計和數據測試,這兩塊會接入到我們新的埋點平台來進行管控。
6. 埋點治理-埋點平台
上圖是我們埋點平台大緻的頁面情況。
埋點平台主要面向的是上述埋點流程中會涉及到的團隊和角色:産品策劃、數據開發、大前端開發以及QA。
埋點平台承載的功能是一些元數據管理,包含一些對象管理,版本管理等,以及整個需求工作流的管理和實時埋點測試。未來還會規劃更多功能,比如說質量監控,BI分析等
7. 埋點治理-預期成效
埋點治理的改造項目是一項正在進行的工作,我們希望能夠通過流程管控和技術支撐來提高開發效率,實現數據質量和數據價值的提升,主要包含以下三個方面:
04資産治理
降本提效是資産治理的一個核心,這一塊将從數據流治理和生命周期治理兩方面來介紹我們的工作。
1. 資産治理-問題和痛點
資産核心就兩個部分:計算資源和存儲資源。
從計算和存儲兩方面來看,也有很多曆史包袱的問題。比如可能存在大量的無人浏覽的報表,大量的曆史遺留任務等,這些都是我們在資産治理方面需要解決的問題。
2. 資産治理-數據流治理
數據流治理又分兩個小點:分層模型數據和治理、單任務内數據流治理。
分層模型治理,本質上是數據标準、數據規範的一個落地。
單任務内數據流治理這塊主要講一下我們在做單任務優化的時候的大任務拆解策略。
大任務内部邏輯是否需要拆解我們從兩個方面來考慮:
這邊簡要總結幾個我們在優化過程中的經驗:
案例:我們有一款數據産品是一個推歌的産品,核心是生産歌曲畫像标簽。歌曲畫像我們總共做了400多個标簽,之前随着産品快速叠代和煙囪式開發,産生了大量ADS表,其中包含許多重複的數據加工邏輯。在落地我們的模型設計規範之後,減少了十個ADS表,沉澱了50多個指标到CDM,讓我們整個數據的産出時間提早了兩個多小時。有的任務裡面可能會加工特别多的數據,我們通過對單任務數據流的優化,實現了單表耗時減少30%以上。
3. 資産治理-生命周期治理
資産治理的另外一部分就是生命周期治理,生命周期治理主要考慮三個部分:
這塊我們也借助網易數帆開發平台中的數據資産中心,支持我們做存儲分析、計算分析、報表分析,來幫助我們去更好地管理任務和表的生命周期。通過這個平台我們已經下線了100多個報表和相關的任務,節省存儲超過1PB。
05展望
最後對我們雲音樂未來數據治理做一些規劃和展望,我們希望做到的是自動化的數據治理方案。主要有幾個方面:
06
精彩問答
Q:數據治理之後的顯著成果有哪些?
A:第一個是數據規範的落地。之前整個數倉是沒有一個明确的分層定義的,現在我們會将整個數據資産搬到我們的數據平台去,重新定義好分類,重新構建DWD、DWS、DIM。現在有一百多個已經分好數據域數據分層的模型。第二個是新的埋點正在逐步上線。因為涉及到曆史埋點和新埋點的兼容問題,所以目前正在做上線前的測試以及新老數據的對比工作。資産治理方面,通過數據平台管理任務,我們下線了100多個報表,使得線上的一些核心任務能夠能有更好的計算資源的保證。
Q:數據治理的成果如何來通過指标來量化?
A:基于我們網易的開發平台,有一些資産大盤。我們現在目前整個存儲增長是一個什麼樣的情況,表的生命周期管理是什麼樣的情況,有多少推薦下線的表以及我們真的下線了多少,這些具體指标我們平台裡面都會有。
Q:能詳細說一下技術架構嗎?
A:這個架構圖DIM層、DWD層可能各個公司都一樣,主要講一下DWS層。比如從社交互動這一塊,因為我們是個内容平台,除了有消費者之外還有生産者。所以我們根據内容、生産者、消費者這三個核心,以及坑位來去設計這一塊。這裡總共分了兩條線,一個是我們區分多個維度的一個聚合的快照;另外一個是我們在做一些活動、報告或者總結的時候,經常會用到的比如用戶的首次行為是什麼樣子的,歌曲的首次行為樣子的這種信息。我們會針對這類需求再做一些公共模型,比如落到每種資源的首末次詳情。除此之外,我們還會做比如播放或者互動行為的留存情況。這一塊的設計是,在流量這塊我們也會有一個簡單的多維分析的聚合,也會有針對用戶和坑位的首末次情況,以及用戶和坑位的留存情況。其實在整體設計上來說,思路都是一樣的,隻不過我們從橫向和縱向再進一步做了一個拆解。然後頂層這一塊,因為我們經常會用到,比如歌曲畫像裡面,歌曲什麼時候達到了它的播放峰值,還有其他類似相關的時間點級對應數據的記錄,我們針對這類需求場景做了一些的累計實時的快照表,這樣方便我們去對資源或者對用戶進行整個生命周期的分析。
Q:可以聊一下數據和業務之間的關系嗎?哪一個更重要?
A:數據和業務應該不存在說哪個更重要,因為我們數據需要根據業務來做叠代,業務需要用數據來做支撐。比如說怎樣合理的分配我們的流量,怎樣合理的分發歌曲,怎樣合理的設計産品,這些東西都需要我們數據去做支撐。另外一個就是數據的價值,音樂版權的采買情況或者是ROI的分析,需要我們從數據層面來進行支撐。通過這一套數據我們做了一個版權評估系統去支持我們的業務做相關決策。
今天的分享就到這裡,謝謝大家。
分享嘉賓:
分享嘉賓:宋志毅 網易雲音樂
編輯整理:王劍芬 杭州覓谷科技
出品平台:DataFunTalk
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!