1. 程式人生 > 實用技巧 >嚴選-數倉規範和評價體系

嚴選-數倉規範和評價體系

資料倉庫,是我們資料工程師的無形產品,不同於視覺化、互動型產品的評價體系,資料倉庫的評價有其獨特性。本文從概念-平臺-規範的鏈路來介紹一下嚴選資料倉庫,並介紹了嚴選資料倉庫的評價體系。

資料為王的時代,資料量從最初的幾十G,慢慢沉澱到幾十T,甚至幾十PB的量。資料工程師,也從最初的ETL工程師慢慢成長為資料全棧工程師:採集、同步、模型、離線、實時、規範、平臺、工具、產品、互動、保障、資料體系等等。

資料倉庫,是我們資料工程師的無形產品,不同於視覺化、互動型產品的評價體系:擁有比較明確的評價指標MAU、DAU、GMV等。資料倉庫一直沒有比較系統的評價體系,下面從概念-平臺-規範的鏈路來介紹一下嚴選資料倉庫,最後跟大家交流一下資料倉庫的評價體系。

資料倉庫基本架構

這裡概覽講一下嚴選資料倉庫的分層邏輯,下面是嚴選數倉的框架圖:

資料倉庫分層沒有絕對的規範,適合的就是最好的,特別是企業已經有一個初版的數倉的時候,需要做好改造成本和可理解性之間的平衡。

以業務資料的流向劃分,目前嚴選資料把模型分為三層,ods,dw和dm層。其中ods是操作資料層,保留最原始的資料;dw包含dwd和dws層,這兩層共同組成中間層;dm是應用層,基於dw層做彙總加工,滿足各產品、分析師和業務方的需求。

  • ODS層(操作資料層):不對外開放,把業務系統資料同步到數倉。資料格式保留業務系統的資料格式;目前主要通過datahub解析binlog來實現的,目前嚴選的ods層資料同步主要以全量資料為主。

  • DWD層(明細層):對外開放,主要作用是沉澱一些公共的邏輯,常用維度屬性的關聯等,下游經常在一起使用的模型會在這一層做寬表處理,減少事實表和維表的關聯,減少重複的關聯加工。

  • DWS層(彙總層):對外開放,主要沉澱嚴選資料的公共指標,dws層是整個嚴選資料對外開放和使用的核心,是嚴選最核心的資料資產。

  • DIM層(維表):對外開放,主要是一些常用維表,比如商品維表、sku維表、渠道維表。

  • DM層(應用層):對產品開放使用,支援資料產品、報表的使用,主要是不公用複雜指標的彙總和計算。

資料倉庫開發平臺

嚴選資料倉庫分離線實時兩部分。

離線部分由猛獁提供支援。猛獁是網易杭州研究院研發的一站式資料管理和應用開發平臺,覆蓋了大規模資料儲存和計算、資料整合、應用開發及資料管理等企業大資料應用場景。

實時部分由Atom平臺提供支援,Atom是嚴選產技自研的一款實時資料管理和開發平臺。

嚴選資料倉庫規範

在其他工種開發的眼裡,資料倉庫的入門門檻非常低,低到技術鄙視鏈的最末端:“噢……,他們就是寫SQL的,他們整個團隊都是寫SQL的……”,頓時天空飄過一萬匹神獸。曾經和未來都有很多人會來挑戰數倉工程師存在的意義:“我也能幹!”,但是實際情況是:naive!具體可參見嚴選資料倉庫的架構圖,這其中的每一個icon背後都有一套工具、平臺,甚至於一個團隊來支撐運轉。

嚴選資料倉庫是一套方法論,從規範定義、模型設計到資料服務,再到資料可管理、可追溯、可複用。嚴選資料倉庫遵循維度建模理論,參考了阿里巴巴的Onedata建模理論,核心框架由三個規範組成:《嚴選-指標定義規範》 ,《嚴選-模型設計規範》和《嚴選-資料開發規範》,外層由輔助規範落地的若干工具、平臺組成:倉頡-指標管理系統、燧人-指標地圖系統、UDS-資料質量中心、EasyDesign-模型設計中心等。


1、指標定義規範

指標定義規範,目的是統一開發&產品對指標的定義。通過對原子指標的命名規則、派生指標的命名規則和派生詞的定義來完成。

指標定義體系,是資料建設體系的基礎和核心,為了杜絕產品經理命名引起的歧義,以及後續帶來的使用和維護以及解釋成本。


2、模型設計規範

模型設計規範,目的是統一資料開發對模型的命名定義。通過域+更新方式,域+維度+更新週期的方式來完成。

3、資料開發規範

資料開發規範,目的是提高資料開發的SQL開發能力。通過限制各級子查詢的縮排形式,子查詢的規範等來完成。

資料倉庫評價體系

近期的一些思考跟大家做一個交流,一家之言,歡迎拍磚。

基本要求

資料安全和資料質量是資料倉庫的生命線!不可逾越、不可觸犯。

評價體系

下圖是近期整理的嚴選資料倉庫的6個評價角度

1.資料規範

資料規範,最終目的是提高開發的整體水平。遵循嚴選資料規範:《嚴選-指標定義規範》、《嚴選-模型設計規範》和《嚴選-資料開發規範》,同時由工具和平臺來保障規範的落地並監督評估規範落地的效果。

2.資料安全

資料安全,這個命題怎麼強調都不為過,特別是近期資料安全問題頻發,51信用卡,大大小小的放貸公司。因此作為資料從業者,遵循《網易商業行為準則》,不對外洩露業務資料,時刻做到資料指間過,安全心中留。

3.資料質量

資料質量由資料本身的質量資料建設質量兩部分組成:

  • 資料本身質量:資料開發對資料質量負責,保持對資料的敬畏心,結合《嚴選-線上故障定義規範》,通過故障等級和次數指標來量化考核。

  • 資料建設質量:可以從兩方面來考量:易用性和豐富性;易用性是結合資料規範來考量的:所有的資料都遵循嚴選資料規範,目的是降低資料的使用成本;豐富性是考量核心資料資產的廣度:dw對外服務的應用數量,dw層管理的資料量,dw層本身跨層依賴的數量等。

4.資料穩定性

  • 資料穩定性:建立完善資料倉庫的值班制度,同時打通值班和故障平臺,定期review資料本身問題導致的起夜的數量和影響面,量化考核具體開發。

  • 平臺穩定性:建立完善的資料倉庫和平臺值班制度,打通值班日誌和故障系統,定期review平臺問題導致的起夜數量和影響面,量化考核平臺。

5.持續建設機制

  • 沉澱機制:嚴選資料倉庫已經建立了和分析師定期交流的機制,定期交流沉澱分析師的核心指標,不斷豐富嚴選資料核心資產。

  • 資料治理:有上有下,通過和猛獁合作打通逆向資料流,通過下線冷資料冷任務,推動開發治理不規範模型和資料,來達到規範模型和節約儲存的目的。

6.資料開發效率

較前5個角度對比,資料開發效率較難量化,可以從兩個方面來考量:開發規範的自動化程度和平臺使用體驗。

嚴選數倉評價實踐

依照前文提到的6個角度,嚴選分別有與之對應的工具來支援。

1.資料規範

所有的資料規範,最終目的都是用來提高開發者的水平、提高程式碼的質量。在開發水平參差不齊的情況下,需要有平臺工具保障規範的落地。在過去的一年中,我們和網易杭州研究院一起規劃落地了Easydesign平臺:輔助《嚴選-指標定義規範》和《嚴選-模型定義規範》的落地。

下圖是依託Easydesign實現的模型設計線上化產品介面。

衡量數倉建設水平可以通過以下3個指標:總ods表被跨層依賴率被跨層依賴的ods表數量有下游ods表被跨層依賴率三個指標來完成。

2.資料安全

每年有很多因資料導致的資損問題產生,我們從資料的上線流程、測試工具、測試環境等三個方面入手,讓過程合規,結果合法。

3.資料穩定性

嚴選和杭研共建的任務運維中心EasyTaskOps,實現智慧基線預警,多基線精細化運維;目前我們4條基線完成率超過90%。

2020年上半年,嚴選和杭研共建了資料運維中心,上線了以下內容:

  • 基線管理:通過任務歷史執行情況,自動判斷基線內任務逾期可能性,進行破線預警。

  • 失敗和逾期報警:對於失敗和逾期的任務,可以配置電話、簡訊or郵件報警。

  • 評價指標:基線完成率、出錯任務數、處理及時率等來評價任務的穩定性。

4.持續建設機制

迭代更新、持續建設,這是衡量一個數據倉庫活力的一個重要機制,我們通過指標一致性專案,梳理了數倉持續建設機制,資料緊跟業務成長,資料倉庫才會保持活力。

通過和杭研一起推動Easycost升級,通過梳理儲存相關規則、規範相關規則、計算相關規則、質量相關規則,上半年一共下線3.4w張表,節約了1.2PB的儲存。

5.資料開發質量

通過Easydesign平臺承接規範的落地,整個上半年資料開發通過平臺新建200+dw層表,強有力的保障了規範的落地;我們的最終目標是通過各種方法策略來提高資料開發的素質,使用工具目的是幫助大家養成遵循規範的習慣。

6.資料開發效率

持續建設機制、資料規範的落地,最直接的反應就是資料開發效率的提升。嚴選全渠道資料基建專案中,交易域+商品域的離線+實時資料校驗一次性通過,大大降低了資料開發的迭代修復成本。

總結

嚴選資料倉庫以上6個方面沉澱了豐富的經驗,從產品到實踐。我們資料團隊在2019年Q3完成了嚴選資料規範和SOP流程的制定,2020的Q1-Q2在積極推進相關產品迭代落地。我們相信在Q3-Q4會呈現一個數據更豐富,使用更便捷,保障更有力,響應更及時的資料倉庫!

作者簡介

乙峰:多年資料領域工作經驗,專注資料架構、模型設計和規範執行落地等。嚴選數倉交易域負責人,負責交易域模型設計落地和對外服務。

歷史好文推薦

  1. 從0到1搭建大資料平臺之計算儲存系統

  2. 從0到1搭建大資料平臺之排程系統

  3. 從0到1搭建大資料平臺之資料採集系統

  4. 如何從0到1搭建大資料平臺