雲娜:從計算、存儲角度,談網易數據治理工具產品實踐

来源:https://www.cnblogs.com/datafuntalk/archive/2022/06/20/16393275.html
-Advertisement-
Play Games

**導讀:**在公司內部,業務線經常面臨數據有哪些、質量如何、是否可用、能產生多大價值的困惑,並且,隨著數據量的增加,計算和存儲資源面臨瓶頸。本次將圍繞數據治理重點關註的計算、存儲等方面,分享數據治理的產品實踐。通過分享,一方面可以瞭解當前業務線主要面臨的待治理的數據問題;另一方面,從計算、存儲等主 ...


導讀:在公司內部,業務線經常面臨數據有哪些、質量如何、是否可用、能產生多大價值的困惑,並且,隨著數據量的增加,計算和存儲資源面臨瓶頸。本次將圍繞數據治理重點關註的計算、存儲等方面,分享數據治理的產品實踐。通過分享,一方面可以瞭解當前業務線主要面臨的待治理的數據問題;另一方面,從計算、存儲等主要方面,瞭解數據治理需要重點關註的內容,同時,對數據治理的整體產品實踐有巨集觀的認識,對內部業務線的數據治理提供針對性的建議。本次分享將主要包括以下幾大方面:

  • 過往數據治理回顧
  • 當前治理痛點
  • 產品整體策略
  • 未來規劃

--

01 過往數據治理回顧

這部分主要介紹網易內部業務線,包括嚴選、傳媒和音樂,做數據治理工作中遇到的問題、對應的產品解決策略,以及治理成果。

1. 專項治理背景回顧

專項數據治理活動有著以下背景:

  • 隨著業務的發展,數據部門的存儲、計算資源會陸續遇到瓶頸;
  • 難以判斷是否應該繼續擴容還是通過治理解決成本危機;
  • 難以清晰定義和處理劣質資源;
  • 缺乏統一數據標準;
  • 沒有明確數據的權責;
  • 無法判斷數據的價值意義。

2. 專項治理策略

file

在專項治理活動中,我們對各個業務線面臨的問題給出了針對性的策略。

首先是確權,明確責任人,每個數據表和調度任務都要落實到一個具體的責任人。由責任人負責推進治理中的具體任務。對於無人認領的資產,要各個業務線指定專項治理的負責人去做處理。
第二,優化存儲資源。首先要定義什麼是“無用數據”,把分析自動化,工具化之後進行優化操作,形成分析閉環。
第三,優化計算資源。從離線任務、實時計算到即席查詢,所有的消耗計算資源的任務都要納入成本分析核算。業務方看到相應的計算任務和成本後,才可以做優化治理的決策。另外要提供優化前後的效果分析比對來看是否達到預期。
第四,量化治理成效。存儲、計算治理累計的效果、單次的效果,需要變成一種量化指標。讓治理的成果一目瞭然。

file

上圖是成本度量體系的設計。紅色線框中是賬單體系,定義了成本的演算法,讓用戶輕鬆理解自己的賬單費用。黃色線框中是計算成本模塊,根據規則把調度執行的計算成本算好形成賬單。綠色線框中會算出存儲成本。上邊的功能都會依賴於底層的調度任務/表的血緣等元數據信息。

3. 產品功能落地

針對於上節所說的策略,我們做了對應產品功能的落地。整體有八個功能模塊:

  • 任務/表具體化到責任人:負責人可以查看、篩選、治理、交接自己負責的資源。
  • 無用數據下線功能:負責人使用這個模塊來完成下線治理操作,下線的資源會放入回收站一段時間後刪除。
  • 表生命周期設置:任何資源,包括內部表和外部表都需要設置生命周期,到期後如果不進行延期就會自動下線刪除。
  • 計算任務成本分析:給用戶提供計算成本的明細視圖。
  • 負責人紅黑榜:通過這個抓手,把各個負責人的資產健康好壞做一個榜單,推動促進治理。
  • 費用和下線指標:這塊展示治理的成效,用戶在這裡可以看到治理累計下線了多少邏輯數據、物理數據、節省的費用。也包括自動下線的成效。
  • 郵件通知 & 內部工具通知:通知內容分為了兩個視角,一方面是治理負責人,可以瞭解當前自己還有哪些數據需要進行治理,治理後可以給項目節省多少年費用;另一方面是項目的管理員/負責人,可以知道當前項目下一共還有多少數據需要治理,治理後總共可以節省多少年費用,也可以知道整個項目中治理做的好的負責人Top5,以及還有哪些人占據的成本最多,可以以此為依據,催促負責人進行治理工作。

下邊是產品功能截圖:

file
file
file

4. 初步取得成效

從下圖中可以看到我們的治理成果數據。通過上述的多種策略,初步取得了治理成效。2020年,為雲音樂和嚴選分別優化了47.6%和61%的表,也為傳媒業務線節省了約38%的計算資源,數據治理各個業務線的專項活動策略得到了業務方的肯定。

file

--

02 當前治理痛點

這部分主要介紹當前治理的痛點,以及我們在制定落地策略的時候,會遇到的各種各樣的“坑”。

1. 當前遇到的痛點

file

上圖是我們已經解決的一些痛點:

  • 首先就是數據開發中的痛點。在做開發過程當中,缺少經驗的同學,會創建一些不規範的目錄;沒有按照規範創建外表等問題都會導致在下線刪除資源時候帶來丟失數據的風險。
  • 由於業務數據需求的優先順序高於治理,所以開發會疲於治理,缺少動力。再加上由於人員變更帶來的大量歷史遺留任務,治理起來比較費力。
  • 沒有形成治理的閉環,周期性的被動去做治理,沒有形成長效治理運營機制,無法形成良性迴圈。
  • 治理效果量化粗糙,導致價值無法精準體現,影響治理參與人的積極性。

2. 依舊填不完的數據“坑”

file

當前我們依然面臨成本問題,對於歷史數據較多的公司,數據治理需要一個過程。這個過程“前路漫漫,道阻且長”,我們亟待解決的幾方面問題包括存儲成本、計算成本、數據質量、模型規範、數據安全和數據價值這幾方面。具體如下圖所示:

file

--

03 產品整體策略

file

正如上文提到的諸多痛點,解決起來無法一蹴而就。我們選擇採取了階梯化的治理方案,整體分為三個階段:

  • 首先就是要明確治理的範圍,從數據產出到數據管理的整體流程中,明確哪些要做,順序是什麼,產出的預期效果是什麼。能夠讓決策者知道我們行動的範圍和影響範圍。
  • 第二就是明確和量化治理的價值。通過一套度量體系作為抓手,讓管理者在內的所有干係人看到我們治理會帶來的價值,為治理的行動創造良好的環境。
  • 第三就是體系化治理,把短期運營治理的方法策略工具化產品化,在流程上形成長期建設機制,形成一個良性的閉環,提升治理的效率和數據質量。讓所有人都從中受益看到效果。

1. 明確治理範圍

file

我們圍繞數據生命周期,從生產、消費到管理來梳理治理的範圍。在數據生產階段,需要對需求進行分析,明確業務口徑,對數據進行規範採集、任務開發和監控運維;在數據消費階段,涉及到快速的查找數據,對數據的分析和對數據質量的探查;在數據管理過程中,包含許可權和成本管理等。整個流程涉及到成本、標準、質量、安全和價值,各個階段都會面臨對數據的治理工作。

2. 量化數據治理價值

file

我們基於數據的全生命周期,通過資產的健康分來體現數據治理的價值,健康分涵蓋了成本、質量、安全、標準和價值五個維度,每個維度都要有可量化的指標項。

  • 首先是成本分,治理前後的成本變化可以體現治理的價值,成本是也衡量業務數據使用ROI的必要指標。
  • 第二是價值分,價值分體現衡量數據資產在業務上的重要程度,也是計算業務ROI的重要數據。有了成本和價值分,就為評估數據資產的優劣打了一個基礎。
  • 第三是質量分,通過一組規則來體現數據質量,這個是體現數據負責人和開發團隊對數據質量管理控的好壞,同時為數據質量的治理提供了參考依據。
  • 第四是標準分,涉及到數倉模型規範。規範的模型利於上層應用的效率,也是治理的一個重點。
  • 第五是安全分,涉及到資產安全等級和許可權管控的好壞。
  • 五個方面,每一個方面都會有一個計算權重,最後形成資產健康分。不同健康程度的資產涉及到不同的處理策略,比如說某人負責的數據低於某一個分值的時候,我們會限制此人新建任務的優先順序。我們通過類似的手段來推進數據治理的運營和數據健康的提升。

3. 體系化的數據治理

file

最後就是把數據治理進行體系化,讓數據治理活動形成閉環,能夠持續進行,從而保證數據資產的健康。首先是發現問題,我們配套多維度健康評估體系來量化發現問題。同時通過工具把問題和建議的解決方式推送給負責人去解決問題。配套資產賬單、治理紅黑榜,同時把健康分和預算申請進行關聯,促使治理能夠形成閉環。最後日常我們會做數據治理大賽、業務專項治理等專題活動來推動數據治理運營,讓數據治理形成一個良性的迴圈。

--

04 未來規劃

file

接下來用一個房子圖來介紹下我們的未來規劃。我們的願景是打造一款全流程、自動化、可落地、高質量的大數據評估和優化工具。數據治理工具的使命本是降本提效,省錢省力。

房子圖中願景以下分別是目標、抓手和支撐層。圖中可以看到,支撐層的完成度更高,因為這層是一個基礎。抓手層的兩大塊分別是健康分和通知機制,這兩塊已經實現了部分功能,已經能夠初步形成治理的閉環,接下來我們會繼續圍繞健康分把質量、安全和標準這部分做好。通過圍繞著健康分把數據治理的工作運營好,形成一個從問題發現到快速治理的高效閉環,來保證數據使用的效率、質量和安全,充分發揮數據價值。

--

05 精彩問答

Q:怎麼讓數據治理工作能夠內嵌到開發工作當中,而不是多出來的一項工作?

A:很多業務在使用數據的時候,是只開發不治理,這種方式會遺留下來不少需要治理的問題。很難避免要去單獨做數據治理。如果在業務開發初始階段就把數據規範、指標體系、指標口徑有一個規劃設計,並且按照規範落實。那麼後續會減少很多治理的動作。比如一開始創建表的時候,就要指定好是否分區表,數據的生命周期,這樣到期後,就可以自動刪除掉,也不會涉及這個表占用了很多存儲,需要額外梳理和確定是否需要下線的工作。

Q:資產健康資產分是基於什麼得出來的?

A:健康分涉及到很多方面,成本、價值、規範、質量、安全等等。健康分的五個維度,都是從實際需要治理的任務抽象出來的,涉及到數據生命周期的各個環節。有了這樣一個資產健康分,再和用戶的開發許可權申請和資源申請進行掛鉤,能夠促進數據治理形成一個高效的閉環。

Q:數據治理,一般由誰來做?

A:數據治理涉及到資源方、使用方和管理方。一般來說我們會明確具體的負責人,他有義務對負責的表、任務做治理。實際執行時候,會碰到一些任務最早的負責人離職了,針對這種我們會指定專人治理。專人除了把自己負責的任務、表做好治理之外,還需要處理歷史遺留的治理任務。

Q:中台當中的數據治理都做什麼?只是資料庫表的原數據嗎?

A:其實剛纔也說過,治理不只針對於資料庫表的原數據。數據從入倉到加工到後續生命周期的管理的這個流程上,每個階段都會涉及到數據治理。比如創建模型的時候,涉及到指標口徑的定義和模型的規範。再比如離線開發中的ETL加工,會涉及到數據源配置,數據質量校驗等,這些都涉及到治理的動作。那麼在應用層出報表時候,涉及到是否要建中間表等,也要有規範。整個生產應用的鏈條上都會涉及到治理,表和元數據只是其中的一方面,其他的比如涉及到計算資源的治理、安全的治理等。

Q:數據治理一般要花多長時間?

A:其實數據治理沒有一個既定的時間就能夠完成它,它不是做完之後就不用再做了,而是一個持續的過程。因為你的項目當中的表,你的計算任務隨著業務的需求肯定是慢慢在增加,一直在增加的。就像收拾屋子一樣,只要屋子有人用,總會再需要收拾。

Q:計算成本是怎麼核算的?

A:計算成本是看任務對CPU的消耗,折算成以CU為單位的數據,然後就可以根據硬體成本折算成費用。


今天的分享就到這裡,謝謝大家。


分享嘉賓:

file
本文首發於微信公眾號“DataFunTalk”。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 大佬的理解->《Java IO(三) -- 位元組流》 1、FileInputStream 1.1 初始化 FileInputStream(String name) FileInputStream(File file) //直接通過文件地址初始化 FileInputStream fis = new i ...
  • 第二回 巧習得元素分類 子不知懷璧其罪 雲溪父親見狀看了看雲溪,臉上滲出意思冷汗,但遲疑一下就立即退了出去,匆匆忙忙的往右邊廚房趕,只留下了雲溪和這位神秘的老爺子。 雲溪瞠目結舌的看著悠然自得的喝著老爹泡的茶的老爺子,下意識說了一句:“老先生你怎麼這麼快,還知道我要來這裡”。 “方向,你一直在繞巷子 ...
  • 一、Iproute2簡介 Iproute2是一個在Linux下的高級網路管理工具軟體。實際上,它是通過rtnetlink sockets方式動態配置內核的一些小工具組成的,從Linux2.2內核開始,Alexey Kuznetsov 實現了通過rtnetlink sockets用來配置網路協議棧,它 ...
  • 目錄 一、前景回顧 二、用C語言編寫內核 三、載入內核 四、運行測試 一、前景回顧 本回開始,我們要開始編寫內核代碼了,在此之前,先梳理一下已經完成的工作。 藍色部分是目前已經完成的部分,黃色部分是本節將要實現的。 二、用C語言編寫內核 為什麼要用C語言來編寫內核呢,其實用彙編語言也可以實現,只是對 ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 VS中有一鍵編譯+自動運行,Linux也給我們提供了對應的編譯方式,雖然不及VS那麼便捷,但是相比於手動輸入 gcc -o add add.c ,我們一句make就可以搞定 Makefile是一個文件,能夠存放上述 gcc -o add add. ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 1. 伺服器要求: 建議最小硬體配置:2核CPU、2G記憶體、20G硬碟 伺服器最好可以訪問外網,會有從網上拉取鏡像需求,如果伺服器不能上網,需要提前下載對應鏡像並導入節點 1.1 軟體環境: 1.2 伺服器規劃: 1.3 架構圖: 2. 操作系統 ...
  • ClickHouse核心架構設計是怎麼樣的?ClickHouse核心架構模塊分為兩個部分:ClickHouse執行過程架構和ClickHouse數據存儲架構,下麵分別詳細介紹。 ClickHouse執行過程架構 總的來說,結合目前搜集到的一些資料,可以看到目前ClickHouse核心架構由下圖構成, ...
  • 原文鏈接:基於開源大數據調度系統Taier的Web前端架構選型及技術實踐 課件獲取:關註公眾號**“數棧研習社”,後臺私信“Taier”**獲得直播課件 視頻回放:點擊這裡 Taier開源項目地址:github丨gitee 上兩期,我們為大家分享了Taier入門及控制台的介紹,本期我們為大家分享Ta ...
一周排行
    -Advertisement-
    Play Games
  • 什麼是工廠模式 工廠模式是最常用的設計模式之一,屬於創建型模式。 有點: 解耦,可以把對象的創建和過程分開 減少代碼量,易於維護 什麼時候用? 當一個抽象類有多個實現的時候,需要多次實例化的時候,就要考慮使用工廠模式。 比如:登錄的抽象類ILoginBusiness,它有2個實現,一個用用戶名密碼登 ...
  • 這次iNeuOS升級主要升級圖形渲染引擎和增加豐富的圖元信息,可以很快的方案應用。總共增加41個通用和行業領域的圖元應用,增加2154個圖元信息,現在iNeuOS視圖建模功能模塊總共包括5894個行業圖元信息。現在完全支持製作高保真的工藝流程和大屏展示效果。 ...
  • 效果圖先附上: 首先 這是我是參考 教程:使用 SignalR 2 和 MVC 5 實時聊天 | Microsoft Docs 先附上教程: 在“添加新項 - SignalRChat”中,選擇 InstalledVisual> C#>WebSignalR>,然後選擇 SignalR Hub 類 (v ...
  • 一、前言 項目中之前涉及到胎兒心率圖曲線的繪製,最近項目中還需要添加心電曲線和血樣曲線的繪製功能。今天就來分享一下心電曲線的繪製方式; 二、正文 1、胎兒心率曲線的繪製是通過DrawingVisual來實現的,這裡的心電曲線我也是採用差不多相同的方式來實現的,只是兩者曲線的數據有所區別。心電圖的數據 ...
  • 安裝 Redis # 首先安裝依賴gcc, 後面需要使用make編譯redis yum install gcc -y # 進入 /usr/local/src 目錄, 把源碼下載到這裡 cd /usr/local/src # 下載 redis 7.0.2 的源碼,github被牆,可以使用國內的地址 ...
  • Redis 的定義? 百度百科: Redis(Remote Dictionary Server ),即遠程字典服務,是一個開源的使用ANSI C語言編寫、支持網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。 中文官網: Redis是一個開源(BSD許可),記憶體存 ...
  • 事情的起因是收到了一位網友的請求,他的java課設需要設計實現迷宮相關的程式——如標題概括。 我這邊不方便透露相關信息,就只把任務要求寫出來。 演示視頻指路👉: 基於JavaFX圖形界面的迷宮程式演示_嗶哩嗶哩_bilibili 完整代碼鏈接🔎: 網盤:https://pan.baidu.com ...
  • Python中的字典 Python中的字典是另一種可變容器模型,且可存儲任意類型對象。鍵值使用冒號分割,你可以看成是一串json。 常用方法 獲取字典中的值 dict[key] 如果key不存在會報錯,建議使用dict.get(key),不存在返回None 修改和新建字典值 dict[key]=va ...
  • 迎面走來了你的面試官,身穿格子衫,挺著啤酒肚,髮際線嚴重後移的中年男子。 手拿泡著枸杞的保溫杯,胳膊夾著MacBook,MacBook上還貼著公司標語:“加班使我快樂”。 面試官: 看你簡歷上用過MySQL,問你幾個簡單的問題吧。什麼是聚簇索引和非聚簇索引? 這個問題難不住我啊。來之前我看一下一燈M ...
  • tunm二進位協議在python上的實現 tunm是一種對標JSON的二進位協議, 支持JSON的所有類型的動態組合 支持的數據類型 基本支持的類型 "u8", "i8", "u16", "i16", "u32", "i32", "u64", "i64", "varint", "float", "s ...