BLEIBEN SIE INFORMIERT

Melden Sie sich für unsere Newsletter an und erhalten Sie exklusive Updates zu IT-Trends und Neuigkeiten der ORIDX AG.

BLEIBEN SIE INFORMIERT

Melden Sie sich für unsere Newsletter an und erhalten Sie exklusive Updates zu IT-Trends und Neuigkeiten der ORIDX AG.

8 Minuten Lesezeit (1691 Worte)

Data Governance #12 – The Contract – Du kannst niemandem vertrauen. Wie Data Contracts Vertrauen schaffen und den Wert Ihrer Daten steigern.

Zur Klärung der zentralen Begriffe haben wir ein Glossar zur Beitragsreihe Data Governance für Sie eingerichtet. 


Ein wichtiges Ziel von Data Governance ist die Datenqualität. Qualität schafft Vertrauen und genau darum soll es heute gehen. Was kann man konkret tun, um die Qualität der Daten und das Vertrauen zwischen Datenproduzenten und Datenkonsumenten zu steigern? Data Contracts können hier eine wichtige Rolle spielen.

In den vorherigen Episoden dieser Reihe haben wir bereits die Grundlagen von Data Governance beleuchtet, von der Bedeutung von Data Domains für die organisatorische Struktur über die Transparenz durch einen Data Catalog bis hin zur kritischen Rolle der Datenqualität und der Nachvollziehbarkeit mittels Data Lineage. Heute ergänzen wir diesen Pfeiler ebendieses entscheidende Element, das all diese Aspekte zusammenführt: den Data Contract.

Was sind Data Contracts?

Ein Data Contract ist im Wesentlichen eine formelle Vereinbarung zwischen einem Datenproduzenten und seinen Konsumenten:innen. Stellt euch vor, ihr liefert bei der Blockbuster Bytes AG Daten aus der rental-Tabelle (Mietaktivitäten) an das Marketing-Team, das daraus Data Products wie die „Top-Performer-Filme“ generiert. Ohne eine klare Vereinbarung können hier schnell Missverständnisse über die Bedeutung, Qualität oder Aktualität der Daten entstehen.

Ein solcher Vertrag beschreibt eine strukturierte, wiederverwendbare und dokumentierte Bereitstellung von Daten oder Datenservices. Er behandelt Daten wie ein echtes Produkt und umfasst typischerweise mehrere wichtige Sektionen, wie z. B.:

  • Grundlagen: Wer sind die beteiligten Parteien? Was ist der Zweck des Datenprodukts?
  • Schema: Das genaue Format und die Struktur der Daten (z. B. Spaltennamen, Objekt- und Datentypen).
  • Datenqualität: Klare Standards und Regeln für die Qualität der Daten, inklusive Metriken und Schwellenwerte.
  • Support & Kommunikationskanäle: Wie können Probleme gemeldet oder Fragen beantwortet werden?
  • Team & Rollen: Wer ist verantwortlich (z. B. Data Domain Owner oder Data Steward)?
  • Service-Level Agreement (SLA): Erwartungen an Verfügbarkeit und Aktualität der Daten.
  • Infrastrukturen & Server: Wo werden die Daten gehostet?
  • Preise (falls zutreffend) und benutzerdefinierte Eigenschaften.

Das „Open Data Contract Standard (ODCS)“ ist ein Standard, der eine solche Struktur für Data Contracts beschreibt und sogar von Unternehmen wie PayPal zur Implementierung von Data Mesh verwendet wird. 

Warum sind Data Contracts hilfreich für die Blockbuster Bytes AG?

Für die Blockbuster Bytes AG bieten Data Contracts eine Reihe von entscheidenden Vorteilen, die über die reine technische Bereitstellung von Daten hinausgehen: 

1. Schaffung von Klarheit und Transparenz:

Ein Data Contract beseitigt Unklarheiten darüber, was die Daten bedeuten und wie sie interpretiert werden müssen (!), woher sie kommen und wie sie genutzt werden dürfen. Für unser KI-Team, das Modelle zur Vorhersage von Filmverkäufen trainieren möchte, ist es entscheidend, genau zu wissen, welche Daten in der MySQL sakila-Datenbank für ihre Analysen relevant und verlässlich sind.

Der Vertrag sorgt für eine einheitliche Nomenklatur und klare Definitionen, was die Auffindbarkeit von Daten im Data Catalog erheblich erleichtert. 

2. Sicherung der Datenqualität:

Im Vertrag werden explizite Regeln und Metriken für die Datenqualität festgelegt. Dies stellt sicher, dass die Daten die geforderten Eigenschaften wie Genauigkeit, Vollständigkeit, Konsistenz und Aktualität erfüllen.

Denken Sie an unser Beispiel aus Episode #04, wo wir Regeln definiert haben, um die Anzahl inaktiver Kunden unter einem Schwellenwert zu halten. Solche Qualitätsregeln können Teil des Data Contracts sein und gewährleisten, dass das Marketing-Team stets mit „guten Daten“ arbeitet, um Gutscheine an die richtigen Adressen zu versenden. Genauso können Regeln definiert werden, welche die Aktualität oder Quantität der Daten betrachten.

3. Aufbau von Vertrauen und Zuverlässigkeit:

Wenn Datenkonsument:innen wissen, dass die Daten eine vertraglich zugesicherte Qualität und Herkunft haben, steigt das Vertrauen in diese Daten. Dieses Vertrauen ist das Fundament für fundierte Geschäftsentscheidungen – sei es bei der Planung des Filmportfolios oder der Optimierung der Filialbestände. Darüber hinaus sind die Verantwortlichkeiten klar geregelt. Sollte es einmal Qualitätsprobleme geben, so ist den Konsument:innen über den Vertrag transparent gemacht, an wen sie sich wenden können.

Data Contracts unterstützen somit massiv die Data Culture, in der Daten als wertvolle Ressource anerkannt und gepflegt werden. 

4. Effizienz und Skalierbarkeit:

Durch die klaren Vereinbarungen können Data Products wie unser „Top-Performer-Filme"-Bericht schneller und effizienter entwickelt und bereitgestellt werden. Die Notwendigkeit manueller Klärungsschleifen wird reduziert.

Die Integration von Data Contracts in Tools wie OpenMetadata ermöglicht eine automatisierte Pflege und Überwachung der Metadaten und der Datenqualität. Bei der Weiterentwicklung von Data Produkten kann beim Deployment automatisch auf den Contract geprüft werden. Nehmen wir einmal an, dass ein:e Entwickler:in eine Daten-Spalte in einem unserer Produkte entfernen möchte, die per Vertrag zugesichert ist, so kann diese bereits beim „Deployen" festgestellt und die Produktivsetzung der neuen, vertragsverletzenden Version des Produktes unterbunden werden. 

5. Klare Rollen und Verantwortlichkeiten:

Data Contracts definieren, wer für welche Aspekte der Daten verantwortlich ist – vom Data Domain Owner bis zum Data Steward. Dies fördert die bereichsübergreifende Zusammenarbeit und stellt sicher, dass jede:r weiß, an wen sie/er sich bei Datenfragen wenden kann.

Im Kontext des Identity and Access Management (IAM) können Data Contracts auch definieren, welche Zugriffsrechte für bestimmte Datenprodukte oder -elemente gelten.

6. Verbesserte Compliance und Sicherheit:

Data Contracts helfen, regulatorische Anforderungen (z. B. DSGVO) zu erfüllen, indem sie festhalten, welche Daten als sensibel oder persönlich identifizierbar (PII) klassifiziert sind, wie lange sie aufbewahrt werden müssen und welche Löschrichtlinien gelten.

Sie dienen als Nachweis für die Einhaltung von Sicherheitsrichtlinien und unterstützen die Rückverfolgbarkeit von Daten (Data Lineage) im Falle eines Problems. 

Data Contracts in der Praxis der Blockbuster Bytes AG

Nehmen wir an, die Blockbuster Bytes AG möchte einen Data Contract für ihre Kundendaten (customer-Tabelle) einführen. Dieser Vertrag würde festlegen, dass E-Mail-Adressen als hochsensible PII-Daten klassifiziert sind, die eine strikte Formatvalidierung und Domain-Verifizierung erfordern. Er würde die Aufbewahrungsfrist (z. B. „Aufbewahrung für die Dauer der Geschäftsbeziehung plus 5 Jahre für die Einhaltung gesetzlicher Vorschriften“) und Löschrichtlinien definieren. Zudem würde er festhalten, dass der Data Steward Max Mustermann für die tägliche Pflege dieser Daten verantwortlich ist.

Ein weiteres Beispiel wäre ein Data Contract für unser „Top-Performer-Filme“ Data Product. Hier würde der Vertrag definieren, dass die Daten wöchentlich aktualisiert werden, aus den Tabellen film, inventory und rental stammen und dass Qualitätskontrollen für fehlende Werte und Duplikate durchgeführt werden. Wenn dieses Data Product über z. B. Apache NiFi an das Marketing-Team bereitgestellt wird, könnte der Vertrag auch Details zur Integration und den verwendeten Tools enthalten.

Beispiel Data Contract

# Data contract example 
domain: analytics 
dataProduct: top_performer_movies 
version: 1.0.0 
status: active 
id: 9f3c2b1e-4a2f-4c9e-9a7f-8e2c1f9d7a01 
description: 
  purpose: Aggregated data product identifying the most rented movies. 
  limitations: Only rental data included – no revenue or rating information. 
  usage: Used for marketing analysis, inventory decisions, and BI dashboards. 
  authoritativeDefinitions: 
    - type: businessDefinition 
      url: https://blockbusterbytes.com/analytics/top_movies.pdf 
tenant: sakilaDB 
kind: DataContract 
apiVersion: v3.0.2 
servers: 
  - server: sakiladb 
    type: mysql 
    host: sakiladb.ordix.de 
    port: 3306 
    database: sakila 
schema: 
  - name: top_performer_movies 
    physicalName: vw_top_performer_movies 
    physicalType: view 
    businessName: Top Performer Movies 
    description: List of movies with the highest number of rentals in a given period. 
    tags: [ 'movies', 'rentals', 'top-performer' ] 
    dataGranularityDescription: Aggregated by film ID and time period 
    properties: 
      - name: film_id 
        physicalName: film_id 
        businessName: Film ID 
        logicalType: integer 
        physicalType: int 
        required: true 
        description: Unique identifier of the movie 
        primaryKey: true 
        classification: internal 
        tags: [ 'id', 'film#', 'movie#' ] 
      - name: title 
        physicalName: title 
        businessName: Movie Title 
        logicalType: string 
        physicalType: varchar(255) 
        required: true 
        description: Title of the movie 
        classification: public 
      - name: rental_count 
        physicalName: rental_count 
        businessName: Rental Count 
        logicalType: integer 
        physicalType: int 
        required: true 
        description: Total number of rentals 
        classification: internal 
        quality: 
          - rule: nullCheck 
            description: Must not be null 
            dimension: completeness 
            type: library 
            severity: error 
            businessImpact: analytics 
            schedule: 0 6 * * * 
            scheduler: cron 
      - name: last_rental_date 
        physicalName: last_rental_date 
        businessName: Last Rental Date 
        logicalType: date 
        physicalType: date 
        required: false 
        description: Date of the most recent rental 
        classification: internal 
        quality: 
          - rule: maxDate 
            description: Must not be in the future 
            dimension: validity 
            type: library 
            severity: warning 
            businessImpact: analytics 
            schedule: 0 6 * * * 
            scheduler: cron 
    quality: 
      - rule: countCheck 
        type: library 
        description: Ensure row count is within expected range (min. 10 movies) 
        dimension: completeness 
        method: reconciliation 
        severity: warning 
        businessImpact: operational 
        schedule: 0 6 * * * 
        scheduler: cron 
    customProperties: 
      - property: business-key 
        value: 
          - film_id 
price: 
  priceAmount: 1.00 
  priceCurrency: EUR 
  priceUnit: access 
team: 
  - username: m.jung 
    role: Owner 
    description: Responsible for data product and quality 
    dateIn: "2025-06-01" 
  - username: a.schmidt 
    role: Data Engineer 
    dateIn: "2025-06-15" 
roles: 
  - role: bi_analyst 
    access: read 
    firstLevelApprovers: BI Management 
  - role: data_engineer 
    access: read_write 
    firstLevelApprovers: Department Lead 
slaDefaultElement: top_performer_movies.last_rental_date 
slaProperties: 
  - property: latency 
    value: 1 
    unit: d 
  - property: generalAvailability 
    value: "2025-06-01T08:00:00+02:00" 
  - property: retention 
    value: 2 
    unit: y 
  - property: frequency 
    value: 1 
    unit: d 
  - property: timeOfAvailability 
    value: 08:00-18:00 
    driver: analytics 
support: 
  - channel: '#data-support' 
    tool: slack 
    url: http://blockbusterbytes.com/contracts 
  - channel: datacontracts@blockbusterbytes.com 
    tool: email 
    url: mailto:contracts@blockbusterbytes.com 
tags: 
  - movies 
  - analytics 
  - governance 
customProperties: 
  - property: refRulesetName 
    value: sakila.ruleset.top_performer 
  - property: lineage 
    value: rental → inventory → film → aggregation 
  - property: dataSensitivity 
    value: internal 
contractCreatedTs: "2025-07-03T13:45:00+02:00"  

Dies ist ein konstruiertes, erdachtes (nicht validiertes) Beispiel, um die Struktur und die möglichen Inhalte exemplarisch zu verdeutlichen. So wird hier z. B. zum Aufzeigen der Möglichkeiten auch ein "Pricing" definiert. Jeder Zugriff auf das Datenprodukt kostet in diesem „Setting“ 1,- €. Einen genauen Überblick über die möglichen Elemente (auch in Abhängigkeit des Quellsystems, wie z. B. einer Datenbank oder eines Cloud-Services) können dem ODCS entnommen werden: https://bitol-io.github.io/open-data-contract-standard/latest/

Ein Data Catalog wie OpenMetadata kann perspektivisch ggfs. als zentrale Plattform dienen, um diese Data Contracts zu verwalten und sichtbar zu machen. Gerade in der letzten Version 1.9.0 wurden Data Contracts als neues Feature (mit noch eingeschränkter Funktionalität) aufgenommen. 

Fazit

Data Contracts sind ein entscheidender Schritt auf dem Weg zu einer reifen Data Governance. Sie übersetzen die abstrakte Welt der Daten in konkrete Vereinbarungen und schaffen eine solide Grundlage für datengetriebene Entscheidungen, schaffen Vertrauen und sorgen für Qualität. Für Unternehmen wie die Blockbuster Bytes AG bedeuten sie mehr als nur Regeln; sie sind ein strategischer Vorteil, der das Vertrauen in Daten stärkt, die Zusammenarbeit fördert und letztlich den Wert der Daten für Innovation und Wachstum freisetzt.

P.S. The Contract - Du kannst niemandem vertrauen (2006); https://www.imdb.com/de/title/tt0445946/ 

Seminarempfehlungen

Principal Consultant bei ORDIX

Ähnliche Beiträge

 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Donnerstag, 21. August 2025

Sicherheitscode (Captcha)