在資料驅動的時代,資料品質對企業至關重要。本文《資料品質基礎》旨在為資料從業者提供全面的資料品質,涵蓋資料品質的重要性、評估方法、改進策略等。隨著資料量爆炸式增長,確保資料可靠性和品質變得越來越重要,資料停機時間可能導致企業損失慘重,不僅是金錢上的損失,還有客戶信任的喪失。本文探討如何建立更具彈性的技術、團隊和流程,確保組織中的高資料品質和可靠性,並結合實際案例和技術細節,提供實用的指導。從資料攝取到分析,本文分享了最佳團隊如何在資料管道的每個階段實作高資料品質,以及在規模上維持資料信任的必要條件。

資料品質基礎:前言與致謝

資料品質是現代資料驅動企業成功的關鍵因素之一。隨著資料量的爆炸性增長,確保資料的可靠性和品質變得越來越重要。本文《資料品質基礎》(Data Quality Fundamentals)由Barr Moses、Lior Gavish和Molly Vorwerck共同撰寫,旨在為資料從業者提供一個全面理解資料品質的。

本文的創作背景

本文的創作始於作者們對資料品質的深刻理解和實踐經驗。編輯Jess Haberman的啟發和指導使得這本文的內容與眾不同。作者們感謝Jess在整個寫作過程中給予的鼓勵和支援,使得這本文最終得以完成。

技術審閱與貢獻者

本文的技術審閱者包括Tristan Baker、Debashis Saha、Wayne Yaddow、Scott Haines、Sam Bail、Joy Payton和Robert Ansel。他們提供了寶貴的意見和編輯建議,確保了書籍內容的準確性和完整性。特別值得一提的是,Ryan Kearns在幾章的寫作中發揮了重要作用,他的洞察力和專業知識對本文的完成至關重要。

業界專家的支援

在寫作過程中,作者們還與多位業界專家進行了交流,包括Brandon Beidel、Alex Tverdohleb、António Fitas、Gopi Krishnamurthy等眾多專家。他們提供了寶貴的見解和經驗,豐富了本文的內容。

感謝與致敬

作者們感謝家人的支援,包括Elisha和Kadia Moses、Motti和Vira Gavish、Gregg和Barbara Vorwerck。他們的鼓勵和支援使得作者們能夠完成這本文。同時,作者們也感謝客戶們的支援,他們在資料可觀測性領域的先驅工作為未來的可靠資料奠定了基礎。

本文的結構與內容

本文涵蓋了資料品質的基礎知識,包括資料品質的重要性、評估方法、改進策略等。書中結合了實際案例和技術細節,為讀者提供了實用的指導。

程式碼範例與解說

# 定義一個簡單的資料品品檢查函式
def check_data_quality(data):
    # 檢查資料是否為空
    if not data:
        return False, "資料為空"
    
    # 檢查資料型別是否正確
    if not isinstance(data, list):
        return False, "資料型別錯誤"
    
    # 進一步檢查資料內容
    for item in data:
        if not isinstance(item, dict):
            return False, "資料內容錯誤"
    
    return True, "資料品質良好"

# 使用範例
data_example = [
    {"id": 1, "name": "example1"},
    {"id": 2, "name": "example2"}
]

quality, message = check_data_quality(data_example)
print(f"資料品品檢查結果:{message}")

內容解密:

此範例程式碼定義了一個名為check_data_quality的函式,用於檢查輸入資料的品質。函式首先檢查資料是否為空,接著驗證資料型別是否為列表,最後檢查資料內容是否符合預期格式。這個函式提供了一個基本的資料品品檢查機制,可以根據實際需求進行擴充套件和自定義。

隨著資料技術的不斷進步,資料品質的重要性將進一步凸顯。未來,我們期待看到更多根據資料品質的最佳實踐和創新解決方案。本文為讀者提供了一個良好的起點,幫助他們在資料品質領域取得進一步的成就。

資料品品檢查流程

  graph LR
    G[G]
    A[開始檢查] --> B{資料是否為空?}
    B -- 是 --> C[傳回錯誤:資料為空]
    B -- 否 --> D{資料型別是否正確?}
    D -- 否 --> E[傳回錯誤:資料型別錯誤]
    D -- 是 --> F[檢查資料內容]
    F --> G{資料內容是否正確?}
    G -- 否 --> H[傳回錯誤:資料內容錯誤]
    G -- 是 --> I[傳回成功:資料品質良好]

圖表翻譯: 此圖表展示了資料品品檢查的流程。首先檢查資料是否為空,如果為空則傳回錯誤。接著檢查資料型別是否正確,如果型別錯誤則傳回相應的錯誤資訊。最後,檢查資料內容是否符合預期格式,如果內容錯誤則傳回錯誤,否則傳回資料品質良好的結果。

為何資料品質值得關注——現在

如果你曾經遇到過這樣的情況,請舉手(或吐出咖啡、嘆氣、搖頭):

在數位優先的公司中,資料通常是CEO的首要任務,她精通最新的商業智慧工具。你的CTO對遷移到雲端感到興奮,不斷向你的團隊傳送文章,強調與最新技術相比的效能測量結果。下游資料消費者,包括產品分析師、行銷主管和銷售團隊,依賴資料驅動的工具,如客戶關係管理/客戶體驗平台(CRMs/CXPs)、內容管理系統(CMSs)等來快速有效地完成工作。

作為負責管理這些資料並使其可用、可存取和可信賴的資料分析師或工程師,幾乎每天都會收到來自利益相關者的請求。但是,當資料出錯時會發生什麼?

你是否曾在長時間執行查詢或建立資料管道後,準備簽核時,卻被行銷主管告知關鍵報告中的「資料遺失」?或者收到CTO關於商業智慧儀錶板中「重複資料」的緊急電子郵件?或者收到CEO關於最新董事會報告中令人困惑或不準確的數字的備忘錄?

如果這些情況讓你感同身受,你並不孤單。這個問題通常被稱為「資料停機時間」(data downtime),甚至是對最具創新性和資料優先的公司來說也會發生。在我們看來,這是21世紀企業面臨的最大挑戰之一。資料停機時間指的是資料遺失、不準確或錯誤的時期,並表現為過時的儀錶板、不準確的報告,甚至是糟糕的決策。

資料停機時間的根源是什麼?不可靠的資料,以及大量的不可靠資料。

資料停機時間可能使公司每年損失數百萬美元,更不用說客戶信任。事實上,ZoomInfo在2019年發現,1/5的公司因資料品質問題而失去客戶。

正如你可能知道的那樣,你公司的底線並不是唯一受到資料停機時間影響的東西。處理資料品質問題消耗了你的資料團隊高達40%的工作時間,這些時間本可以用來開展更有趣的專案或為業務進行實際創新。

這個統計資料可能對你來說並不意外。對我們來說肯定不是。

在過去,Barr Moses曾擔任一家客戶成功軟體公司的營運副執行長。她的團隊負責管理更廣泛業務的報告,從為CEO生成儀錶板到根據使用者指標制定減少客戶流失的策略。她負責管理公司的資料營運,並確保利益相關者在處理資料時取得成功。

Barr永遠不會忘記她從一個長時間、艱苦的規劃會議回到辦公桌時,發現電腦顯示器上有一張便條,上面寫著「資料是錯誤的」。這不僅令人尷尬;不幸的是,這也不是第一次。她和她的團隊一次又一次地遇到這些靜默而微小,但可能對資料造成嚴重影響的問題。

一定有更好的方法。

資料品質問題的歷史根源

不良的資料品質和不可靠的資料一直是組織面臨的問題,無論是由於不良報告、錯誤資訊還是技術錯誤。隨著組織越來越多地利用資料並建立越來越複雜的資料生態系統和基礎設施,這個問題只會增加。

「不良資料」的概念幾乎與人類存在一樣悠久,儘管形式不同。早期的南極探險家,如羅伯特·法爾肯·斯科特船長(Captain Robert Falcon Scott),由於資料品質不佳(或者說,缺乏資料導向的決策),錯誤地預測了到達南極的時間和路線。

最近的例子也很多。比如臭名昭著的1999年火星氣候軌道器(Mars Climate Orbiter)墜毀事件。NASA的火星氣候軌道器由於資料輸入錯誤,導致輸出結果以非國際單位制(SI)的單位表示,而非SI單位,使其過於接近火星。這次墜毀事件讓NASA損失了高達1.25億美元。就像太空船一樣,分析管道在過程中的任何階段都可能因最無害的變化而極度脆弱。而這只是冰山一角。

資料停機時間的解決方案

Barr的不幸經歷讓她思考:「我不是唯一一個!」Barr與Lior Gavish一起,開始尋找「資料停機時間」問題的根本原因。

他們採訪了數百個資料團隊,瞭解他們最大的問題。一次又一次,資料品質問題都排在列表的首位。從電子商務到醫療保健,各行各業的公司都面臨著類別似的問題:架構變更導致資料管道中斷,行或列重複出現在關鍵業務報告中,資料在儀錶板中遺失,導致他們花費大量時間、金錢和資源來解決這些問題。我們也意識到,需要有一種更好的方法來溝通和解決資料品質問題,作為提高資料可靠性的迭代週期的一部分,並建立推動資料信任的文化。

這些對話啟發了我們撰寫這本文,以傳達我們在管理資料品質的每個階段所學到的最佳實踐,從攝取到分析,並分享類別似情況下的資料團隊如何能夠預防自己的資料停機時間。

本文的重點

在本文中,「生產中的資料」指的是從源系統(如CRMs、CMSs和資料函式庫)中提取的資料,這些資料已經被倉函式庫、資料湖或其他資料儲存和處理解決方案攝取,並透過資料管道(提取-轉換-載入,或ETL)流動,以便業務使用者可以透過分析層存取這些資料。資料管道可以處理批次和流式資料,在高層次上,衡量這兩種資產的資料品質的方法非常相似。

資料停機時間與軟體工程和開發者維運有相似之處,在這些領域中,應用程式的正常執行時間或停機時間(即軟體或服務「可用」或「正常」或「不可用」或「宕機」的頻率)被嚴格衡量,以確保軟體的可存取性和效能。許多網站可靠性工程師使用「正常執行時間」作為衡量指標,因為它與不良軟體效能對業務的客戶影響直接相關。在「五個九」(即99.999%正常執行時間)正成為行業標準的今天,我們如何將其應用於資料?

在本文中,我們將探討現代資料團隊如何建立更具彈性的技術、團隊和流程,以確保其組織中的高資料品質和可靠性。

在本章中,我們將首先定義在本文的背景下資料品質的含義。接下來,我們將構建當前的時刻,以更好地理解為什麼資料品質對資料長官者來說比以往任何時候都更重要。最後,我們將更仔細地觀察最佳團隊如何在資料管道的每個階段實作高資料品質,以及在規模上維持資料信任需要什麼。

為何資料品質是現在的關鍵

在當今的商業環境中,資料品質的重要性不言而喻。隨著企業越來越依賴資料來驅動決策,資料品質直接影響到業務的成功。資料停機時間可能導致企業損失慘重,不僅是金錢上的損失,還有客戶信任的喪失。

資料品質對業務的影響

資料品質問題可能導致企業在多個方面受到影響,包括但不限於:

  • 財務損失:資料錯誤或遺失可能導致企業做出錯誤的決策,從而造成財務損失。
  • 客戶信任:資料品質問題可能導致客戶對企業失去信任,從而影響客戶忠誠度和長期關係。
  • 業務營運:資料品質問題可能導致業務營運效率降低,例如資料管道中斷、報告錯誤等。

資料品質的解決方案

為瞭解決資料品質問題,企業需要建立健全的資料管理流程和技術,包括:

  • 資料驗證:建立資料驗證機制,確保資料的準確性和完整性。
  • 資料清洗:定期進行資料清洗,刪除重複或錯誤的資料。
  • 資料監控:建立資料監控機制,及時發現資料品質問題。

透過這些措施,企業可以提高資料品質,減少資料停機時間,從而提高業務營運效率和客戶信任度。

資料品質的未來發展

隨著資料技術的不斷發展,資料品質的重要性將越來越被重視。企業需要不斷改進資料管理流程和技術,以確保資料品質和可靠性。

未來趨勢

  • 人工智慧和機器學習:人工智慧和機器學習技術將被廣泛應用於資料品質管理,提高資料準確性和完整性。
  • 資料治理:資料治理將成為企業的重要任務,確保資料品質和安全性。
  • 雲端技術:雲端技術將繼續發展,為企業提供更靈活和可擴充套件的資料管理解決方案。

透過關注這些趨勢,企業可以更好地應對資料品質挑戰,提高業務營運效率和客戶信任度。

為何資料品質值得關注——此刻

資料品質的重要性

資料品質一直是資料收集過程中不可或缺的一環。近幾十年來,資料品質的定義逐漸明朗化,主要衡量資料的可靠性、完整性和準確性。正如人們常說的,「你無法管理你無法衡量的事物」,而高資料品質是任何健全的分析計劃的第一步。資料品質也是瞭解你的資料是否符合業務需求的強大工具。

資料品質的定義

在本文中,我們將資料品質定義為資料在其生命週期的任何階段的健康狀況。資料品質可能在資料管道的任何階段受到影響,無論是在攝取之前、生產過程中還是分析過程中。我們認為,資料品質經常被誤解。資料團隊知道他們需要優先考慮資料品質,但它不像「機器學習」、「資料科學」或甚至「分析」那樣容易被接受。許多團隊沒有足夠的資源來僱用專人全職管理資料品質。相反,資源有限的公司依靠資料分析師和工程師自己來管理它,從而將他們從被認為更有趣或更具創新性的專案中轉移出去。

為何資料品質至關重要

如果無法信任資料和由資料驅動的產品,那麼資料使用者如何信任您的團隊能夠提供價值?「沒有資料比壞資料更好」這句話在該領域的專業人士中被頻繁參照,儘管這句話有一定的道理,但往往並非現實。資料品質問題(或資料停機時間)幾乎是不可避免的,特別是在大多數公司的資料增長和消費速度下。但是,透過瞭解我們如何定義資料品質,可以更容易地衡量和防止它在下游造成問題。

當前的形勢

技術團隊一直在追蹤和試圖改善資料品質,就像他們一直在追蹤分析資料一樣,但直到2020年代,資料品質才成為許多企業的首要任務。隨著資料不僅成為輸出,而且成為許多組織的金融商品,確保這些資訊的可信度變得至關重要。因此,公司越來越多地將他們的資料視為程式碼

資料品質的重要性——當前形勢分析

隨著企業越來越依賴資料進行決策,資料品質的重要性日益凸顯。雲端運算的普及使資料管理變得更加容易,存取更加便利,處理速度也更快。資料倉儲(Data Warehouse)和資料湖(Data Lake)相繼轉移到雲端,為資料團隊提供了更大的彈性。

資料來源的多樣性

現代企業通常使用數十到數百個內部和外部資料來源來產生分析和機器學習模型。這些資料來源的任何變化都可能導致資料品質下降。例如,工程團隊可能對公司網站進行修改,從而影響市場分析的關鍵資料集。這種變化可能導致市場指標錯誤,進而影響公司的重要專案。

資料管線的複雜性

資料管線(Data Pipeline)變得越來越複雜,包含多個處理階段和資料資產之間的依賴關係。缺乏對這些依賴關係的可視性,可能導致對一個資料集的修改影響其他相關資料資產的正確性。

資料管線的流程

資料管線涉及多個階段,包括資料提取、轉換、載入、儲存、處理和交付。在每個階段,都存在資料停機(Data Downtime)的風險。此外,資料在不同倉儲之間的遷移或手動輸入錯誤也可能導致問題。

資料團隊的專業化

企業越來越依賴資料進行決策,因此聘請了更多的資料分析師、資料科學家和資料工程師來建立和維護資料管線、分析和機器學習模型。

資料團隊的角色分工

  • 資料分析師負責收集、清理和查詢資料集,以幫助業務相關人員產生有價值的洞察。
  • 資料工程師負責確保底層技術和系統的效能、速度和可靠性。
  • 資料科學家通常負責收集、整理和增強非結構化資料,以改善業務。

隨著資料變得越來越基礎,資料團隊將繼續成長。大型企業可能會支援更多的角色,包括資料管理員、資料治理長官者、營運分析師和資料工程師。

分散式資料團隊

隨著資料在業務營運中的重要性日益增加,越來越多的功能團隊參與資料管理和分析,以簡化並加速洞察的收集過程。因此,越來越多的資料團隊採用分散式架構,這種架構類別似於軟體工程領域在2010年代中期從單體架構轉向微服務架構的趨勢。

分散式資料架構

分散式資料架構由中央資料平台團隊管理,分析團隊和資料科學團隊分散在業務各個部門。這種架構使得多個團隊能夠更靈活地使用資料,但也增加了資料集重複、遺失或過時的風險。

內容解密:

上述內容闡述了當前資料管理領域的挑戰和趨勢。企業對資料的依賴程度越來越高,資料品質的重要性也日益凸顯。資料來源的多樣性和資料管線的複雜性使得資料管理變得更加具有挑戰性。資料團隊的專業化和分散式架構也增加了資料管理的複雜度。因此,企業需要採取有效的措施來確保資料品質,以避免因資料錯誤而導致的損失。

隨著資料技術的不斷發展,企業需要持續關注資料品質的重要性,並採取相應的措施來確保資料的準確性和可靠性。同時,企業也需要培養更多的資料專業人才,以應對日益複雜的資料管理挑戰。

  graph LR
    A[資料來源] -->|提取|> B[資料管線]
    B -->|轉換|> C[資料倉儲]
    C -->|分析|> D[業務洞察]
    D -->|決策|> E[業務行動]

圖表翻譯:

此圖表展示了資料從來源到最終業務行動的流程。首先,資料從各種來源提取到資料管線中。然後,資料在管線中進行轉換和處理,最終載入到資料倉儲中。接著,資料倉儲中的資料被用於進行分析和產生業務洞察。最後,這些洞察被用於指導業務決策和行動。

內容解密:

此圖表清晰地展示了資料從提取到最終應用的整個流程。資料管線是整個流程中的關鍵環節,負責資料的提取、轉換和載入。資料倉儲則是資料儲存和分析的核心。業務洞察的產生和業務決策的制定都依賴於資料倉儲中的資料。

內容解密:

企業應該重視資料品質,並採取相應的措施來確保資料的準確性和可靠性。同時,企業也需要持續關注資料技術的發展,並培養更多的資料專業人才,以應對日益複雜的資料管理挑戰。