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