Aller au contenu principal

Fondamentaux

Open Data Contract Standard (ODCS)

Portrait de Jochen Christ

Jochen Christ

Co-Founder & CTO, Entropy Data ·

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

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.

Capture d'écran de l'éditeur de Data Contracts ODCS dans Entropy Data

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.

À propos de l'auteur

Portrait de Jochen Christ

Co-Founder & CTO, Entropy Data

Jochen construit des outils pour faire travailler ensemble les données, les gens et l'IA. Il est l'auteur du site Data Mesh Architecture, mainteneur de la Data Contract CLI et membre du TSC du projet Bitol de la Linux Foundation, qui héberge l'Open Data Contract Standard.

Échanger avec Jochen

Questions fréquentes

Qu'est-ce que l'Open Data Contract Standard (ODCS) ?
ODCS est une spécification YAML ouverte pour les Data Contracts. Elle s'appelait auparavant Data Contract Template et servait à PayPal à spécifier ses jeux de données ; elle est aujourd'hui gouvernée par Bitol, un projet Linux Foundation AI & Data.
Que contient un Data Contract ODCS ?
Un contrat ODCS couvre les fundamentals tels que id, name, version, domain et status ; le schéma avec ses properties et ses types logiques et physiques ; les règles de qualité des données ; le pricing ; les servers ; les roles ; les SLAs ; et les custom properties.
Qui gouverne ODCS ?
Bitol, un projet Linux Foundation AI & Data. Entropy Data siège au Technical Steering Committee de Bitol et s'engage à prendre en charge ODCS dans ses produits.
Quelle version d'ODCS Entropy Data prend-il en charge ?
Entropy Data prend en charge ODCS à partir de la v3.0.0 pour définir les Data Contracts.