LESSON 15分

データリネージ

田中VPoE「データ品質と可観測性を学んだ。最後の重要な概念がデータリネージだ。“このダッシュボードの数字はどこから来ているのか”という問いに答えられる仕組みが必要だ。」

あなた「問題が発生した時に、影響範囲を即座に特定できるということですね。」

田中VPoE「その通り。上流のデータ変更が下流にどう影響するか、逆に下流の問題が上流のどこに起因するか、双方向に追跡できることが重要だ。」

データリネージとは

データリネージ(Data Lineage)は、データの発生源から最終的な利用先までの流れを追跡する仕組みです。

リネージの種類

種類方向用途
上流リネージ結果 → ソース「この数字はどこから来た?」
下流リネージソース → 結果「このテーブルを変更したら何に影響する?」
カラムレベルリネージカラム単位の追跡「このカラムはどの変換を経た?」

リネージが必要な場面

場面活用方法
障害調査異常データの発生源を特定
影響分析テーブル変更時の影響範囲を事前把握
コンプライアンス個人情報がどこで使われているか追跡
ドキュメントデータフローの自動ドキュメント生成

dbtによるリネージ

dbtはref()とsource()関数によりリネージを自動構築します。

[raw.orders] → [stg_orders] → [int_order_stats] → [mart_customer_summary]
[raw.customers] → [stg_customers] ↗
# dbt docsでリネージグラフを生成
dbt docs generate
dbt docs serve

OpenLineageによる標準化

# OpenLineage イベントの例
lineage_event = {
    "eventType": "COMPLETE",
    "eventTime": "2026-03-06T02:30:00Z",
    "job": {
        "namespace": "netshop-etl",
        "name": "daily_order_transform",
    },
    "inputs": [
        {"namespace": "warehouse", "name": "raw.orders"},
        {"namespace": "warehouse", "name": "raw.customers"},
    ],
    "outputs": [
        {"namespace": "warehouse", "name": "staging.stg_orders"},
    ],
    "run": {
        "runId": "run-2026-03-06-001",
        "facets": {
            "processing_engine": {"name": "dbt", "version": "1.7"},
            "sql": {"query": "SELECT ... FROM raw.orders ..."},
        },
    },
}

まとめ

項目ポイント
リネージの種類上流・下流・カラムレベルの3種類
活用場面障害調査、影響分析、コンプライアンス
dbt連携ref()/source()による自動リネージ構築
標準化OpenLineageで異なるツール間のリネージを統合

チェックリスト

  • データリネージの概念と3つの種類を説明できる
  • リネージが必要な場面を具体的に挙げられる
  • dbtでのリネージ自動構築の仕組みを理解している

次のステップへ

データリネージを理解しました。次は演習で、データ品質・可観測性・リネージを統合したデータ品質管理基盤を構築しましょう。


推定読了時間:15分