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

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.