Connaissances
Open Data Contract Standard (ODCS)
L'Open Data Contract Standard (ODCS) s'appelait autrefois Data Contract Template, le format que PayPal utilisait pour spécifier ses jeux de données. Il est aujourd'hui gouverné par Bitol, un projet Linux Foundation AI & Data.
Nous siégeons au Technical Steering Committee de Bitol et nous nous engageons à prendre en charge le standard ODCS dans nos produits.
Depuis la version v3.0.0, ODCS est pris en charge par Entropy Data pour définir des Data Contracts.
Détail d'un Data Contract dans Entropy Data
Exemple d'Open Data Contract Standard
Commençons par un exemple de Data Contract au format ODCS v3 :
apiVersion: v3.0.0
kind: DataContract
id: c176de03-8503-4859-bd0f-218cc413d958
name: Shipments
version: 1.0.0
domain: checkout
status: development
description:
purpose: This data can be used for analytical purposes
schema:
- name: my_table
physicalType: table
properties:
- name: shipment_id
description: Unique identifier for each shipment.
logicalType: string
logicalTypeOptions:
format: uuid
physicalType: uuid
primaryKey: true
examples:
- 03c35ea7-9a26-475f-a38a-0dad96f6de10
- name: order_id
description: Identifier for the order associated with the shipment.
logicalType: string
physicalType: text
required: true
unique: false
examples:
- ORD789012
- name: delivery_date
description: "The actual or expected delivery date of the shipment."
logicalType: date
physicalType: timestamp_tz
required: false
examples:
- "2024-09-05T17:00:00Z"
quality:
- type: text
description: Must be set, when status is "delivered".
- name: carrier
description: "The shipping carrier used for the delivery."
logicalType: string
physicalType: text
examples:
- DHL
- UPS
- name: tracking_number
description: Tracking number provided by the carrier.
logicalType: string
logicalTypeOptions:
minLength: 10
maxLength: 36
physicalType: text
classification: restricted
quality:
- rule: duplicateCount
mustBeLessThan: 1
unit: percent
examples:
- 1Z9999W99999999999
- name: status
description: "Current status of the shipment."
logicalType: string
physicalType: text
examples: ["pending", "shipped", "in_transit", "delivered", "returned", "canceled"]
quality:
- rule: rowCount
name: Verify row count range
mustBeBetween: [1000000, 5000000]
team:
- username: john.doe@example.com
role: Data Product Owner
servers:
- server: production
environment: production
type: bigquery
project: acme_shipments_prod
dataset: shipments_v1
roles:
- role: analyst_us_read
access: read
- role: analyst_eu_read
access: read
Si vous connaissiez le format v2, vous remarquerez plusieurs changements majeurs. Le format ODCS v3 est plus souple et couvre une gamme de produits de données bien plus large.
Contenu
Voici les briques de base d'un Data Contract ODCS :
Fondamentaux
Les informations générales sur le Data Contract : identifiant, nom, version, propriétaire et description.
Schema
Le schema décrit la représentation logique du modèle de données et, en option, sa représentation physique. Avec ODCS v3, les structures de données complexes (modèles JSON et AVRO, par exemple) sont également prises en charge.
Qualité des données
Les garanties de qualité des données peuvent désormais être exprimées en texte libre, en SQL, ou via une bibliothèque maintenue d'attributs de qualité prédéfinis et couramment utilisés, comme rowCount, unique, freshness, et bien d'autres.
Tarification
Le prix que les Data Consumers doivent payer pour utiliser le produit de données. Facultatif.
Serveurs
L'emplacement physique du jeu de données : hôte, base de données et schéma réels. La plupart des technologies et des plateformes de données sont prises en charge. Plusieurs serveurs peuvent être déclarés pour différents environnements ou différentes versions du produit de données.
Rôles
La liste des rôles auxquels les Data Consumers peuvent postuler pour accéder aux données. Chaque rôle peut accorder des droits d'accès différents dans une logique de contrôle d'accès basé sur les rôles (RBAC).
SLA
Des Service-Level Agreements (SLA) peuvent être définis pour préciser la disponibilité et les performances attendues du produit de données.
Propriétés personnalisées
Pour des besoins spécifiques ou des exigences propres à un outil, des propriétés supplémentaires peuvent être ajoutées.
Entropy Data
Entropy Data est l'interface qui permet de gérer les Data Contracts et les produits de données d'une organisation. Elle s'appuie sur les Data Contracts pour créer une marketplace de produits de données, avec des fonctions avancées de découverte des données, d'édition versionnée des Data Contracts, de tests de contrat et de Data Governance automatisée.
Une capture d'écran de l'éditeur de Data Contracts ODCS dans Entropy Data
Créez un compte gratuitement, ou explorez la démo interactive d'Entropy Data.