数仓dw怎么建_网易严选如何打造数仓规范和评价体系
數據為王的時代,數據量從最初的幾十 G,慢慢沉淀到幾十 T,甚至幾十 PB 的量。數據工程師,也從最初的 ETL 工程師慢慢成長為數據全棧工程師:采集、同步、模型、離線、實時、規范、平臺、工具、產品、交互、保障、數據體系等等。
數據倉庫,是我們數據工程師的無形產品,不同于可視化、交互型產品的評價體系:擁有比較明確的評價指標 MAU、DAU、GMV 等。數據倉庫一直沒有比較系統的評價體系,下面從概念 - 平臺 - 規范的鏈路來介紹一下嚴選數據倉庫,最后跟大家交流一下數據倉庫的評價體系。
1數據倉庫基本架構
這里概覽講一下嚴選數據倉庫的分層邏輯,下面是嚴選數倉的框架圖:
數據倉庫分層沒有絕對的規范,適合的就是最好的,特別是企業已經有一個初版的數倉的時候,需要做好改造成本和可理解性之間的平衡。
以業務數據的流向劃分,目前嚴選數據把模型分為三層,ods,dw 和 dm 層。其中 ods 是操作數據層,保留最原始的數據;dw 包含 dwd 和 dws 層,這兩層共同組成中間層;dm 是應用層,基于 dw 層做匯總加工,滿足各產品、分析師和業務方的需求。
ODS 層(操作數據層):不對外開放,把業務系統數據同步到數倉。數據格式保留業務系統的數據格式;目前主要通過 datahub 解析 binlog 來實現的,目前嚴選的 ods 層數據同步主要以全量數據為主。
DWD 層(明細層):對外開放,主要作用是沉淀一些公共的邏輯,常用維度屬性的關聯等,下游經常在一起使用的模型會在這一層做寬表處理,減少事實表和維表的關聯,減少重復的關聯加工。
DWS 層(匯總層):對外開放,主要沉淀嚴選數據的公共指標,dws 層是整個嚴選數據對外開放和使用的核心,是嚴選最核心的數據資產。
DIM 層(維表):對外開放,主要是一些常用維表,比如商品維表、sku 維表、渠道維表。
DM 層(應用層):對產品開放使用,支持數據產品、報表的使用,主要是不公用復雜指標的匯總和計算。
2數據倉庫開發平臺
嚴選數據倉庫分離線和實時兩部分。
離線部分由網易易數提供支持。網易易數(EasyData)是網易數帆旗下的全鏈路數據生產力平臺,提供全鏈路數據產品和服務,覆蓋數據分析及可視化、數據研發、數據治理、數據服務化等,其前身為網易猛犸——現已按模塊拆分,命名為 Easy 系列產品,如離線開發 EasyDev。
實時部分由 Atom 平臺提供支持,Atom 是嚴選產技自研的一款實時數據管理和開發平臺。
3嚴選數據倉庫規范
在其他工種開發的眼里,數據倉庫的入門門檻非常低,低到技術鄙視鏈的最末端:“噢……,他們就是寫 SQL 的,他們整個團隊都是寫 SQL 的……”,頓時天空飄過一萬匹神獸。曾經和未來都有很多人會來挑戰數倉工程師存在的意義:“我也能干!”,但是實際情況是:naive!具體可參見嚴選數據倉庫的架構圖,這其中的每一個 icon 背后都有一套工具、平臺,甚至于一個團隊來支撐運轉。
嚴選數據倉庫是一套方法論,從規范定義、模型設計到數據服務,再到數據可管理、可追溯、可復用。嚴選數據倉庫遵循維度建模理論,參考了阿里巴巴的 Onedata 建模理論,核心框架由三個規范組成:《嚴選 - 指標定義規范》 ,《嚴選 - 模型設計規范》和《嚴選 - 數據開發規范》,外層由輔助規范落地的若干工具、平臺組成:倉頡 - 指標管理系統、燧人 - 指標地圖系統、UDS- 數據質量中心、EasyDesign- 模型設計中心等。
1、指標定義規范
指標定義規范,目的是統一開發 & 產品對指標的定義。通過對原子指標的命名規則、派生指標的命名規則和派生詞的定義來完成。
指標定義體系,是數據建設體系的基礎和內核,為了杜絕產品經理命名引起的歧義,以及后續帶來的使用和維護以及解釋成本。
2、模型設計規范
模型設計規范,目的是統一數據開發對模型的命名定義。通過域 + 更新方式,域 + 維度 + 更新周期的方式來完成。
3、數據開發規范
數據開發規范,目的是提高數據開發的 SQL 開發能力。通過限制各級子查詢的縮進形式,子查詢的規范等來完成。
4數據倉庫評價體系
近期的一些思考跟大家做一個交流,一家之言,歡迎拍磚。
基本要求
數據安全和數據質量是數據倉庫的生命線!不可逾越、不可觸犯。
評價體系
下圖是近期整理的嚴選數據倉庫的 6 個評價角度
1. 數據規范
數據規范,最終目的是提高開發的整體水平。遵循嚴選數據規范:《嚴選 - 指標定義規范》、《嚴選 - 模型設計規范》和《嚴選 - 數據開發規范》,同時由工具和平臺來保障規范的落地并監督評估規范落地的效果。
2. 數據安全
數據安全,這個命題怎么強調都不為過,特別是近期數據安全問題頻發,51 信用卡,大大小小的放貸公司。因此作為數據從業者,遵循《網易商業行為準則》,不對外泄露業務數據,時刻做到數據指間過,安全心中留。
3. 數據質量
數據質量由數據本身的質量和數據建設質量兩部分組成:
數據本身質量:數據開發對數據質量負責,保持對數據的敬畏心,結合《嚴選 - 線上故障定義規范》,通過故障等級和次數指標來量化考核。
數據建設質量:可以從兩方面來考量:易用性和豐富性;易用性是結合數據規范來考量的:所有的數據都遵循嚴選數據規范,目的是降低數據的使用成本;豐富性是考量核心數據資產的廣度:dw 對外服務的應用數量,dw 層管理的數據量,dw 層本身跨層依賴的數量等。
4. 數據穩定性
數據穩定性:建立完善數據倉庫的值班制度,同時打通值班和故障平臺,定期 review 數據本身問題導致的起夜的數量和影響面,量化考核具體開發。
平臺穩定性:建立完善的數據倉庫和平臺值班制度,打通值班日志和故障系統,定期 review 平臺問題導致的起夜數量和影響面,量化考核平臺。
5. 持續建設機制
沉淀機制:嚴選數據倉庫已經建立了和分析師定期交流的機制,定期交流沉淀分析師的核心指標,不斷豐富嚴選數據核心資產。
數據治理:有上有下,通過和網易易數合作打通逆向數據流,通過下線冷數據冷任務,推動開發治理不規范模型和數據,來達到規范模型和節約存儲的目的。
6. 數據開發效率
較前 5 個角度對比,數據開發效率較難量化,可以從兩個方面來考量:開發規范的自動化程度和平臺使用體驗。
5嚴選數倉評價實踐
依照前文提到的 6 個角度,嚴選分別有與之對應的工具來支持。
1. 數據規范
所有的數據規范,最終目的都是用來提高開發者的水平、提高代碼的質量。在開發水平參差不齊的情況下,需要有平臺工具保障規范的落地。在過去的一年中,我們和網易杭州研究院一起規劃落地了網易易數 EasyDesign 模型設計平臺:輔助《嚴選 - 指標定義規范》和《嚴選 - 模型定義規范》的落地。
衡量數倉建設水平可以通過以下 3 個指標:總 ods 表被跨層依賴率,被跨層依賴的 ods 表數量,有下游 ods 表被跨層依賴率三個指標來完成。
2. 數據安全
每年有很多因數據導致的資損問題產生,我們從數據的上線流程、測試工具、測試環境等三個方面入手,讓過程合規,結果合法。
3. 數據穩定性
嚴選和網易易數共建的任務運維中心 EasyTaskOps,實現智能基線預警,多基線精細化運維;目前我們 4 條基線完成率超過 90%。
2020 年上半年,嚴選和網易易數共建了數據運維中心,上線了以下內容:
基線管理:通過任務歷史執行情況,自動判斷基線內任務逾期可能性,進行破線預警。
失敗和逾期報警:對于失敗和逾期的任務,可以配置電話、短信 or 郵件報警。
評價指標:基線完成率、出錯任務數、處理及時率等來評價任務的穩定性。
4. 持續建設機制
迭代更新、持續建設,這是衡量一個數據倉庫活力的一個重要機制,我們通過指標一致性項目,梳理了數倉持續建設機制,數據緊跟業務成長,數據倉庫才會保持活力。
通過和網易易數一起推動 EasyCost 升級,通過梳理存儲相關規則、規范相關規則、計算相關規則、質量相關規則,上半年一共下線 3.4w 張表,節約了 1.2PB 的存儲。
5. 數據開發質量
通過網易易數 EasyDesign 平臺承接規范的落地,整個上半年數據開發通過平臺新建 200+dw 層表,強有力的保障了規范的落地;我們的最終目標是通過各種方法策略來提高數據開發的素質,使用工具目的是幫助大家養成遵循規范的習慣。
6. 數據開發效率
持續建設機制、數據規范的落地,最直接的反應就是數據開發效率的提升。嚴選全渠道數據基建項目中,交易域 +
CIO之家-企業信息化知識平臺 作者:乙峰 來源:嚴選技術
總結
以上是生活随笔為你收集整理的数仓dw怎么建_网易严选如何打造数仓规范和评价体系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3 如何读中文路径_Pyth
- 下一篇: js文件引用 webpack_想了解We