1. 程式人生 > 其它 >有贊資料質量保障體系

有贊資料質量保障體系

一、有贊資料鏈路

1、資料鏈路介紹

首先介紹有讚的資料總體架構圖:

自頂向下可以大致劃分為應用服務層、資料閘道器層、應用儲存層、資料倉庫,並且作業開發、元資料管理等平臺為資料計算、任務排程以及資料查詢提供了基礎能力。

以上對整體架構做了初步的介紹,對於質量把控來說,最核心的兩個部分是:資料倉庫以及資料應用部分。因為這兩部分屬於資料鏈路中的核心環節,相對於其他層級而言,日常改動也更為頻繁,出現問題的風險也比較大。

二、資料層測試

1、整體概覽

首先,針對資料層的質量保障,可以分成三個方面:資料及時性、完整性、準確性。

2、 資料及時性

資料及時性,顧名思義就是測試資料需要按時產出。及時性重點關注的三個要素是:定時排程時間、優先順序以及資料deadline。其中任務的優先順序決定了它獲取資料計算資源的多少,影響了任務執行時長。資料deadline則是資料最晚產出時間的統一標準,需要嚴格遵守。

這三要素中,屬於“普世規則”且在質量保障階段需要重點關注的是:資料deadline。那麼我們基於資料deadline,針對及時性的保障策略就可分為兩種:

  • 監控離線資料任務是否執行結束。這種方式依賴於有贊作業開發平臺的監控告警,若資料任務在deadline時間點未執行完成,則會有郵件、企微、電話等告警形式,通知到相應人員。

  • 檢查全表條數或者檢查分割槽條數。這種方式依賴介面自動化平臺,通過呼叫dubbo介面,判斷介面返回的資料指標是否為0,監控資料是否產出。

其次我們可以關注失敗、重試次數,當任務執行過程中出現多次失敗、重試的異常情況,可以丟擲告警讓相關人員感知。這部分的告警是對deadline告警的補充,目前在有贊作業開發平臺上也有功能整合。

3、資料完整性

資料完整性,顧名思義看資料是不是全,重點評估兩點:資料不多、資料不少。

  • 資料不多:一般是檢查全表資料、重要列舉值,看資料有沒有多餘、重複或者資料主鍵是否唯一。

  • 資料不少:一般是檢查全表資料、重要欄位(比如主鍵欄位、列舉值、日期等),看欄位的數值是否為空、為null等。

可見資料完整性和業務本身關聯度沒有那麼密切,更多的是數倉表的通用內容校驗。所以從一些基礎維度,我們可以將測試重點拆成表級別、欄位級別兩個方向。

表級別完整性:

  • 全表維度,通過檢視全表的總行數/表大小,若出現表總行數/總大小不變或下降,說明表資料可能出現了問題。

  • 分割槽維度,通過檢視當日分割槽表的資料行數/大小,若和之前分割槽相比差異太大(偏大或偏小),說明表資料可能出現了問題。

目前有贊元資料管理平臺已整合相關資料檢視: