數據質量是數據分析和數據科學的關鍵要素,它影響著數據的可信度和價值。但是,數據質量有哪些盲點,如何定位和提高數據的可靠性呢?這篇文章為你揭示了數據質量的盲點,以及如何通過數據治理、數據測試、數據監控等方法來實現數據的可靠性。你將學習到如何建立有效的數據質量管理體系,以及如何利用指標來評估數據質量。.
數據品質 (Data Quality) 一直是數據工程的重要話題,隨著這些趨勢驅動,提升數據品質的單位成本越來越高,但數據品質問題仍然無窮無盡的出現:
數據品質高代表數據可用於實現預期用途 (Fitness for intended use) ,通常由數據供應錬的末端,即數據消費者,提出什麼數據要實現什麼預期用途,以及評斷是否真的有實現。一般而言,數據消費者是不瞭解數據生產端的,例如軟體應用程式的使用單位或開發單位是如何產出數據。因此衍生出由數據工程師或數據分析師從數據生產端擷取數據,再製數據後提供於數據消費者。
這個過程會產生一個可預期的結果:數據消費者依數據是否有實現預期用途來判斷數據品質,造成只要無法實現預期用途,就是數據品質低,但無從解決數據品質問題,因為回推每一個環節都有各自專業技術的壁壘。更嚴重的問題是,越在末端才提出的數據品質問題,修復的成本越高,也越難修復。
所以,直接設定及追求數據品質是正確的目標嗎?答案很顯而易見不是的,至少數據品質不是第一個階段的目標。數據品質是數據供應錬的末端,數據消費者衡量數據是否可實現預期用途,那麼數據供應鍊的中段,數據工程階段應該如何衡量數據?
在衡量數據品質之前,應該先衡量數據可靠性 (Data Reliability)。數據可靠性代表數據準確性和一致性 (Accuracy and Consistency) ,指數據來源的準確可信程度,以及數據在不同記錄、應用程式或平台之間的一致性。也就是說,數據可靠性優先考慮把數據處理正確,數據可否實現預期用途次之。
整體來說,數據品質問題可以粗分為兩個部分,一個是數據可靠性問題,一個是數據適用性問題。例如一份電子郵件行銷清單:
數據可靠性是不隨著數據需求改變的,是一個持續不間斷的指標;數據適用性或數據品質是隨著數據需求改變的,同一份數據對A專案不適用,不代表對B專案不適用。
請試著回想,一份數據品質不佳的數據,具體有多少原因是數據可靠性低?還是數據適用性不夠?要能明確區分出來,才能對數據品質問題對症下藥。簡單說,就是先提升對數據的信任(數據可靠性)再追求數據的使用滿意度(數據適用性或數據品質)。
網站可靠性工程 (Site Reliability Engineering, SRE) 是透過使用各種技術,在應用系統的整個生命週期中,以確保系統可靠且能夠承受故障。數據可靠性工程是 (Data Reliability Engineering, DRE) 是網站可靠性工程的一個子領域,專門管理數據基礎架構中的系統。
所以,看起來 DRE 只是 DBA (Database administrator) 的新名詞?確實兩者有相當程度的重疊,但現今對這個兩個領域有稍微明確的區隔。數據可靠性工程涉及更多關於數據本身的工作,例如數據抽查、數據驗證、數據回填、數據程式執行結果監控;而DBA涉及更多架構擴展、資料庫監控、和事件管理等。數據可靠性工程跟 SRE 一樣,透過建立標準、流程、和工具以保持數據生命週期可靠且能承受數據異常,以讓數據工程及數據科學團隊能在數據應用系統中,持續進行數據管道發展及數據模型分析。
進行彙整後,可以較明確看出區隔:
可靠性工程是近幾年的新概念Google’s Site Reliability Engineering,數據可靠性工程更是剛開始發展,勢必會也會再逐漸融合各種觀點發展出不同的樣貌。
我們已經將數據品質問題進行了拆解,並且定義了數據可靠性工程,那麼數據可靠性要如何量化評估?能夠量化評估,才能進行管理,進而才能推進數據品質。與應用系統相同,我們可以嘗試建立數據專屬的 SLA (Service-level agreement) 來具體管理數據可靠性:
瞭解了數據可靠性工程的表現評估指標後,是不是對 DRE 有更清晰的概念了呢。
那麼數據可靠性工程師具體有哪些工作?
由此可見,數據可靠性工程師較數據工程師及資料庫管理師,對數據本身投入更多探索及瞭解的時間;與數據分析師及資料科學家相比較,數據可靠性工程師對數據生命週期的瞭解更深入(例如資料什麼時候應該廢止不使用),數據分析師及資料科學家比較關注特定數據場景的實現。
我們現在已經從數據供應鍊的最末端,數據消費者端,向前移動了一些。我們探討了數據可靠性應該優先被驗證,也提出了數據可靠性的表現評估方式,但數據品質的問題已經全部被解決了嗎?答案是否定的。
數據可靠性問題可能發生在整個數據管道各個階段,數據可靠性應該從數據處理的第一步,數據擷取或數據登陸時就開始關注,也就是說,數據可靠性越早開始,就越能降低修復數據品質問題的成本。這勢必會影響整個數據管道的工程環境,顯著受影響的環節有:
這幾乎是整個數據管道了!因此可見數據工程與數據可靠性,應該同步併行,以在架構與數據兩個方面做到同步處理,而不是將所有數據品質問題遞延到最後數據可靠性工程師,或數據消費者階段才進行數據品質問題修復。
準備好要提升數據品質了嗎?就從識別數據可靠性問題,以及培養數據可靠性觀念開始!
0 留言