Effizientes Datenmanagement durch Data Contracts

Effizientes Datenmanagement durch Data Contracts
Elemente von Data Contracts
In unseren regelmäßig stattfindenden Round Table Talks kommen die Experten aus dem TalentFormation Network zusammen, um sich zu Tech Themen und Trends auszutauschen. Beim letzte Round Table von Team Data drehte sich alles um “Data Contracts”. Jochen Christ und Dr. Simon Harrer von unserem Partner INNOQ beschäftigen sich intensiv mit dem Konzept der Data Contracts. Ihre Mission ist es, dieses Instrument zu einem Standard in der Zusammenarbeit mit Daten zu machen und haben es dem Team Data vom TalentFormation Network vorgestellt.

Mit rasant wachsenden Datenmenge und -quellen sowie der steigenden Bedeutung von Daten für die Entwicklung und Verwendung von KI Applikationen wird eine effiziente und klare Datenverwaltung immer wichtiger. Data Contracts sind ein Konzept, das die Art und Weise verändert, wie Daten in dezentralen Umgebungen verwaltet und ausgetauscht werden.

Was sind Data Contracts?

Ein Data Contract kann als API für Daten verstanden werden. Es handelt sich dabei um ein formales Dokument, das die Struktur, das Format, die Semantik, die Qualitätsanforderungen und die Nutzungsbedingungen für Daten definiert, die zwischen einem Daten-Anbieter und seinen Nutzern ausgetauscht werden. Anders als traditionelle APIs sind Data Contracts für Daten als Schnittstelle konzipiert und können in verschiedenen Datenumgebungen implementiert werden, beispielsweise in einem Data Mesh mit Datenprodukten oder älterer Data Warehouses.

Die wichtigsten Merkmale von Data Contracts:

  1. Struktur und Format: Definiert das Schema, die Datentypen und zulässigen Werte.
  2. Semantik: Erklärt die Bedeutung und den Kontext der Daten.
  3. Qualität: Setzt Erwartungen an die Genauigkeit, Vollständigkeit und Aktualität der Daten.
  4. Nutzungsbedingungen: Spezifiziert, wie die Daten genutzt werden dürfen, einschließlich Zugriffskontrollen und Compliance-Anforderungen.

Warum sind Data Contracts so relevant?

Dezentrale Datenarchitekturen und Data Mesh-Konzepte werden in der Software-Entwicklung immer populärer.  Es gibt sehr viele Optionen, insbesondere komplexere Systeme zu strukturieren und Schnittstellen zwischen Teilsystemen - wie Self-Containend Systems und Microservices - klar zu definieren. Data Contracts sind ein äußerst hilfreiches Kommunikationsmittel, das sicherstellt, dass Datenanbieter und Datennutzer ein gemeinsames Verständnis über die Datenanforderungen haben, wodurch Missverständnisse reduziert und die Zusammenarbeit erleichtert wird.

Die Vorteile von Data Contracts:

  • Verbesserte Kommunikation: Data Contracts machen die semantischen und qualitativen Erwartungen explizit und erleichtern die Zusammenarbeit zwischen Teams.
  • Standardisierung: Sie bieten einen konsistenten Rahmen für den Datenaustausch, was in heterogenen Datenökosystemen entscheidend ist.
  • Automatisierung: Data Contracts unterstützen automatisierte Prozesse wie Codegenerierung, Schema-Validierung und Qualitätsprüfungen, was die Effizienz und Genauigkeit erhöht.
  • Governance: Sie spielen eine zentrale Rolle im Datenmanagement, da sie eine bessere Kontrolle und Überwachung der Datennutzung ermöglichen.

Wie werden Data Contracts aufgesetzt?

Um Data Contracts einzuführen, eignen sich Workshops, bei denen die Parteien die Data Contracts definieren und verfeinern, damit sie den Bedürfnissen aller Beteiligten gerecht werden. Ein hilfreiches Tool dabei ist der Data Contract Editor, um beim Schreiben direkt einen validen Data Contract zu erzeugen, inklusive HTML Live-Preview. 

Daneben ist die Data Contract CLI zentral, ein Open-Source-Werkzeug, das bei der Entwicklung, Validierung und Durchsetzung der Data Contracts unterstützt. 

Dieser kollaborative Ansatz stellt sicher, dass sowohl technische als auch geschäftliche Perspektiven berücksichtigt werden, was zu robusten und praktischen Data Contracts führt.

YAML-basierte Spezifikation:

Die Spezifikation der Data Contracts wird in einem YAML-Format ausgedrückt, wodurch sie plattformneutral ist. Egal, ob Du AWS S3, Google BigQuery, Azure, Databricks oder Snowflake verwendest, diese offene Initiative folgt Konventionen ähnlich zu OpenAPI und AsyncAPI und sorgt so für eine breite Anwendbarkeit und einfache Integration.

dataContractSpecification: 0.9.3
id: urn:datacontract:checkout:orders-latest
info:
 title: Orders Latest
 version: 1.0.0
 description: Successful customer orders in the webshop.
 owner: Checkout Team
 contact:
   name: John Doe (Data Product Owner)
   url: https://teams.microsoft.com/l/channel/example/checkout
servers:
 production:
   type: s3
*   location: s3://datacontract-example-orders-latest/data/{model}/.json
   format: json
   delimiter: newline
terms:
 usage: Data can be used for reports, analytics and machine learning use cases.
 limitations: Data may not be used to identify individual customers.
 billing: 5000 USD per month
 noticePeriod: P3M
models:
 orders:
   description: One record per order. Includes cancelled and deleted orders.
   type: table
   fields:
     orderid:
       title: Order ID
       type: text
       format: uuid
       description: An internal ID that identifies an order in the online shop.
       example: 243c25e5-a081-43a9-aeab-6d5d5b6cb5e2
       pii: true
       classification: restricted
       required: true
       unique: true
       primary: true
     ordertimestamp:
       description: The business timestamp in UTC when the order was successfully registered in the source system and the payment was successful.
       type: timestamp
       required: true
       example: "2024-09-09T08:30:00Z"
     ordertotal:
       description: Total amount the smallest monetary unit (e.g., cents).
       type: long
       required: true
       example: "9999"
     customerid:
       description: Unique identifier for the customer.
       type: text
       minLength: 10
       maxLength: 20
     customeremailaddress:
       description: The email address, as entered by the customer. The email address was not verified.
       type: text
       format: email
       required: true
       pii: true
       classification: sensitive
servicelevels:
 availability:
   description: The server is available during support hours
   percentage: 99.9%
 retention:
   description: Data is retained for one year
   period: P1Y
   unlimited: false
quality:
 type: SodaCL
 specification:
   checks for orders:
     - rowcount >= 5
     - duplicatecount(orderid) = 0*

Beispiel eines Data Contracts als YAML

Best Practices

Automatisierung und Tools:

Der Einsatz von Tools wie dem Data Mesh Manager zur Automatisierung des Data Contract Managements vereinfachen nicht nur die Erstellung und Durchsetzung von Data Contracts, sondern unterstützen auch die laufende Überwachung und Validierung, wodurch die Datenqualität und Compliance sichergestellt werden. Sie unterstützen die Integration von Data Contracts in die übergreifende Datenmanagement-Strategie, mit Fokus auf die Verbesserung der Datenqualität und die Förderung der internen Zusammenarbeit.

Governance und Qualität an der Datenquelle:

Effektive Governance-Strukturen müssen geschaffen werden, um die Erstellung und Pflege von Data Contracts zu überwachen. Überdies kann die Verantwortung für die Datenqualität näher an die Datenquelle verlagert werden, was die Gesamtqualität der Daten erheblich verbessert.

Klein anfangen:

Beginne mit kleinen, überschaubaren Schritten, wie der Einführung von Data Contracts zwischen wenigen Teams. Dieser Ansatz kann den damit verbunden Change Prozess vorantreiben und die breitere Akzeptanz effektiver Datenpraktiken im gesamten Unternehmen fördern.

Fazit

Die Förderung einer datengesteuerten Entscheidungskultur und die Betonung der Bedeutung von Daten werden immer wichtiger für den Erfolg von Unternehmen. 

Data Contracts stellen einen Paradigmenwechsel in der Datenverwaltung dar. Durch die Bereitstellung eines klaren, standardisierten Rahmens verbessern sie die Kommunikation, erhöhen die Datenqualität und ermöglichen Automatisierung. Da sich die Datenlandschaften weiterentwickeln, wird die Einführung von Data Contracts für Unternehmen, die eine effiziente und effektive Datenverwaltung anstreben, von entscheidender Bedeutung sein.

Diese Praktiken fördern nicht nur eine bessere Zusammenarbeit und Governance, sondern schaffen auch die Grundlage für eine skalierbare und robuste Dateninfrastruktur, die letztlich den langfristigen Erfolg datengetriebener Initiativen unterstützt.

Der Data Mesh Manager, ein SaaS Produkt von Dr. Simon Harrer und Jochen Christ, ist der Enterprise Data Marketplace für Unternehmen, die die Bedeutung von Daten für ihren Erfolg erkannt haben.

Autoren

Dr. Simon Harrer ist Berater bei INNOQ. Er ist Softwareentwickler im Herzen, der sich mittlerweile zur dunklen Seite, nämlich der Welt der Daten, zugewandt hat. Er hat datamesh-architecture.com mit ins Leben gerufen und das Data Mesh Buch von Zhamak Dehghani ins Deutsche übersetzt. Neben der tagtäglichen Data Mesh Beratung arbeitet er an dem Data Mesh Manager – ein SaaS Produkt, das Data Mesh Initiativen auf die Überholspur setzt.

Jochen Christ ist Senior Consultant bei INNOQ. Er ist ein erfahrener Software-Entwickler und Spezialist für Self-Contained Systems und Data Mesh. Als Technical Leader befähigt er Teams, nachhaltig erfolgreich Software zu liefern. Jochen ist Maintainer von datacontract.com, und Autor von datamesh-architecture.com.

Du bist ein Tech-Dienstleister oder ein erfahrener Freiberufler und möchtest mit anderen hochkarätigen Tech-Teams an wirkungsvollen Projekten arbeiten? Hier erfährst du mehr.

Read more

TalentFormation tritt dem Mittelstand, BVMW e.V. bei

TalentFormation tritt dem Mittelstand, BVMW e.V. bei

Hamburg, 12.06.2024 TalentFormation, der Company Builder und Rebuilder für den deutschen Mittelstand, ist dem Bundesverband mittelständische Wirtschaft (BVMW e.V.) beigetreten. Diese Partnerschaft unterstreicht das kontinuierliche Engagement von TalentFormation für die Unterstützung des Mittelstands in Deutschland. Als Experte in der digitalen Transformation mittelständischer Unternehmen und beim Aufbau digitaler

By TalentFormation