Saltar al contenido principal

Conocimiento

Open Data Contract Standard (ODCS)

The Open Data Contract Standard (ODCS) se conocía antes como Data Contract Template, la plantilla que PayPal usaba para especificar sus conjuntos de datos. Hoy lo gobierna Bitol, un proyecto de Linux Foundation AI & Data.

Formamos parte del Technical Steering Committee de Bitol y nos comprometemos a dar soporte al estándar ODCS en nuestros productos.

Desde la v3.0.0, Entropy Data admite ODCS para definir Data Contracts.

Detalles de un Data Contract en Entropy Data

Detalles de un Data Contract en Entropy Data

Ejemplo de Open Data Contract Standard

Empecemos con un ejemplo de Data Contract en formato 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 ya conocías el formato v2, notarás varios cambios importantes. El formato ODCS v3 es más flexible y sirve para una gama más amplia de productos de datos.

Contenido

Estos son los bloques que componen un Data Contract en ODCS:

Fundamentos

La información general del Data Contract: ID, nombre, versión, propietario y descripción.

Schema

El schema define la representación lógica y, opcionalmente, la física del modelo de datos. Con ODCS v3 también se admiten estructuras de datos complejas (por ejemplo, modelos JSON y AVRO).

Calidad de datos

Las garantías de calidad de datos ahora se pueden definir en texto plano, en SQL o mediante una biblioteca mantenida de atributos de calidad predefinidos de uso habitual, como rowCount, unique, freshness y muchos más.

Precio

El precio que los Data Consumers pagan por usar el producto de datos. Opcional.

Servidores

La ubicación física del conjunto de datos: el host, la base de datos y el schema reales. Se admiten la mayoría de tecnologías y plataformas de datos. Permite definir varios servidores para distintos entornos o versiones del producto de datos.

Roles

Una lista de roles que los Data Consumers pueden solicitar para acceder a los datos. Cada rol puede otorgar permisos distintos dentro de un control de acceso basado en roles (RBAC).

SLA

Los acuerdos de nivel de servicio (SLA) permiten especificar la disponibilidad y el rendimiento esperados del producto de datos.

Propiedades personalizadas

Para necesidades propias o requisitos específicos de una herramienta, puedes añadir propiedades adicionales.

Entropy Data

Entropy Data es el frontend con el que tu organización gestiona sus Data Contracts y sus productos de datos. A partir de los Data Contracts crea un marketplace de productos de datos con funciones avanzadas de descubrimiento de datos, edición de Data Contracts con control de versiones, contract testing y Data Governance automatizada.

Captura del editor de Data Contracts para ODCS en Entropy Data

Una captura del editor de Data Contracts para ODCS en Entropy Data

Regístrate gratis ahora o explora la demo interactiva de Entropy Data.