Data Lineage

Datenherkunft, Transformationen und Auswirkungen nachvollziehbar verfolgen

Die Dokumentation des Datenflusses von der Quelle bis zum Endprodukt – woher kommen Daten, wie werden sie transformiert, wo werden sie verwendet.

Fortgeschritten2 Min Lesezeit

Erklärung starten

Auf einen Blick

3 Punkte

  1. Dokumentiert Datenherkunft (woher?)
  2. Trackt Transformationen (was wurde gemacht?)
  3. Zeigt Abhängigkeiten (wer nutzt die Daten?)

Sofortantwort

Data Lineage einfach erklärt

Nachverfolgung von Datenherkunft, Transformationen und Verwendung.

Kurz gesagt
Dokumentiert Datenherkunft (woher?)
Typischer Einsatz
Debugging, Sicherheit, Impact Analysis
Wichtig zu wissen
Zeigt Abhängigkeiten (wer nutzt die Daten?)

Data Lineage im Überblick

Data Lineage dokumentiert den Weg deiner Daten: Woher kommen sie, was passiert mit ihnen, und wo landen sie am Ende. Wie ein GPS-Tracker für Daten.

Beispiel:

Quelle                    Transformation              Ziel
───────────────────────────────────────────────────────────
CRM-System ──┐
             ├──→ ETL-Job ──→ Data Warehouse ──→ ML-Modell
Web-Logs ────┘      │              │
                    │              └──→ Dashboard

                    └──→ Aggregation ──→ Report

Was wird getrackt?

AspektFrageBeispiel
HerkunftWoher?CRM-System, API, CSV
TransformationWas wurde gemacht?JOIN, Filter, Aggregation
AbhängigkeitenWer nutzt es?Dashboard, ML-Modell
ZeitstempelWann?Letzte Aktualisierung
OwnerWer ist verantwortlich?Team Data Engineering

Technisch betrachtet

dbt Lineage

-- models/staging/stg_orders.sql
SELECT
    id,
    customer_id,
    order_date,
    total
FROM {{ source('raw', 'orders') }}
WHERE order_date >= '{{ start_date }}'

-- models/marts/customer_metrics.sql
SELECT
    customer_id,
    COUNT(*) as order_count,
    SUM(total) as lifetime_value
FROM {{ ref('stg_orders') }}
GROUP BY customer_id

Transformations-Tools können daraus Lineage ableiten:

raw.orders → stg_orders → customer_metrics

OpenLineage Event

{
  "eventType": "COMPLETE",
  "eventTime": "<event-timestamp>",
  "run": {
    "runId": "abc-123"
  },
  "job": {
    "namespace": "etl",
    "name": "transform_orders"
  },
  "inputs": [
    {
      "namespace": "postgres",
      "name": "raw.orders"
    }
  ],
  "outputs": [
    {
      "namespace": "warehouse",
      "name": "staging.orders"
    }
  ]
}

Airflow mit OpenLineage

from airflow import DAG
from airflow.providers.openlineage.plugins.adapter import OpenLineageAdapter

with DAG("etl_pipeline") as dag:
    
    extract = PostgresOperator(
        task_id="extract_orders",
        sql="SELECT * FROM orders"
    )
    
    transform = PythonOperator(
        task_id="transform",
        python_callable=transform_data
    )
    
    load = BigQueryOperator(
        task_id="load_to_bq",
        destination_table="warehouse.orders"
    )
    
    extract >> transform >> load

# Lineage-Metadaten können erfassen:
# source.orders → transform → warehouse.orders

Impact Analysis

def get_downstream_dependencies(table_name):
    """Was bricht, wenn ich diese Tabelle ändere?"""
    lineage = get_lineage_graph()
    
    downstream = []
    queue = [table_name]
    
    while queue:
        current = queue.pop(0)
        for dependent in lineage.get_dependents(current):
            downstream.append(dependent)
            queue.append(dependent.name)
    
    return downstream

# Beispiel
deps = get_downstream_dependencies("raw.orders")
# → abhängige Tabellen, Dashboards oder Modelle

Lineage für ML

Training Data Lineage:
──────────────────────
raw.customers ──┐
                ├──→ feature_engineering ──→ training_data ──→ model_version
raw.transactions┘         │
                          └──→ feature_store
                          
Wenn Quelldaten sich ändern:
→ Feature Engineering prüfen
→ Training Data neu validieren
→ Modellqualität und Retraining-Bedarf bewerten

Schritt für Schritt

Den Weg von Daten sichtbar machen

Lineage verknüpft Quellen, Verarbeitungsschritte und Verbraucher. Dadurch können Teams Fehler, Änderungen und Datenverwendung gezielt verstehen.

  1. Quellen erfassen

    Ursprung

    Datenbestände werden mit System, Owner, Zeit und relevanten Eigenschaften als Startpunkte dokumentiert.

    Quelle → Dataset
  2. Transformationen protokollieren

    Verarbeitung

    Pipelines, Abfragen und Modelle melden, wie Daten gefiltert, verbunden, aggregiert oder angereichert wurden.

    Input → Job → Output
  3. Abhängigkeiten verknüpfen

    Graph

    Katalog und Lineage zeigen, welche Berichte, Features oder Modelle von einem Datenbestand abhängen.

    Dataset → Verbraucher
  4. Änderungen und Fehler analysieren

    Impact

    Bei einem Problem wird der Pfad rückwärts zur Ursache oder vorwärts zu betroffenen Produkten verfolgt.

    Änderung → Folgen + Maßnahmen

Konkretes Beispiel

Beispiel: Ein fehlerhafter Umsatzwert

Ein Dashboard zeigt plötzlich ungewöhnlich niedrige Umsätze.

Manuelle Spurensuche

Teams durchsuchen Tabellen und Skripte, ohne zu wissen, welche Transformation zuletzt geändert wurde.

Sichtbare Lineage

Die Datenlinie zeigt eine geänderte Filterregel in einer Pipeline und alle betroffenen Berichte. Das Team kann Ursache und Auswirkung gezielt korrigieren.

Lineage beschleunigt Fehlerbehebung und Veränderung, weil Datenabhängigkeiten nicht nur in einzelnen Köpfen oder Dokumenten stehen.

Einordnung

Vorteile und Grenzen

Das spricht dafür

  • Macht Herkunft und Transformationen von Daten nachvollziehbar.
  • Unterstützt schnelle Ursachen- und Auswirkungsanalysen.
  • Erleichtert Auditierbarkeit, Reproduzierbarkeit und sichere Änderungen.
  • Verbindet technische Pipelines mit Katalog und Ownership.

Das solltest du beachten

  • Automatische Erfassung deckt nicht immer manuelle Schritte ab.
  • Unvollständige Metadaten können falsche Sicherheit erzeugen.
  • Komplexe Datenlandschaften brauchen klare Standards und Pflege.
  • Lineage erklärt den Datenweg, nicht automatisch die fachliche Bedeutung.
Vertiefung · für Fortgeschrittene

Ein Datenfluss als nachvollziehbarer Graph

Knoten stehen für Daten oder Jobs, Kanten für nachweisbare Abhängigkeiten.

Wissenskarte

Flüsse verfolgen

Der Graph wird besonders wertvoll, wenn er mit Zeit, Versionen, Qualität und Verantwortlichen verbunden ist. Data Lineage gliedert sich in: Quelle, Ingestion, Transformation, Warehouse, Dashboard, ML-Modell.

01Einsatzbereiche

Wann ist Data Lineage sinnvoll?

Geeignet für

  • DebuggingFehlerhafte Daten zur Quelle zurückverfolgen
  • SicherheitNachvollziehen, woher sensible oder personenbezogene Daten kommen
  • Impact AnalysisWas bricht, wenn ich diese Tabelle ändere?
  • Data QualityQualitätsprobleme zur Ursache zurückverfolgen

↑ Inhalt

02Werkzeuge

Womit Data Lineage umgesetzt wird

↑ Inhalt

Merksatz

Data Lineage ist wie ein Stammbaum für Daten

Du kannst jeden Datenpunkt zu seinen Ursprüngen zurückverfolgen und sehen, welche Transformationen er durchlaufen hat – wie bei der Ahnenforschung.

  1. Dokumentiert Datenherkunft (woher?)
  2. Trackt Transformationen (was wurde gemacht?)
  3. Zeigt Abhängigkeiten (wer nutzt die Daten?)

04Redaktion

Herkunft und Stand

Redaktion und Aktualität

Ebenex RedaktionRedaktion

Veröffentlicht
Aktualisiert

Dieses Feld entwickelt sich schnell. Oben stehen Veröffentlichung und letzte Änderung; ein Prüfdatum kommt dazu, sobald die Erklärung nach ihrer letzten Änderung geprüft wurde.

↑ Inhalt

05FAQ

Häufige Fragen zu Data Lineage

Was ist der Unterschied zwischen Data Lineage und Data Catalog?

Data Catalog: Was gibt es? (Inventar). Data Lineage: Woher kommt es und wohin geht es? (Fluss). Beide ergänzen sich für Data Governance.

Wie erfasse ich Lineage automatisch?

Viele Pipeline- und Transformations-Tools können Lineage aus Code, Jobs oder Metadaten ableiten. Automatisierung ist meist robuster als rein manuelle Dokumentation, muss aber geprüft und ergänzt werden.

Brauche ich Data Lineage für ML?

Ja, besonders für Reproduzierbarkeit, Debugging, Governance und Compliance. Wichtig ist zu wissen, welche Daten ein Modell genutzt hat, woher sie kamen und wie sie transformiert wurden.

↑ Inhalt

06Weiterlernen

Was möchtest du als Nächstes verstehen?

  • Grundlage nachholen

    Data Pipeline

    Eine automatisierte Folge von Schritten zur Datenverarbeitung.

  • Technisch vertiefen

    ETL / ELT

    ETL transformiert Daten vor dem Laden, ELT danach im Zielsystem.

↑ Inhalt