Aller au contenu principal

Data Contracts et produits de données

Qu'est-ce qu'un produit de données, et quel est son lien avec les Data Contracts ?

Par Dr. Simon Harrer · · vidéo de 2:38 · 9 diapositives

En bref

Un produit de données, c'est les données, le code qui les produit et les métadonnées qui les décrivent. Une seule équipe en est responsable. Chaque output port du produit de données a son propre Data Contract, la promesse attachée à ce port.

Regarder sur YouTube
Diapositive 1 de l'épisode 2 d'Entropy Explains, Plus qu'une table : Beaucoup pensent qu'un produit de données n'est qu'une table.

Plus qu'une table

Beaucoup pensent qu'un produit de données n'est qu'une table. Un produit de données comprend aussi le code qui produit les données. Il comprend les métadonnées qui disent qui en est responsable, quels ports il expose et quels Data Contracts s'appliquent. Une seule équipe est responsable de l'ensemble.

Diapositive 2 de l'épisode 2 d'Entropy Explains, Input ports et output ports : Les données entrent dans le produit de données par des input ports.

Input ports et output ports

Les données entrent dans le produit de données par des input ports. Ici, elles viennent de la boutique en ligne et du produit de données payments. Le produit de données expose ses données par des output ports. Chaque output port renvoie à un Data Contract, la promesse attachée précisément à ce port.

Diapositive 3 de l'épisode 2 d'Entropy Explains, Un fichier YAML en ODPS : Le produit de données est lui aussi un fichier YAML.

Un fichier YAML en ODPS

Le produit de données est lui aussi un fichier YAML. Il utilise l'Open Data Product Standard, ODPS. Le fichier liste l'équipe responsable, les input ports et les output ports. Chaque output port pointe vers son Data Contract en ODCS.

Diapositive 4 de l'épisode 2 d'Entropy Explains, Le code et la description dans Git : Le fichier du produit de données vit dans Git, à côté du code du pipeline et des Data Contracts.

Le code et la description dans Git

Le fichier du produit de données vit dans Git, à côté du code du pipeline et des Data Contracts. Le code et la description changent ensemble, dans la même pull request. À chaque changement, le pipeline CI publie le produit de données sur une marketplace de données.

Diapositive 5 de l'épisode 2 d'Entropy Explains, Demander un accès avec une finalité : Dans la marketplace de données, les Data Consumers trouvent les produits de données dont ils ont besoin.

Demander un accès avec une finalité

Dans la marketplace de données, les Data Consumers trouvent les produits de données dont ils ont besoin. Un Data Consumer demande l'accès à un output port et indique une finalité. L'équipe responsable approuve, ou une policy approuve automatiquement. Un access agreement relie alors les deux équipes dans le cadre des conditions d'utilisation.

Diapositive 6 de l'épisode 2 d'Entropy Explains, Un changement cassant, une nouvelle version : Le Data Producer veut renommer amount en total.

Un changement cassant, une nouvelle version

Le Data Producer veut renommer amount en total. C'est un changement cassant. La version 1 reste donc telle quelle, et un nouvel output port en version 2 démarre à côté. La Data Contract CLI signale le changement cassant avant la mise en production.

Diapositive 7 de l'épisode 2 d'Entropy Explains, Les consumers migrent à leur rythme : Les deux output ports tournent en parallèle.

Les consumers migrent à leur rythme

Les deux output ports tournent en parallèle. Chaque Data Consumer passe de la version 1 à la version 2 quand il est prêt. Aucun Data Consumer n'a à changer le même jour que le Data Producer. Le Data Producer voit quels Data Consumers utilisent encore la version 1.

Diapositive 8 de l'épisode 2 d'Entropy Explains, Retirer l'ancienne version : Quand plus aucun Data Consumer n'utilise la version 1, le Data Producer l'arrête.

Retirer l'ancienne version

Quand plus aucun Data Consumer n'utilise la version 1, le Data Producer l'arrête. Seule la version 2 reste. Le produit de données évolue sans interruption pour ses Data Consumers. Chaque Data Consumer a eu le temps de tester la version 2 avant le changement.

Diapositive 9 de l'épisode 2 d'Entropy Explains, Responsabilité et garanties : Chaque produit de données a une équipe responsable.

Responsabilité et garanties

Chaque produit de données a une équipe responsable. Le Data Contract donne les garanties de chaque output port. Un access agreement relie le produit de données à chaque Data Consumer. Ensemble, ils produisent des données que les personnes et les agents IA peuvent trouver, utiliser et considérer comme fiables.