Qu’est-ce qu’un data contract ?
Un contrat de données est un accord formel entre un producteur de données et un consommateur de données qui définit le schéma, les normes de qualité, la propriété, les accords de niveau de service (SLA) relatifs à la livraison et les conditions d'utilisation d'un jeu de données spécifique jeu de données afin que les équipes en aval sachent exactement ce qu'elles recevront et que les producteurs sachent exactement ce qu'ils sont tenus de fournir.
Considérez cela comme un contrat d'API, mais pour les données. Alors qu'un contrat d'API régit la manière dont les systèmes logiciels communiquent entre eux, un contrat de données régit la manière dont les données circulent entre les équipes, les pipelines et les systèmes.
Définition du contrat de données
Un contrat de données est un document lisible par machine — généralement rédigé en YAML selon la norme ODCS (Open Data Contract Standard) — qui précise ce qu’un producteur de données s’engage à fournir et ce qu’un consommateur de données est assuré de recevoir. Il permet de définir des attentes explicites, versionnées et exécutoires avant que des problèmes ne surviennent en production.
Lorsqu'un contrat de données est Embarqué un pipeline, les modifications de schéma déclenchent des alertes plutôt que des échecs silencieux, les non-conformités sont détectées à la source plutôt que découvertes dans un rapport trimestriel, et la responsabilité est documentée plutôt que conservée sous forme de mémoire institutionnelle.
Contenu d'un contrat de données
| Composant | Ce que cela désigne |
|---|---|
| Principes fondamentaux | Référence du contrat, nom, numéro de version et statut |
| Schéma | Structure des tables, noms des colonnes, types de données, clés primaires et sémantique métier au niveau des champs |
| Règles de qualité des données | Contrôles de validation qui doivent être réussis avant que les données ne soient considérées comme livrables |
| Équipe | Qui est le titulaire du contrat et qui en assure la gestion, et comment les consommateurs peuvent-ils le contacter ? |
| SLA | Calendrier de livraison, garantie de fraîcheur et engagements en matière de disponibilité |
| Conditions d'utilisation | Ce que les consommateurs peuvent et ne peuvent pas faire avec ces données |
| Serveurs | Où se trouvent les données et comment y accéder |
Un contrat minimal peut commencer par les principes fondamentaux, le schéma et les règles de qualité. Les accords de niveau de service (SLA), les conditions d'utilisation et les détails relatifs au serveur sont ajoutés au fur et à mesure que le programme se développe.
Pourquoi les contrats de données sont-ils importants ?
En l'absence de contrat de données, une modification du schéma dans un système source perturbe discrètement les rapports en aval. Un champ sur lequel s'appuient les analystes disparaît sans avertissement. Un pipeline de machine learning des zéros pour une caractéristique qu'il utilise comme prédicteur clé, et personne ne s'en rend compte jusqu'à ce que les performances du modèle se dégradent en production.
Les contrats de données permettent d'éviter ces défaillances en rendant l'interface entre producteurs et consommateurs explicite et exécutoire. Ils font passer la fiabilité des données d'un problème réactif — découvert après une défaillance — à un engagement proactif défini avant même que les données ne soient transférées.
Les organisations utilisent les contrats de données pour :
- Éviter les défaillances silencieuses du schéma. La validation des contrats permet de détecter les modifications incompatibles avant qu'elles n'atteignent les consommateurs en aval.
- Assurer la qualité des données dès la source.Les règles de qualitédéfinies dans le contrat s'appliquent automatiquement lors de l'exécution du pipeline.
- Responsabilité relative au document.Chaquecontrat désigne un rédacteur et un responsable chargés de veiller à son contenu.
- Permettre libre-service fiable.Les utilisateurspeuvent découvrir des contrats dans le catalogue de données exploiter ces données sans avoir à demander de garanties à l'équipe chargée de leur production.
- Support gouvernance la conformité. Les contrats fournissent la documentation requise par les audits réglementaires concernant la traçabilité des données, leur qualité et les normes de traitement.
Contrat de données et concepts connexes
Contrat de données vs règle de qualité des données : Une règle de qualité des données correspond à un contrôle de validation unique. Un contrat de données est un accord plus large qui contient des règles de qualité ainsi que le schéma, la propriété, les accords de niveau de service (SLA) et les conditions d'utilisation. Les règles de qualité vous indiquent si les données sont correctes. Un contrat de données vous fournit toutes les informations relatives aux données et précise les engagements pris par le producteur.
Contrat de données vs SLA: Un SLA les engagements de livraison : quand les données sont fournies, leur actualité et leur disponibilité. Un contrat de données inclut le SLA le schéma, les normes de qualité, la propriété et les conditions d'utilisation. Un SLA l'un des éléments constitutifs d'un contrat de données.
Contrat de données vs catalogue de données: Un catalogue de données les ressources de données existantes et leurs métadonnées. Un contrat de données formalise les engagements pris par un producteur concernant une ressource spécifique. Une entrée de catalogue décrit un jeu de données; un contrat de données régit sa mise à disposition. Les contrats de données sont souvent publiés dans le catalogue afin que les utilisateurs puissent les découvrir.
Contrat de données et gouvernance des données : gouvernance des données définit des normes à l'échelle de l'organisation concernant la gestion des données. Un contrat de données applique ces normes à un jeu de données spécifique jeu de données entre un producteur et un consommateur donnés. Les politiques sont d'ordre organisationnel ; les contrats sont jeu de données.
Les contrats de données en pratique
Le problème qu'ils résolvent :uneéquipe d'ingénierie des données renomme une colonne de la table « commandes ». Trois pipelines en aval tombent en panne. Deux tableaux de bord affichent des valeurs nulles. Un pipeline de fonctionnalités d'apprentissage automatique reçoit en silence des zéros depuis 48 heures. Le problème est découvert lorsqu'un vice-président demande pourquoi les chiffres d'affaires ont baissé.
Lorsqu'un contrat de données est en place : Ce même changement de nom déclenche un échec de validation du contrat avant que la modification ne soit diffusée. Le contrat spécifie que le nom de colonne d’origine est obligatoire. Le système identifie tous les consommateurs en aval qui en dépendent. L’équipe coordonne la modification, met à jour la version du contrat et procède au déploiement en suivant une voie de migration. Aucun pipeline n’est interrompu.
FAQ
Un accord formel entre l'équipe qui produit un jeu de données les équipes qui l'utilisent, précisant le contenu des données, les critères de qualité auxquels elles doivent répondre, leur date de livraison et les responsables de leur gestion.
Pas dans la plupart des cas. Les contrats de données sont gouvernance interne destinés à coordonner et à faire respecter les normes entre les équipes. Il ne s'agit pas de contrats juridiques commerciaux. Leur intérêt est d'ordre opérationnel : ils permettent de clarifier les attentes et de garantir une application automatisée.
Le producteur de données rédige la première ébauche en collaboration avec les utilisateurs de données. Le producteur définit ce qu'il s'engage à fournir ; l'utilisateur définit ses besoins. Un gouvernance des données ou gouvernance peut examiner et approuver le contrat avant sa publication.
La norme Open Data Contract Standard (ODCS) est un projet de la Linux Foundation qui définit un format YAML lisible par machine pour les contrats de données. Elle couvre les principes fondamentaux, le schéma, les règles de qualité, la responsabilité des équipes, les accords de niveau de service (SLA), les conditions d'utilisation et la configuration des serveurs. Il s'agit de la norme industrielle émergente en matière de contrats de données pour les piles de données modernes.
En intégrant la validation du schéma et de la qualité dans le pipeline de production des données. Lorsqu’un contrat stipule qu’un champ doit présenter un taux de valeurs nulles inférieur à 2 % et que le pipeline produit des données comportant 15 % de valeurs nulles, la validation échoue et alerte le responsable avant que les données erronées n’atteignent les consommateurs en aval. Les modifications de schéma susceptibles de perturber les pipelines des consommateurs sont détectées avant déploiement.
Dans un data mesh, les équipes métier sont responsables de la gestion et de la publication des produits de données. Un contrat de données est l’interface formelle qui rend un produit de données exploitable : il définit ce que le produit fournit, selon quelle norme et à quelles conditions. Sans contrats de données, data mesh ne sont pas documentés. Grâce à eux, chaque produit dispose d’une interface versionnée et contraignante.