iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0

Data Validation 是屬於研發階段的驗證程序。Data Verification 是屬於製造階段的驗證程序,本文先討論 Data Verification 資料驗證。

資料驗證與資料品質的關係是什麼?

資料驗證是掌握資料品質的手段。
「品質」是描述事務現況的名詞,而要把「品質」量化成數字,必定要經過三道程序才能產生:

  1. 建立某種評價標準,期望透過識別好壞或通過率來量化標的具備的特性。
  2. 建立某種檢驗行為,以抽樣或掃描等統計方式計算數量。
  3. 以 1. 建立的標準,評價 2. 的統計結果,量化標的某些特性。

資料驗證框架

資料驗證要先掌握「分項的資料品質」,才能進行「資料特定方面的優化作業」,而前兩者都必須要透過「多維度的資料驗證」來達成。

因此,擁有一個完整的資料驗證框架,分項地拆解出不同層面的「資料品質」現況,企業才能有計劃性地修正資料品質。綜合 DAMA 與其他研究機構的架構,具有實作可行性的資料驗證框架如下:

https://ithelp.ithome.com.tw/upload/images/20230926/20161790MSDyxPBi9P.png
圖片來源:炬識科技繪製

根據驗證維度的泛用性進行排序。金字塔圖由下而上,越下面的業務單位參與越少,越上面的需要具備深厚商業領域知識者的參與,分層說明如下:

Syntactic Accuracy 資料格式準確性
某欄的值要完全符合或盡量靠近系統格式或結構上的要求,或者欄位內值須符合特定語義上的規則。例如:欄位須為 vchar 型別,長度最大為 8。

Completeness 資料完整性
資料內容無所缺漏,或兩份資料的內容必須相同。例如:checksum(MD5)、資料筆數、均值、最大最小值、Null、空白值位置是否相同。

Uniqueness 資料唯一性
在資料不該重複的前提下,資料的唯一程度。例如:對兩筆完全相同的資料執行去重複作業。

Timeliness 資料及時性
資料的更新間隔,符合資料使用上的時限要求。例如:確保資料必須要在來源系統更新的兩天內,完成後續系統的資料處理、傳輸與更新作業。

Consistence 資料關聯一致性
兩個不同欄位的值,必須具備特定邏輯上的關聯。例如:表 A 欄國家欄位為台灣,B 欄縣市欄位應為台北、高雄...等。

Semantic Accuracy 資料內容準確性
某欄位的值要完全吻合或盡量靠近「正確答案」,或者欄位內值須處於某一值域。例如:生理女性的中華民國身分證字號第二碼應為 2。各位覺得這個很簡單嗎?如果我們把「非二元性別」考慮進去呢?這是屬於國家政策層級,我們需要考慮的領域不只是 IT, 還包含業務與法規。

Validity 企業合規性
欄位的值必須合於企業要求。因為產業競爭會導致企業尋求差異性,以建立核心競爭力,這些業務上的差異會顯現在資料面(企業活動的軌跡),即使屬於完全競爭的相同產業,也會需要某種程度的客製化。

資料驗證作業流程規範應備內容

  1. 施行資料驗證的操作方法
  2. 執行資料驗證的條件
  3. 監控並呈現資料品質的方法
  4. 匯出相關記錄的方法

未通過資料驗證的後續處理方法

https://ithelp.ithome.com.tw/upload/images/20230926/201617909rgsoS3Sid.png

如何減少修復成本?

統一的資料品質監控會是目前較簡單的解決方法。

[註記]本文基於我同事 Jim Lin 在內部專案的研究成果。


上一篇
Data Lifecycle Management (資料生命週期管理,DAMA DMBOK 2 Evolved Wheel)
下一篇
Data Validation(資料確效與資料產品)
系列文
吵什麼 AI 煉金術?!你家有礦嗎?(資料領域必知的 30 個詞彙)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言