數據質量管理的一些思考

背景

在近期的項目當中,我們為客戶落地實施了數據資產平臺。隨後,在數據平臺中接入了客戶子公司的一個業務系統的明細數據。客戶希望在我們的數據平臺上通過數據探索和數據分析,來挖掘一些業務價值和業務創新點。

當我們拿到數據開始進行一些初步探索的時候,發現導入平臺的數據質量存在一定的問題:例如一些用於數據分析的關鍵字段的值為空、一些本應該有主從關係的數據對應不上、數據分類混亂等。這些問題直接影響到了對業務數據的分析和價值挖掘。因此,我們決定先對這份業務數據進行一次質量評估。如果評估的結果太差,不能做太多有價值的數據分析,那麼我們的工作方向可能就需要轉變為幫助客戶制定整改數據質量的計劃和方案。

數據質量管理的一些思考

數據質量問題

什麼是質量

關於質量是有個一個標準定義的:一組固有特性滿足明示的、通常隱含的或必須履行的需求或期望(要求)的​程度。這裡麵包含了兩層意思,一個是說質量其實是一組特性,另一個是說質量需要滿足需求或期望。所以如果從數據分析的角度來說數據質量,就是看當前數據的特性能否滿足我們做數據分析或挖掘這個需求。

質量問題的來源

數據問題的來源可能產生於從數據源頭到數據存儲介質的各個環節。在數據採集階段,數據的真實性、準確性、完整性、時效性都會影響數據質量。除此之外,數據的加工、存儲過程都有可能涉及對原始數據的修改,從而引發數據的質量問題。所以,技術、流程、管理等多方面的因素都有可能會影響到數據質量。

在企業中,隨著企業業務的增長,數據也是一個增量積累的過程。隨著數據類型、數據來源的不斷豐富以及數據數量的快速增長,企業在數據管理工作和數據流程中面臨越來越多的數據質量問題。而且數據質量的管理並沒有被企業重視起來,其根本原因還是ROI並沒有那麼明顯。

數據質量管理相對來說成本比較高。因為它涉及到企業數據標準的制定、規範的落地、生命週期的管理等多個環節。從收益上來說,數據質量的效益和結果並不是十分明顯,大部分企業不會把數據質量作為KPI。在企業的不同系統中,業務領域的關鍵指標不一致,數據無法共享導致出現數據孤島,大量數據無法關聯,並且有明顯的數據冗餘等問題,還有數據的維護需要投入大量的人員、時間、軟硬件成本。所以數據的質量管理往往被會邊緣化甚至趨向於無。

數據質量管理的一些思考

數據質量評估

那麼我們如何對一份數據進行質量評估呢?這是一個比較難以回答的問題。因為數據質量本身有這麼幾個問題。首先是數據質量定義不一致,人們對數據質量的理解並沒有一個參考標準或者標準的定義,所以人們理解的數據質量就會呈現出多樣性,而無論是數據評估體系還是數據質量控制體系,都離不開關於數據質量的清晰定義。其次,沒有權威性的數據質量標準模型或參考模型。再者,沒有系統化的數據質量評估指標,也沒有對數據質量評估的指標形成一個量化的標準。所以現在多數對於數據質量的研究都是針對特定領域或特定問題的研究,並不具有普適性,很難推廣成為標準化的體系或模型。

那我們能不能像CMMI(能力成熟度模型, Capability Maturity Model Integration)和 AMM(敏捷成熟度模型,Agile Maturity Model)一樣對數據質量建立一個模型,我們暫且稱之為DQAM(數據質量評估模型,Data Quality Assessment Model)。

首先思考一下,在進行數據質量評估時我們會選取多個指標,所以很自然會想到借用一下模糊綜合評價理論。蒐集了一下資料,這裡選取以下若干個指標來作為我們的數據質量評價指標(當然,可以根據實際需要選取其他指標,指標的數量也可多可少):

  • Completeness:完整性,用於度量哪些數據丟失了或者哪些數據不可用
  • Conformity:規範性,用於度量哪些數據未按統一格式存儲
  • Consistency:一致性,用於度量哪些數據的值在信息含義上是衝突的
  • Accuracy:準確性,用於度量哪些數據和信息是不正確的,或者數據是超期的
  • Uniqueness:唯一性,用於度量哪些數據是重複數據或者數據的哪些屬性是重複的
  • Integration:關聯性,用於度量哪些關聯的數據缺失或者未建立索引

那麼評估模型應該有這麼幾個要素:

  • Dataset:被評估的數據集
    ,對於關係型數據庫來說就是一張表
  • Indicators:評估指標,就是上面列出來的6個指標
  • Rule:評估規則,與上面的評估指標對應,後續會根據規則的描述來編寫腳本。
  • Weight:權重,此處的權重是每一條評估規則在全部規則的所佔比重
  • Expectation:期望,根據每個評估規則給出一個評估前的期望值(0-100)
  • Score:結果,每個評估規則應用到數據集後計算出來的結果值(0-100)
數據質量管理的一些思考

那麼構造整個模型的過程基本就可以確定下來,首先根據需要選取數據集當中要進行評估的數據視圖,再選取所需要的評估指標。下一步需要制定規則集,根據所選的評估指標來制定相應的數據質量評估規則,並確定它們相應的權值和期望值。最後一步就是根據規則集來計算結果得分。

對於數據集的N個規則計算出來的得分,最後計算其加權平均值,得到質量評估的絕對量化值。用該量化值和期望進行差值比較,可以得出該數據集是比預期的好,還是不如預期。

以上是一個簡單的評估模型,目前並沒有在實際的場景中應用,當然這個模型的精度並不會很高,也沒有處理誤差。僅僅提供一個思路,或許質量的評估可以朝著這個方向來進行。

數據質量管理

數據工作流質量管理

下面來談談數據質量管理。質量管理前面提到了,涉及到數據工作流的各個環節。數據的工作流可以分為以下幾部分:數據產生、加工處理、存儲、挖掘和應用。質量管理的前提是在每一個環節建立質量標準。數據的來源包括:業務系統產生的數據、外部系統的數據、手動錄入的數據等,從這些源頭採集數據,然後經過數據通道進行加工處理(ETL,Extract-Transform-Load),數據進入到數據倉庫或數據集市當中。然後業務人員、數據科學家、數據工程師等,會在數據平臺對數據進行探索和挖掘,這個過程可能發生在數據倉庫,也可能是在數據沙箱中進行,最後對數據探索分析挖掘的產出結果,會以數據應用的方式發佈出來,具體的形式包括:數據報表、數據門戶、OLAP、數據產品、數據服務、智能模型等等。

數據質量監督

除了制定質量標準外,還需要對系統中的數據本身和數據工作流進行監督管理。

對數據系統進行實時監控,監測數據工作環境的服務器軟硬件運行狀態、性能、磁盤空間、數據庫事務、鎖、緩衝、會話量、備份等等一系列指標,實施預警機制,並監測一些異常情況的發生。

對數據進行定期校驗,除了對數據系統進行實施監控外,還需要對數據進行校驗:日常校驗、數據抽檢、全面校驗等。

審核制度也是保證質量的一個重要措施,特別是對於敏感數據和敏感操作。建立數據變更時候的分級審核制度,尤其是一些影響較大或者權限較高的操作。建立審批制度,對於數據的讀取,如果涉及到敏感數據,必要時,也需要數據審批或者是數據脫敏。

數據生命週期管理

數據的生命週期從數據規劃開始,中間是一個包括產生、處理、部署、應用、監控、存檔、銷燬這幾個步驟並不斷循環的過程。隨著業務的發展,系統的業務數據類型和業務規範不斷變化,一個完備的數據生命週期管理方案還應當包括對系統的優化調整,根據業務系統實際運行情況、新的業務類型和規範、技術改進等調整原有的數據存儲遷移策略和訪問方式,以滿足業務系統發展及新的業務規範需求。數據生命週期管理的目的是對不同階段的數據採取不同的管理策略用來降低數據管理運營成本,並提高數據質量度,實現數據價值最大化的終極目的。

總結

數據質量在任何系統當中都是十分重要卻容易被忽視的一部分。構建完整的數據質量管理體系,既是支持企業系統穩定運行的基本保障,同時也是企業進行數字化轉型、創新的必備條件。


文/ThoughtWorks孫銘

原文:https://insights.thoughtworks.cn/data-quality-management/


分享到:


相關文章: