Concept - C’est quoi un Data Contract ?

Concept - C’est quoi un Data Contract ?

Date de sortie
November 27, 2024
Auteur
Bertrand Fabre

📚 Le concept data : c’est quoi un Data Contract ?

Définition rapide

Un Data Contract est un accord formalisé entre des producteurs et les consommateurs de la donnée au sein d’une entreprise.

Liens avec le Data Mesh

On pouvait aussi parler de contrat d’interface. En tout cas, ce contrat devient de plus en plus important avec l’émergence des organisations en Data Mesh ou des entreprises qui fonctionnent déjà de manière décentralisée.

En effet, il peut être compliqué de connaître clairement le responsable d’une anomalie en terme de qualité ou même de schéma.

le but du Data Contract est clairement de fluidifier la collaboration entre les différentes équipes qui sont parties prenantes de la donnée.

Le format

Idéalement, le contrat peut être écrit en YAML, Avro, JSON, ou d’autres.

Ces formats permettront d’automatiser les Data Contract et la documentation qui en découle.

Par contre, évitez les Google Sheets ou les pdf qui freinent le réel potentiel de ce concept.

Les infos nécessaires

Les éléments suivants ne sont pas une liste exhaustive ou minimale mais donne une vision de ce qui pourrait être important de préciser.

1️⃣ Qui sont les producteurs et les consommateurs ?

2️⃣ Fournir un schéma de donnée explicite : colonnes, types, contraintes, etc.

3️⃣ Le niveau de service (SLA) : fréquence de mise à jour, délais entre production et disponibilité, taux d’erreurs acceptable, etc.

4️⃣ Les règles de gouvernance : RGPD (entre autres), droits et accès.

5️⃣ Les règles de changement : processus pour évolution du schéma, les règles de rétrocompatibilité.

Automatisation

Comme je l’évoquais plus haut, le vrai bénéfice d’un Data Contract est ressenti lorsque sa mise en place, son maintien et les vérifications des clauses du contrat sont gérées de manière automatique.

Par exemple, lorsque le producteur change le schéma, les consommateurs sont alertés et il n’est pas possible de mettre en production tant que tous les consommateurs n’ont pas fait évoluer leur schéma ?

De la même manière, il pourrait y avoir une vérification de Data Quality et une alerte se déclenche auprès des parties prenantes lorsqu’une anomalie ou une erreur est détectée.

Merci de votre lecture !