BI-商業智能是IT領域的一個熱點話題。日益激烈的市場競爭讓越來越多的企業負責人傾向于借助商業智能來輔助決策,而企業經過多年來信息化的建設積累下豐富的數據也為商業智能項目的進行奠定了堅實的基礎,在這樣的背景下,企業上馬商業智能項目的熱情逐漸高漲起來。然而,和眾多企業管理軟件項目一樣,商業智能項目的失敗率也居高不下,其中數據質量問題是諸多失敗誘因中的一個,特別是在涉及多數據源的商業智能項目中,數據質量不高在很大程度上制約了BI項目的最終效果,甚至直接導致了BI項目失敗。
數據質量欠佳的原因
導致數據庫中數據質量欠佳的原因很多,其中有人為因素,也有系統的原因,還有外界不可抗拒的原因,比如,某個區域改變了郵件編碼或者電話號碼等,使得系統原有與此相關的數據變成了錯誤的數據。
輸入錯誤是最常見的影響數據質量的行為。比如,原本應為8位的電話號碼只有7位、2月份出現了31日、數字和字母出現了混淆(把“I”當成了“1”) 等。一般而言,如果應用程序設計得好一些、糾錯能力強的話,上述錯誤在數據錄入時是可以避免的。而有些錯誤如果不用專門的工具而單靠應用程序是不現實的,比如錯誤的名稱、地址信息等。另外,在系統維護和數據處理時也可能出現錯誤。而錯誤數據的輸入可能擴散到多個系統中,從而影響到整個企業數據的質量,有時即使是相對簡單的數據錯誤也會迅速升級為復雜問題,降低整個企業內數據的質量。事實上,每個數據維護操作都可能改變數據,從而導致無法預知的結果。
錯誤的數據還可能來自第三方。現代企業與產業鏈上下游的關系越來越密切,不少數據就來自上下游企業。此外,有些企業將業務流程外包給第三方或者與合作伙伴以及供應商協作,在這些場合,企業對外來的數據無法即時控制,這些來源或質量無法確定的外部數據都可能進入企業中并在企業中擴散。
值得注意的是,有些數據原本不是錯誤,放到特定場景就有問題。比如,同一信息不同系統格式可能不同,數據集成時要把以不同格式保存的數據合并起來就可能出現問題。這也就是企業建立統一的數據字典或者上線主數據管理系統的原因之一。另外,同一數據可能會保持在多個系統,如果在一個系統中有過修改,也有可能引發數據一致性問題。
為了衡量數據質量,可以從以下幾個維度來考察,即完全性、符合性、一致性、準確性、重復性等。完全性指數據項沒有缺失,比如個人信息要求必須有身份證號、郵件地址;符合性指各個數據項符合基本常識,例如郵政編號必須為數字、電話號碼應沒有字母且長度符合規定;一致性指在不同系統中表達同一信息的代碼是一致的,一致性是涉及多數據源的數據集成時常出現的問題;重復性指的是同樣或者相似數據出現多次。
如何保證數據質量
要改善數據質量可以從兩個方面著手,一個是在數據進入系統時引入各種規則來保證數據的正確性,另一個是在數據集成時引入專門的工具進行數據清洗。相對而言,前一個方法更主動,成本也較低,而后一種方法是事后處理,成本高,而且以后還需要持續不斷進行。不過,等到要上BI項目時,改善數據質量常常只能是依賴后者。
改善數據質量最直接的辦法就是選用數據質量相關的工具。目前,數據質量已經成為一個專門的應用領域,市場上也有很多工具,比如,大多數BI廠商都有自己的數據質量工具,其ETL工具也帶有這部分功能。因為在數據倉庫的建設過程中,數據清洗是其中必不可少的一步。
數據質量保證通常涉及以下過程:首先使用數據剖析工具對數據質量進行分析和探查,以深入了解數據的結構、數值的有效性、分布情況以及在多個分散系統之間關聯等重要信息,然后對數據進行清洗、修正、刪除重復數據,并實現數據的標準化,最后對這些數據進行歸并存入數據倉庫。
應該說,數據質量工具并不是解決問題的根本辦法,因為如果管理和流程跟不上的話,單靠數據質量工具是很難達到滿意的效果的。實際上,在數據質量保證項目中,有一件非常重要的工作是建立數據的標準和規范、明確數據的定義。因為大多數企業沒有建立主數據管理系統,而應用程序開發的時間不同,很可能出現同一數據采用不同格式進行表達的情況,而在對多數據源進行數據集成時,必須對這些數據格式進行轉換,如果有了相關標準和定義,就可以大大降低數據集成時的工作量和復雜度。此外,還要建立一個可重復的數據收集、數據修改和數據維護流程,而最終的理想結果是達到流程的自動化,從而降低數據質量保證計劃的總體開銷。
值得強調的是,由于數據的生成和處理是一個持續不斷進行的過程,因此,數據質量保證是一個長期的過程,相應的,確保數據質量并不是一次就能完成的。
改善數據質量需要從數據質量工具、建立管理制度和流程兩個方面著手,并通過持續不斷的改進來確保數據質量的高度可靠。