Categories
程式開發

網易嚴選質量數倉建設(二)—— 質量數倉項目建設及管理


在《嚴選質量數倉建設(一)——數據倉庫基本概念》中介紹了一些數據倉庫的基本概念,本文將繼續介紹質量數倉建設過程和使用到的產品。

1. 項目規劃&需求定義

網易嚴選質量數倉建設(二)—— 質量數倉項目建設及管理 1

DW/BI自主開發的整個過程如上圖所示,數倉的建設過程從項目規劃開始,在項目規劃過程中主要任務在於項目目標和範圍的界定。

隨著嚴選整體業務的發展,常規手段的質量保障工作在覆蓋業務需求上越來越吃力,為了衡量業務過程中質量保障工作的效果,提升研發、質量保障、項目管理等項目各階段的效能,決定由嚴選已有的質量數倉系統承載,建設一個由指標、模型驅動的質量可視化體系。而一切與質量相關的數據域都會納入質量數倉建設範圍內,如版本發布數據、需求任務數據、用例數據、Bug數據、git提交數據等。

2. 技術架構設計&產品選擇

網易嚴選質量數倉建設(二)—— 質量數倉項目建設及管理 2

質量數倉前期的需求主要在於離線數據指標的產出,故而在先期建設上,主要關注離線數倉建設的結構設計及工具選擇。如上所示,嚴選質量數倉,基於嚴選已有的離線數倉架構體系,在其中剝離出質量數倉項目,與嚴選業務數據倉庫共同建設。

數據中心

質量數倉使用DataHub從各業務數據源中採集數據,並將數據同步到指定庫中。 DataHub主要是負責收集MySQL、MongoDB、Kafka、Hbase等數據,並將這些實時生成的數據轉成統一的數據格式,提供給嚴選大數據計算平台(猛獁)和流計算平台。同時DataHub也負責了嚴選各個異構數據存儲系統之間的數據同步工作,包括:MySQL, HIVE, ES, HBase, Redis, MongoDB,Excel,外部http接口產生的數據之間的雙向或單向同步。

猛mm

猛獁平台是為數據開發人員及數據平台管理人員服務的,集成了傳輸、計算/ETL、調度等數據開發功能的數據開發平台。支持Hive、Spark、Mapreduce等多種計算引擎。也是質量數倉開發同學的主要“作戰工具”之一,通過在猛獁上創建各種數據開發任務,維度調度信息,從而按照指定的周期、時間產出所需的數據表。

優數據

嚴選有數是基於網易有數,為嚴選定制開發的可視化敏捷BI產品。主要用來製作可交互的可視化數據報表,支持各種多種圖表形式。質量數倉的開發同學需要使用有數來製作數據報表,將由猛獁產出的數據指標通過合適的圖表展示出來。而報告查看者可以通過各種類型的篩選查看自己最關心的數據。

倉頡

倉頡,是嚴選數倉的指標管理系統,通過該系統管理原子指標、派生指標、維度、派生詞、修飾詞等。通過系統明確指標的定義、計算口徑,一方面能夠讓開發人員了解指標含義,減少重複開發或錯誤使用;另一方面能夠讓報告閱覽者了解指標的計算方式,避免因個人理解差異,導致對指標的理解出現偏差,而做出錯誤的決策。

統一查詢

統一查詢將數據倉庫中產出的數據表依據需求同步到各中類型的數據庫中,各數據產品應用通過統一查詢來查詢所需的數據指標,而無需關心數據庫類型,因此減少了數據源配置,提高了數據查詢速度,並且減少了重複工作。質量數倉體系,目前沒有屬於自己的數據可視化產品,但在規劃中的質量數據平台,必然也要通過統一查詢來獲取數據。

作者簡介

婧雯,網易嚴選資深測試工程師,2014年畢業於北京理工大學,2017年加入網易。參與數據產品技術部多個重點產品質量保障工作,建設並完善數據產品部質量保障體系,致力於質量保障工作效能得提升。