Data Observability 系列文 10:資料可觀測性的五大支柱

可觀測性有三本柱,資料可觀測性也有自己五大支柱。

前言

大家好,我是艦長。

上一篇文章我們看遍了各家的 Data Observability 定義,本文要繼續認識在 Data Observability,我們會觀測哪些東西。

這裡就直接採用 Monte Carlo 這家公司提出的五大支柱

第一支柱:新鮮度(Freshness)

新鮮度,即是「你的資料是不是足夠『即時』?」

其實過去 Data 圈在談「資料品質」時,也會關注這個重要項目。

還記得我們前面幾篇文章說過的故事,Data User 發現今天查詢的業績報表數字怪怪的。業務主管記得明明上週有一筆大單,但查看業績報表數字就是對不上。最後向 Data Team 反應才發現是上游的資料管線停擺了一天,

新鮮度關注資料的時效性。你的資料應該要在「預期的時間」內被更新,並且要更新至 Data user 需要的那個時間區段內的 Data。

用比喻來說,就是訂閱的概念。好比訂報紙、固定發刊的電子報、週刊、雜誌⋯⋯

每週四12:00固定會發刊的付費電子報,結果已經週四13:00 了,你還是沒收到。或者你準時收到了,但內容居然跟上週一樣。

這就是新鮮度想要觀測的。

第二支柱:資料量(Volume)

資料量,這個字面意思應該不用解釋吧。

這也是一般在談資料品質、資料驗證時大家都會想到的項目。

你上游說每次都會提供 10 萬筆資料,那我就來驗收是不是有10萬筆,結果一驗怎麼只有 99999筆。

又或者是,最近半年內每個月的訂單資料大約都是 1萬筆上下,怎麼忽然11月暴增為 5 萬?這是不是有異常?

資料量 Volume 觀測的就是你資料的「量」是不是吻合你的預期。

第三支柱:品質(Quality)

Quality 品質,這一項就有點意思了,因為單看 Quality 這個字,似乎是直接把過去資料圈一直在談的 Data Quality 整個放進來當成一個觀測項目。

因此也有另外一個說法,是改用 Distribution 分佈這個字,更精準表達我們要觀測的是資料的值(內容)是否都落在合理的範圍。

舉例來說,你這一批資料是關於台灣的便利商店,結果在經緯度這一欄卻出現了非洲的位置,顯然資料必有問題;又或者這批資料關於人事,其中一個欄位是人員的年齡,但卻出現了四位數字的資料,這資料也必然有問題。

我個人是比較喜歡分佈這個說法,一來可以避免跟其他的 Data Quality 混用,導致議題混淆。另外分佈,更能表現出統計學的意味,我們是用一種科學的方式在評估資料是否吻合我們的期待。

第四支柱:結構(Schema)

資料結構,這也是一個過往以來不論是軟體圈或 Data 圈都會關注的項目。

「欸,明明說好資料會有 10 個欄位,怎麼少了一個?」

「欸,明明說好這個欄位是整數,怎麼取出來有小數點?」

資料結構就像是資料的基本規格,也可以說是一份約定。

所以資料結構如果有任何異動時,都必須要讓上下游知道,不然可能會發生上游資料寫不進來,下游拿到不如預期的資料。

這就好比前端去呼叫後端的API,你們說好會回傳 user_id,結果怎麼傳來的是 uuid。

也好比大賣場貨架A明明一直都擺台灣豬肉,忽然改成進口豬肉,但沒有通知員工更改貨架上的商品標籤,於是消費者一拿怎麼都不是台灣豬。

第五支柱:血緣(Lineage)

最後一個支柱就真的比較偏 Data 圈會在意的內容,那就是資料血緣。

血緣,我個人覺得是非常吻合 Observability 這個字的一項內容。怎麼說呢?好比 Observability 剛出來時,大家都說 Observability 幫助我們串起了監控與除錯所需要的所有資訊(Metrics、Logs、Traces)。而對於 Data 而言 Lineage 就有這種串起所有資訊的味道。

Lineage 關心的是,資料從哪來?又會往哪裡去?它的上下游關係。

常見的比喻是「食品產銷履歷」或是「產品原物料追蹤」。簡單來說就是當你今天拿到一個有問題的食物或產品,你向廠商反應,而廠商有辦法快速的追蹤出該食品或產品包含哪些原物料,這些原物料來自哪些上游供應商,又是由哪些工廠經手處理,最後做出產品提供給下游消費者。

也就是說資料血緣,為我們提供了一個全局視野,我們就更容易找到是那個上游的資料來源提供了有問題的資料,也方便判斷會是哪個資料管線處理過程出了問題。

所以我才說,這是一個很 Observability 的支柱。因為它能幫助我們串聯不同階段的資訊,用更全面的視野去關注 Data 的變化。

小結

本文簡單聊完了 Data Observability 的五大支柱,但其實這五項都不是新東西,而是 Data 圈一直都有在關注的事情。

這也呼應我前幾篇文章提到的,過去以來 Data 圈早就在想方設法想要解決 Data 品質的問題,例如在資料圈內,資料治理的重要指南 DAMA-DMBOK(Data Management Body of Knowledge),就已經有提過跟這五大支柱相同的內容了。

例如在 DAMA-DMBOK 2 的第 13 章 Data Quality Management,就有列出許多常見的 Data Quality Dimensions,其中就有 Timeliness 可以對應五大支柱的 Freshness 確保資料都有及時到位;Completeness 可以對應五大支柱的 Volume 確保該有的資料都有到位。

第 13 章也有提到 Data Profiling(常見譯為資料剖析),可以對應五大支柱的 Distribution。透過 Data Profiling 去檢查 Data 內的空值、最大值、最小值、長度、值的分佈狀況⋯⋯等

第 12 章 Metadata Management 則可以對應五大支柱的 Schema,Data Schema 是 Data 重要的 metadata 必須做好管理與追蹤。

最後在第 8 章和第 12 章,也都有提到 Data Lineage 的相關內容。

(筆者不是資料治理的專家,只是手邊剛好有一本 DAMA-DMBOK2 簡中版,所以翻閱了一下內容。)

我認為 Data Observability 就跟其他 Buzzword 一樣,同樣也是因為時代變遷,現在有了新技術、新工具的狀況下,人們在反思過去資料品質的失敗經驗,進而找出該如何改善的新可能性。

所以如果再問一次,什麼是 Data Observability ?

我會說它是在因應企業資料治理的需求之下,實現資料品質監控的現代化技術手段,讓我們對「保持資料的健康(品質)」這件複雜的事,能有一個具備全面性的掌握。

系列文連結

此系列文持續撰寫中,陸續更新連結。

  1. Data 不只是技術問題
  2. 軟體圈都在注意些什麼?
  3. Data User 最關心的是什麼?
  4. 軟體圈與 Data 圈眼中的 Data
  5. 如何取得一杯乾淨的水(Data)?
  6. 我們過去為了資料品質做了些什麼?
  7. 有了監控為什麼還不夠?
  8. 什麼是資料可觀測性?先看看關鍵字趨勢
  9. 資料可觀測性的定義
  10. 資料可觀測性的五大支柱

轉貼本文時禁止修改,禁止商業使用,並且必須註明來自「艦長,你有事嗎?」原創作者 Cheng Wei Chen,及附上原文連結。

用贊助表達你的支持

更多文章