一篇文章說清楚如何提升大數據質量

infoq 發佈 2020-04-14T07:38:21+00:00

根據華為公司在2019 年對其自身客戶關於數字化轉型的一項調查,只有 5% 的企業處於觀望,31% 的企業在規劃準備,36% 的企業已經開始先期試點,26% 的企業已經大規模推行,數據字化轉型已經進入深水期。

正如大家所知,大數據建設的目標是為了融合組織數據,增加組織的洞察力和競爭力,實現業務創新和產業升級。而提高數據質量是為了鞏固大數據建設成果,解決大數據建設成果不能滿足業務要求的問題。並且,數據質量問題不僅僅是一個技術問題,它也可能出現在業務和管理的過程中。所以,要想提高數據質量,就必須懂行業、懂組織、懂業務。當然,正如「數據博士」Jim barker 所說,我們可以簡單地通過引入一些工具和規則就可以解決 80% 的問題,也可以引入一個複雜的系統工程來解決 100% 的質量問題,取決於我們希望達到什麼樣的質量標準。

藉此機會,我也很期待各位朋友能夠與我們分享你遇到的數據質量問題、故事和解決方法,這將對我們的研究和研發工作帶來莫大的幫助。

為了儘量說清楚數據質量問題的來龍去脈和解決方法,篇幅較長,我將它分為以下幾個部分:

  1. 大數據行業背景和現狀
  2. 大數據行業發展過程中出現的問題
  3. 國家標準中的數據質量評價指標
  4. 數據質量出現的原因
  5. 解決數據質量問題的思路

大數據行業背景和現狀

2014 年大數據被寫入政府工作報告,成為大數據政策元年,大數據開始成為熱點;2015 年國務院印發《促進大數據發展的行動綱要》,國家層面開始「大數據」頂層設計;2016 年工信部發布《大數據產業發展規劃(2016 年 -2020 年)》,大數據上升為國家戰略;2019 年政府工作報告提出加強新一代信息基礎設施建設(新基建),我們也逐步從「數據大國」邁向「數據強國」。

根據華為公司在 2019 年對其自身客戶關於數字化轉型的一項調查,只有 5% 的企業處於觀望,31% 的企業在規劃準備,36% 的企業已經開始先期試點,26% 的企業已經大規模推行,數據字化轉型已經進入深水期。這意味著 95% 的企業已經開始數字化轉弄的工作。

大數據經過 6 年的快速發展期,已經比較明顯地分為兩個階段,第一階段是大數據歸集、治理和價值探索,第二階段是大數據價值體現。當下,部分政府和企業已經在第一階段中完成了數據的歸集和治理,大步邁入數據價值體現的第二階段,努力實現組織的業務創新和產業升級。

然而,大數據發展過程中仍然存在不少困難和問題,缺少整體規劃和實施路徑,缺少高層支持,部門壁壘難以打破,業務價值體現不足,技術能力不足,等等。就我個人來看,這裡最核心的一個問題就是業務價值體現不足,沒有業務價值的支撐,就不會有各部門領導的支持,更不會有高層的支持和資金的支持。所以,數字化轉型一定要以價值為導向,在一個「點」上做出實際效果以後再進行「面」上的拓展。

大數據發展過程中的質量問題

要體現數據價值,前提就是數據質量的保障,質量沒有得到 100% 保證的數據是很難體現出業務價值的,如果基於這些有問題的數據做決策支持,或做業務辦理,將會得到災難性的結果,讓領導層和數據使用方對大數據失去信心。

根據哈工大王志宏先生在科技導報發表的研究表明,如果沒有良好的數據質量,大數據將會對決策產生誤導,甚至產生有害的結果。

  • 在數倉建設上,50% 的數據倉庫因數據質量而被取消或延遲。
  • 在經濟損失上,數據錯誤每年對美國工業界造成的經濟損失約占 GDP 的 6%。
  • 在醫療事故上,根據美國醫療委員會的統計,由於數據錯誤引起的醫療事故僅在美國每年就導致高達 98000 名患者喪生。
  • 在電信產業上,數據錯誤經常導致故障排除的延誤、多餘設備租用和服務費收取錯誤,損害了企業信譽甚至會因此失去很多用戶。
  • 在商業上,美國零售業每年僅因標價錯誤就損失 25 億美元。
  • 在金融企業中:因數據質量問題導致的信用卡欺詐失察在 2008 年即造成 48 億美元的損失。

被譽為「數據博士」的 Jim barker,用一個簡單的醫學概念來定義兩種類型的數據質量問題。

  • 第一類數據質量問題是比較簡單而明顯的問題,我們可以使用自動化工具檢測到。
  • 第二類數據質量問題是非常隱秘的問題,大家都知道它是存在的,但它看不見摸不著,更處理不了,因為它需要放在特殊情境才能被檢測到。

它們之間的區別簡而言之可歸納為如下幾點:

第一類數據質量問題首先需要「know what」才能來檢測數據的完整性、一致性、唯一性和有效性。這些屬性靠數據質量軟體甚至手動很好地找到。你不需要有很多的背景知識,或者數據分析經驗。只要按照 4 個屬性驗證它的存在,就可以判定它錯誤的。例如,如果我們在性別領域插入一個 3,我們就可以判定它到底是不是一個有效值。

第二類數據質量問題需要「know why」來檢測時效性、一致性和準確性屬性。需要研究能力、洞察力和經驗,而不是簡簡單單就可以找得出來的。這些數據集經常從表面上看起來沒有問題。但是問題往往存在於細節中,需要時間去發現。Jim 舉的例子就是一份退休人員的僱傭記錄,如果我們不知道他們早已退休的話,是看不出來這個數據是錯的。

所以,解決這些數據質量問題的關鍵就是需要一個複雜的、策略化的方法,而非孤立的、片面的來看問題。一旦數據質量不好,我們就需要尋求自動化與人工的雙重方式才能解決這個問題了。

根據 Jim barker 的經驗:

第一類基本涵蓋了 80% 的數據質量問題,但只消耗了我們 20% 的經費成本。

第二類數據問題往往需要多方的輸入,以便發現、標記和根除。雖然我們客戶關係管理系統中的每個人都有購買日期,但購買日期可能不正確,或者與發票或發貨清單不符。只有專家才能通過仔細核查其內容來解決問題並手動改進客戶關係管理系統。

第一類數據質量的挑戰可以快速解決,但第二類問題提出了一個挑戰,必須依靠人類的專業知識才可以解決。後面會介紹龍石數據的做法,我們可以簡單地通過引入一些工具和規則就可以解決 80% 的問題,也可以引入一個複雜的系統工程來解決 100% 的質量問題,取決於我們希望達到什麼樣的質量標準。

國家標準中的數據質量評價指標

目前為止,最權威的標準是由全國信息技術標準化技術委員會提出的數據質量評價指標(GB/T36344-2018 ICS 35.24.01),它包含以下幾個方面:

規範性:指的是數據符合數據標準、數據模型、業務規則、元數據或權威參考數據的程度。例如 GB/T 2261.1-2003 中定義的性別代碼標準是 0 表示未知性別,1 表示男,2 表示女,9 表示未說明。GB 11643-1999 中定義的居民身份證編碼規則是 6 位數字地址碼,8 位數字出生日期碼,三位數字順序碼,一位數字校驗碼。

完整性:指的是按照數據規則要求,數據元素被賦予數值的程度。例如網際網路 + 監管主題庫中,監管對象為特種設備時,監管對象標識必須包含企業統一社會信用代碼 + 產品品牌 + 設備編碼,監管對象為藥品時,監管對象標識必須包含藥品名稱 + 批准文號 + 生產批號。

準確性:指的是數據準確表示其所描述的真實實體(實際對象)真實值的程度。例如網際網路 + 監管行政檢查行為中的行政相對人為公民時,證件類型和證件號碼只能是身份證號碼。

一致性:指的是數據與其它特定上下文中使用的數據無矛盾的程度。例如許可證信息與法人基礎信息是否一致,檢查計劃與檢查記錄是否匹配。

時效性:指的是數據在時間變化中的正確程度。例如企業住址搬遷後,企業法人庫中的住址是否及時更新了。營業執照已經辦理,許可照辦理時是否可以及時獲取到營業執照信息。

可訪問性:指的是數據能被訪問的程度。

除此之外,還有一些業內認可的補充指標,並且在質量工作的實際開展中,可以根據數據的實際情況和業務要求進行擴展,例如:

唯一性:描述數據是否存在重複記錄(國標歸在準確性中)。

穩定性:描述數據的波動是否是穩定的,是否在其有效範圍內。

可信性:描述數據來源的權威性、數據的真實性、數據產生的時間近、鮮活度高。

數據質量問題出現的原因

大數據的建設和管理是一個專業且複雜的工程,涵蓋了業務梳理、標準制定、元數據管理、數據模型管理、數據匯聚、清洗加工、中心存儲、資源目錄編制、共享交換、數據維護、數據失效等等過程。在任何一個環節中出錯,都將導致數據的錯誤。甚至,源頭數據本身就是錯誤的。所以,數據質量問題不僅僅是一個技術問題,它也可能出現在業務和管理的過程中。

數據質量的技術因素:

  • 數據標準制定的質量問題:數據輸入規範不統一,不同的業務部門、不同的時間、甚至在處理相同業務的時候,由於數據輸入規範不同,造成數據衝突或矛盾。如果在數據的生成過程中包含主觀判斷的結果,必然會導致數據中含有主觀的偏見因素。並且,不是所有行業都有公認可信的數據標準,而組織標準制定過程中容易出現數據元描述及理解錯誤,代碼碼集定義不正確、不完整等情況。
  • 數據模型設計的質量問題:由於對業務理解的不到位或技術實踐水平不到位,資料庫表結構、資料庫約束條件、數據校驗規則的設計不合理,造成數據存儲混亂、重複、不完整、不準確。
  • 數據源本身存在質量問題:在生產系統中有些數據就存在不規範、不完整、不準確、不一致等問題,而採集過程沒有對這些問題做清洗加工處理,或清洗加工的程序代碼不正確。
  • 數據梳理過程的質量問題:在數據採集之前,需要梳理組織機構、業務事項、信息系統、數據資源清單等信息,那麼對業務的理解不到位,將造成梳理報告的不完整或不正確。
  • 數據採集過程的質量問題:採集點、採集頻率、採集內容、映射關係等採集參數和流程設置的不正確,數據採集接口效率低,導致的數據採集失敗、數據丟失、數據映射和轉換失敗。
  • 數據清洗加工的質量問題:數據清洗規則、數據轉換規則、數據裝載規則配置有問題,甚至未按照數據標準開展相應的清洗加工工作,自由發揮的空間過大。並且在數據匯聚的過程中,沒有及時建立數據的相關性,導致後期很難補充完善。

數據質量的業務因素:

  • 業務理解不到位:數據的業務描述、業務規則、相關性分析不到位,導致技術無法構建出合理、正確的數據模型。
  • 業務流程的變更:業務流程一變,數據模型設計、數據錄入、數據採集、數據傳輸、數據清洗、數據存儲等環節都會受到影響,稍有不慎就會導致數據質量問題的發生。
  • 數據輸入不規範:常見的數據錄入問題,如:大小寫、全半角、特殊字符等一不小心就會錄錯,甚至還會將數據輸入到錯誤的欄位中,造成「張冠李戴」。人工錄入的數據質量與錄數據的業務人員密切相關,錄數據的人工作嚴謹、認真,數據質量就相對較好,反之就較差。
  • 業務系統煙囪林立:過去 20 年中,只要是稍大一點的企業和政府部門,都建設了一批信息化系統來解決業務問題,但也導致了如今信息化整合的痛點和困難,變先發優勢為數據困境。
  • 數據作假:操作人員為了提高或降低考核指標,對一些數據進行處理,使得數據真實性無法保證。

數據質量的管理因素:

  • 人才缺乏:組織以自身的業務發展的主要原則組建團隊,數據建設則依賴於外部服務公司,而自身沒有建立相應的管理手段和監督機制,從而無法準確判斷數據項目的建設成效。
  • 流程管理不完善:缺乏有效的數據質量保障機制和問題處理機制,數據質量問題從發現、指派、處理、優化沒有一個統一的流程和制度支撐,數據質量問題無法閉環。
  • 成員意識不開放:組織管理缺乏數據思維,沒有認識到數據質量的重要性,重系統而輕數據,認為系統是萬能的,數據質量差些也沒關係。組織成員沒有從組織戰略的視角來看待數據資產,而把數據看成是創造它的部門的資產,從而導致數據冗餘、數據不一致、數據割裂,從而導致數據價值難以發掘。
  • 獎懲機制不明確:沒有明確數據歸口管理部門或崗位,缺乏數據認責機制,出現數據質量問題找不到權威源頭或找不到負責人。缺乏數據規劃,沒有明確的數據質量目標,沒有制定數據質量相關的政策和制度。

如何解決質量問題

如前所述,大數據的建設和管理是一個專業且複雜的工程,涵蓋了業務梳理、標準制定、元數據管理、數據模型管理、數據匯聚、清洗加工、中心存儲、資源目錄編制、共享交換、數據維護、數據失效等等過程。中間任何一個環節出問題,都將導致數據質量問題。

大部分大型組織經過大數據建設,已經獲得比較好的數據建設成果,也有了比較可觀的數據量的積累,但將這些數據直接拿來支撐業務的辦理卻是一個很大的風險,原因就是只要一筆數據不正確,都可能帶來很大的業務風險,導致客戶的報怨,這也正是業務部門對大數據建設成果報有懷疑態度的重要原因。龍石數據根據多年數據治理和數據質量實踐經驗,根據大數據建設項目的執行過程,將它分為事前預防、事中監控、事後改善三個階段。

事前預防

  • 制定質量管理機制:基於數據管理的複雜性和誘因的多重性特點,解決數據質量問題僅僅依靠一個技術工具是不夠的,我們需要建立長效工作機制。即根據組織特點,制定符合自身環境的工作制度,制定每個環節的工作流程,規定各個參與方的責任,確定各項數據的權威部門,制定數據質量指標,制定數據質量修複流程等等。
  • 制定數據質量標準:數據標準成功定義的與否,直接決定了大數據建設的成果和數據質量的高低,需要在融合國家標準、行業標準和地方標準的基礎上,融合組織自身的業務特色需求。
  • 制定質量監測模型:數據質量模型代表的是業務需求,它是從業務需求的角度而描述出來的質量需求。
  • 制定質量監測規則:數據監測規則代表的具體的質量檢測手段,它是從技術角度來描述數據質量要求是如何被滿足的,包括規範性、完整性、準確性、致性、時效性、可訪問性,等等。

事中監控

  • 監控原始數據質量:數據採集工作從數據源頭獲取最原始的數據,在數據採集過程中將數據分為「好數據」「壞數據」,「好數據」入庫,「壞數據」則反饋給源頭修復,因為數據來源部門最懂這些數據,也最能在源頭上把數據問題徹底修復掉。
  • 監控數據中心質量:經過各種採集、清洗、加工過程,數據被存入數據倉庫中,這些數據也將被業務部門使用,所以,對於這些成果數據的質量監控和修復則猶為重要。對於這類數據問題,我們可能使用簡單的空值檢查、規範性檢查、值域檢查、邏輯檢查、一致性檢查、等等規則就可以檢查出來,也可能需要諸如多源比較、數據佐證、數據探索、波動檢查、離群檢查等等方法才可以檢查出來。
  • 反饋數據質量問題:數據質量監控過程中,會發現兩類問題,一類是源頭的數據質量問題,一類是數據中心的數據質量問題,數據質量團隊需要將這些問題及時反饋給源頭部門和數據倉庫建設團隊。
  • 考核數據質量考核:數據質量的考核是為了能夠引起各個參與部門和參與團隊對數據質量的重視,需要及時統計分析各種數據質量問題,並制定出相應的應對措施。

事後改善

  • 修複數據質量問題:發現質量問題不是最終的目標,我們仍要建立相關的流程和工具,通過手工、工單、自動化等等手段將質量問題修復掉,從而為業務創新提供可靠的數據支撐。
  • 收集數據質量需求:通過數據中心的建設,質量問題的修復,必然能夠促進數據的應用,我們仍要建立通暢的數據質量反饋通道,讓各個部門參與到數據質量的再次完善中來,從而形成建設、應用和反饋的良性循環。
  • 完善質量管理制度:制度和流程的建設並不是一蹴而就的,我們要在數據建設和質量完善的過程中,結合自身組織結構和業務特色,不斷完善工作制度。
  • 完善數據質量標準:各行各業不斷湧現新的業務形態,原有的業務也在不斷的變化,我們要緊跟業務的變化,不斷完善符合業務需求的數據標準。
  • 完善質量監測模型:如前所述,監測模型代表的業務需求,業務形態的變化、數據標準的變化和質量新需求的出現,同樣要求監測模型能夠做出相應的變化。
  • 完善質量監測規則:同樣,如今的信息化技術發展日新月異,我們要不斷引入各種新技術來更加智能地發現和修複數據質量問題。

總結

最後,我們要想把大數據建設做好,就要把數據質量做好。要把數據質量做好,就要充分理解業務,要了解大數據建設的全部過程,要從更高的視角來發現和解決大數據建設過程當中的各種問題。

作者介紹

蘇槐,微信號 Sulaohuai,現服務於龍石數據,曾就職於神州數碼、Oracle、新加坡電信等企業。擅長數據治理、容器技術、微服務架構及技術管理。

關鍵字: