資料血緣追蹤 是什麼?
Data Lineage:資料血緣追蹤 的完整解釋
資料血緣追蹤記錄資料從來源到目的地的流動和轉換,提供資料的完整歷史和上下文,確保資料品質和可追溯性。
容易混淆
資料目錄 資料目錄告訴你資料在哪,血緣追蹤告訴你資料怎麼來、怎麼變、去哪裡。 常見混淆:資料血緣追蹤 vs 資料目錄 一個看位置,一個看來源和流向,兩者互補但用途不同。
記住這句就好
資料從哪來、怎麼變、去哪裡,都要看得到。
實際案例
報表追查 財務欄位突然不對,可以沿著血緣找到是哪個 ETL 步驟出問題。 法遵稽核 被問到某個指標怎麼算出來時,可以直接拿出流程證據。
算法與應用
- 血緣追蹤不只看資料來源,也看欄位在中間怎麼被轉換。
- 它和資料目錄互補,目錄告訴你資料在哪,血緣告訴你資料怎麼來。
- 導入時要從關鍵資料源開始,再慢慢擴到整個流程。
中英對照與常見說法
| 說法 | 出現場合 |
|---|---|
| 資料血緣、資料血緣追蹤 | 台灣正式用語 |
| 数据血缘、数据血统 | 簡體寫法 |
| Data Lineage | 英文原名 |
| 資料譜系、資料溯源 | 常見變體 |
| Data Provenance(資料來源證明) | 相近但不同,偏重來源的可信與可證明 |
它要回答哪些問題
往上游看(backward lineage):這張報表的數字從哪裡來?經過哪些轉換?中間有沒有人手動改過?
往下游看(forward lineage):我要改這個欄位的定義,會影響哪些報表、哪些模型、哪些下游系統?
第二個方向的價值常被低估。沒有血緣圖的時候,改一個上游欄位等於在黑暗中拆線,出事才知道有人在用。
追蹤的粒度
| 粒度 | 追到什麼 | 成本 |
|---|---|---|
| 表級 | A 表來自 B 表與 C 表 | 低,多數工具預設 |
| 欄位級 | A 表的 total 欄位來自 B 表的 price 乘以 C 表的 qty | 中,需要解析 SQL |
| 列級 | 這一筆資料是由哪幾筆來源資料算出來的 | 高,儲存與計算成本都大 |
多數團隊的實務甜蜜點在欄位級。表級太粗,影響分析時仍要人工翻程式碼;列級太貴,通常只在稽核要求極高的場景才做。
在機器學習與 AI 治理裡的用途
重現實驗。 三個月前那個表現最好的模型是用哪一版資料訓練的?沒有血緣就只能猜。
釐清事故範圍。 上游某張表灌進錯誤資料,哪些模型用到了、什麼時候開始用的、要重訓哪幾個,血緣圖能在幾分鐘內給出清單。
合規與稽核。 個資相關法規要求說明個人資料流向哪裡、被誰使用、保存多久。歐盟 AI 法規對高風險系統也要求訓練資料的可追溯性。
偵測資料洩漏。 特徵的血緣如果一路追到了標籤所在的表,那就是洩漏,這種問題用血緣圖比用直覺好抓得多。
怎麼建立
自動解析優於人工維護。 從 SQL、ETL 設定檔、工作排程器的相依關係自動抽取,人工維護的血緣文件三個月內一定會過時。
最難的是不透明的環節。 一段自訂的 Python 轉換、一份有人手動編輯的試算表、一個外部 API 呼叫,自動解析都看不進去。這些地方要嘛用約定的註解補上,要嘛就在血緣圖上明確標示為「不可追溯」,不要留白讓人誤以為已經涵蓋。
情境判斷
Q1:如果一個報表數字怪怪的,血緣追蹤最有幫助的地方是什麼? → 可以快速定位是哪個來源或轉換步驟出了問題。 Q2:血緣追蹤只是在畫圖嗎? → 不只是圖,它還是追責、治理和除錯的重要基礎。
相關術語
常見問題
為什麼資料血緣追蹤對於資料治理很重要?
資料血緣追蹤提供資料的完整歷史和上下文,幫助理解資料的來源、轉換和目的地。這對於確保資料品質、滿足合規性要求以及簡化資料治理流程至關重要,例如資料目錄建立和資料安全。
資料血緣追蹤與資料目錄有什麼不同?
資料血緣追蹤追蹤資料的流動和轉換,提供資料的歷史和上下文。資料目錄則提供資料的描述和位置,幫助使用者找到和理解資料。兩者是互補的,資料血緣追蹤提供資料的歷史,資料目錄提供資料的描述。
如何開始實施資料血緣追蹤?
先識別關鍵的資料來源、轉換和目的地,再選擇適合自己需求的資料血緣追蹤工具,最後建立一個血緣圖並定期更新和維護它,可以從小規模開始,逐步擴展到整個資料生態系統。