Inteligencia de datos

Contratos de datos: definición, componentes y guía de implementación

guía sobre contratos de datos

Un contrato de datos es un acuerdo formal entre un productor de datos y un consumidor de datos que define la estructura, los estándares de calidad, la titularidad, los acuerdos de nivel de servicio (SLA) y las condiciones de uso de un conjunto de datos específico, de modo que los equipos posteriores puedan confiar en lo que reciben y los equipos anteriores sepan exactamente qué deben entregar. Esta guía explica qué es un contrato de datos, qué contiene, cómo implementarlo y cómo la plataforma Actian Data Intelligence integra los contratos de datos en el desarrollo de los flujos de trabajo para garantizar la calidad y la fiabilidad desde el origen.

Sin un contrato de datos, un cambio en el esquema de un sistema fuente provoca, de forma silenciosa, un fallo en un informe posterior. Un canal de datos entrega los datos con dos horas de retraso sin previo aviso. Un campo del que dependen los analistas desaparece sin previo aviso. Los contratos de datos evitan estas tres situaciones al hacer que las expectativas sean explícitas, estén versionadas y sean exigibles antes de que los problemas lleguen al entorno de producción.


¿Qué es un contrato de datos?

Un contrato de datos es un documento —normalmente en formato YAML o JSON legible por máquina— que especifica qué datos va a proporcionar un productor, en qué formato, con qué nivel de calidad, con qué periodicidad y bajo qué condiciones de uso. Es el equivalente en el ámbito de los datos a un contrato de API: una interfaz definida entre el sistema que produce los datos y los sistemas que los consumen.

Mientras que un contrato de API regula la forma en que se comunican los sistemas de software, un contrato de datos regula el flujo de datos entre equipos, flujos de trabajo y sistemas. Cuando un productor y un consumidor acuerdan un contrato de datos y lo integran en sus flujos de trabajo, los cambios en el esquema activan alertas en lugar de provocar fallos silenciosos; las infracciones de calidad se detectan en el origen en lugar de descubrirse en un informe trimestral; y la responsabilidad se documenta en lugar de depender de la memoria institucional.


Qué incluye un contrato de datos

El estándar del sector para los contratos de datos es el Open Data Contract Standard (ODCS), un proyecto de la Fundación Linux del que se encarga Bitol. Un contrato de datos completo abarca siete componentes.

Componente Qué define Ejemplo
Conceptos básicos N.º de contrato, nombre, versión, estado y versión estándar utilizada id: orders-v1, version: 1.0.0, status: active
Esquema Estructura de la tabla, nombres de las columnas, tipos de datos, claves primarias y semántica de negocio de cada campo order_id: string, primary key / order_status: string, valid values: [pending, complete, cancelled]
Normas de calidad de los datos Comprobaciones de validación que deben superarse antes de que los datos se consideren aptos para su entrega Número de filas superior a 1.000 / porcentaje de valores nulos inferior al 2 % en los campos obligatorios / lógica de validación SQL personalizada
Equipo Quién es el titular del contrato y quién se encarga de su gestión, cuáles son sus funciones y cómo pueden ponerse en contacto con ellos los consumidores Responsable: ingeniería de datos / Gestor: análisis de ingresos / Asistencia: canal #data-contracts de Slack
SLA Plazos de entrega, garantía de frescura y compromisos de disponibilidad Datos actualizados diariamente a las 6:00 UTC / Disponibilidad del 99,5 % / Latencia máxima de 15 minutos
Condiciones de uso Lo que los consumidores pueden y no pueden hacer con los datos Autorizado para análisis internos / no autorizado para su divulgación externa / requiere el tratamiento de datos personales
Servidores Dónde se almacenan los datos y cómo acceder a ellos Referencia de la base de datos, el esquema y las tablas de Snowflake / Datos de conexión específicos del entorno

Un contrato básico puede comenzar con los aspectos fundamentales, el esquema y las normas de calidad. A medida que el programa va madurando, se van añadiendo los acuerdos de nivel de servicio (SLA), las condiciones de uso y los datos del servidor.


Contrato de datos frente a conceptos relacionados

Contrato de datos Regla de calidad de los datos SLA Esquema
Qué es Un acuerdo formal que regula el esquema, la calidad, la titularidad, los acuerdos de nivel de servicio (SLA) y las condiciones de uso de un conjunto de datos Una única comprobación de validación aplicada a un campo o una tabla Un compromiso de nivel de servicio (tiempo de actividad, actualidad, plazo de entrega) La definición estructural de una tabla o un conjunto de datos
Alcance De principio a fin: del productor al consumidor Una única dimensión de calidad Solo entrega y disponibilidad Solo estructura
¿Quién lo establece? Acordado entre el productor y el consumidor Establecido por el departamento de ingeniería de datos o de gestión de datos Establecido por el equipo de ingeniería de datos o el equipo de la plataforma Establecido por ingeniería de datos
¿Cómo se aplica? Validación de procesos, alertas y flujos de trabajo de gobernanza Controles de calidad automatizados Supervisión y alerta Registro de esquemas, DDL
Relación Un contrato de datos contiene normas de calidad, acuerdos de nivel de servicio (SLA) y un esquema como componentes. Un componente de un contrato de datos Un componente de un contrato de datos Un componente de un contrato de datos

Contrato de datos frente a política de gobernanza de datos:Una política de gobernanza de datos establece normas a nivel de toda la organización sobre cómo se gestionan los datos. Un contrato de datos aplica esas normas a un conjunto de datos concreto que se intercambia entre un productor y un consumidor específicos. Las políticas de gobernanza son de carácter organizativo; los contratos de datos se refieren a conjuntos de datos concretos.

Contrato de datos frente a catálogo de datos:un catálogo de datos recoge los activos de datos existentes y sus metadatos. Un contrato de datos formaliza los compromisos que asume un productor respecto a un activo concreto. Una entrada del catálogo describe un conjunto de datos; un contrato de datos regula su entrega.


Cómo funcionan los contratos de datos

Sin contrato de datos: Un equipo de ingeniería de datos modifica el esquema de la orders tabla — cambio de nombre customer_id a cust_id y eliminando el discount_code campo. El cambio se implementa un martes. Para el miércoles por la mañana, tres tuberías de datos posteriores han fallado, dos paneles de control muestran valores nulos y un proceso de aprendizaje automático ha estado recibiendo silenciosamente ceros para un campo que utiliza como predictor clave. El equipo de análisis identifica el problema cuando un vicepresidente pregunta por la caída en las cifras de ingresos.

Con un contrato de datos: Ese mismo cambio en el esquema provoca un error de validación del contrato antes de que se aplique el cambio. El contrato de datos especifica que customer_id es un campo obligatorio de tipo cadena y que discount_code debe estar presente con una tasa de valores nulos inferior al 5 %. El equipo de ingeniería recibe una alerta en la que se indican qué consumidores posteriores dependen de los campos afectados. Coordinan el cambio con los consumidores, actualizan la versión del contrato y lo implementan siguiendo una ruta de migración. No se interrumpe ningún flujo de datos.


Cómo se implementan los contratos de datos

Paso 1: Definir el productor y el consumidor

Identifica el equipo propietario del activo de datos (el productor) y los equipos que lo utilizan (los consumidores). Los contratos de datos funcionan mejor cuando los productores y los consumidores negocian el contrato conjuntamente, en lugar de que se lo imponga una de las partes.

Paso 2: Redactar el contrato

Empieza por los tres componentes esenciales: los fundamentos (ID, versión, estado), el esquema (nombres de campos, tipos, restricciones) y las reglas de calidad (comprobaciones de validación). Utiliza un formato legible por máquina; YAML es el estándar para los contratos ODCS. Almacena el archivo del contrato en el sistema de control de versiones junto con el código del proceso que regula.

Ejemplo de contrato mínimo (formato ODCS):

apiVersion: v3.1.0
kind: DataContract
id: orders-daily
name: Orders
version: 1.0.0
status: active

schema:
  - name: orders
    physicalType: TABLE
    propiedades:
      - nombre: order_id
        tipo lógico: cadena de caracteres
        clave principal: true
      - nombre: order_status
        tipo lógico: cadena de caracteres
      - nombre: customer_id
        tipo lógico: cadena de caracteres
      - nombre: order_amount
        tipo lógico: número

calidad:
  - tipo: recuento de filas
    debe ser mayor que: 1000
  - tipo: integridad
    columna: id_pedido
    debe ser mayor que: 0,99

equipo:
  - nombre: Ingeniería de datos
    función: propietario

Paso 3: Integrar la validación en el proceso

Conecta el contrato al canal que genera los datos. Las reglas de calidad del contrato se ejecutan automáticamente cuando se ejecuta el canal. Si una regla falla —número de filas inferior al umbral, tasa de valores nulos superior al límite, discrepancia en el esquema—, el canal avisa al responsable y, opcionalmente, detiene la entrega en lugar de propagar datos erróneos a las etapas posteriores.

Paso 4: Asignar una versión al contrato

Cuando cambien el esquema o los estándares de calidad, aumenta la versión del contrato. Mantén la compatibilidad con versiones anteriores siempre que sea posible. Cuando sea inevitable un cambio que rompa la compatibilidad, comunícalo a todos los usuarios identificados en el contrato antes de que se implemente el cambio. El historial de versiones en el control de código fuente proporciona un registro de auditoría de cada cambio y de quién lo aprobó.

Paso 5: Publicar en el catálogo de datos

Registra el contrato en el catálogo de datos para que los usuarios puedan encontrarlo, consultar su estado actual y suscribirse a las notificaciones de cambios. Un contrato visible en el catálogo hace que los activos de datos se documenten por sí mismos: los usuarios pueden ver el esquema, los estándares de calidad, los acuerdos de nivel de servicio (SLA) y las condiciones de uso sin tener que preguntar directamente al equipo responsable de su elaboración.

Paso 6: Supervisar y velar por el cumplimiento

Configura un sistema de supervisión que compruebe el cumplimiento de los contratos en cada ejecución del proceso: validación del esquema, evaluación de las reglas de calidad y cumplimiento del SLA. Deriva las infracciones al flujo de trabajo de gestión del responsable. Realiza un seguimiento de las tasas de infracción a lo largo del tiempo como indicador del estado de la calidad.


Cómo elegir un software de gestión de contratos de datos

Puedes iniciar un contrato de datos con un archivo YAML en un sistema de control de versiones. El software cobra valor cuando varios equipos redactan, aprueban y hacen cumplir los contratos, y cuando las partes interesadas del negocio necesitan participar sin tener que editar el código. Adapta el software a la tarea que necesitas realizar.

Qué hay que tener en cuenta, según las necesidades

Si necesitas… Busca Pregunta al vendedor
Dejemos que los equipos de la empresa participen en la redacción de los contratos Un espacio de trabajo compartido en el que las partes interesadas, tanto del ámbito empresarial como técnico, definen el esquema, las normas de calidad, los acuerdos de nivel de servicio (SLA) y la titularidad sin utilizar código YAML sin procesar ¿Puede un delegado no técnico redactar y aprobar un contrato?
Evita la dependencia de un proveedor Compatibilidad con el estándar abierto ODCS, con funciones de importación y exportación de contratos ¿Puedo pasar mis contratos a otra herramienta?
Hacer cumplir los contratos en los oleoductos Reglas de contrato que se ejecutan en CI/CD y avisan a los responsables en caso de incumplimiento ¿Puede un fallo en una comprobación detener un despliegue o la ejecución de un proceso?
Publicar productos de datos Contratos asociados a productos de datos y que aparecen en un catálogo o en una plataforma de venta ¿El contrato se elabora junto con el producto o se redacta posteriormente?
Partir de los datos existentes Generación de contratos a partir de conjuntos de datos de los que ya dispones ¿Puedo generar un borrador de contrato a partir de una tabla ya existente?
Mantén los contratos al día Conectores que sincronizan los metadatos a medida que cambian los sistemas de origen ¿Con qué frecuencia se renueva el contrato y qué factores provocan un cambio?
Control de acceso Flujos de trabajo de solicitud y aprobación con registros de auditoría ¿Quién aprueba la solicitud de un consumidor y dónde se registra?

Comparación entre coste y valor

El precio de la licencia es solo una parte del coste. Compara estos aspectos entre las distintas opciones:

  • Licencias. Cuánto cuesta el software por sí solo y dentro de una plataforma más amplia.
  • Esfuerzo de redacción. Cuánto tiempo tarda un administrador en redactar el primer contrato y si los usuarios empresariales pueden hacerlo.
  • Integración. Una herramienta de contratos independiente requiere trabajo para conectarse a tu catálogo, a los controles de calidad y a CI/CD.
  • Dependencia. Los contratos almacenados en un estándar abierto resultan más económicos de trasladar posteriormente.
  • Crecimiento. Cómo varían los precios a medida que aumentan los contratos, los productos y los usuarios.

Los equipos pequeños pueden empezar con un contrato mínimo (aspectos básicos, esquema y normas de calidad) para un conjunto de datos de gran valor y, a continuación, ampliarlo. Pide a cada proveedor un presupuesto para tres años que incluya la implementación y el soporte técnico.

Evaluación de reseñas y pruebas

Las reseñas te ayudan a hacer una preselección. No muestran cómo gestiona una herramienta tus procesos. Antes de decidirte:

  • Pide que te faciliten clientes de referencia con una pila tecnológica y un número de generadores de datos similares.
  • Redacta un contrato real y aplícalo en un proceso de pruebas.
  • Modifica un esquema de forma deliberada y comprueba que se avise a los usuarios pertinentes antes de que se aplique el cambio.
  • Analiza los informes de los analistas como un dato más, junto con tus propias pruebas.

Empaquetado de productos de datos con contratos y metadatos

Un producto de datos es más fiable cuando su contrato, sus metadatos, su linaje y sus indicadores de calidad se incluyen en él. Comprueba que el software publique el contrato en tu catálogo, muestre la calidad y el linaje junto a él y permita a los usuarios solicitar acceso en un único flujo de trabajo.


Contratos de datos y Data Mesh

Los contratos de datos son un componente fundamental de la arquitectura de malla de datos. En una malla de datos, los equipos de dominio son responsables de los productos de datos y los publican para que otros dominios puedan utilizarlos. Un contrato de datos es la interfaz formal que permite utilizar un producto de datos: define qué ofrece el producto, con qué nivel de calidad y en qué condiciones, de modo que los dominios que lo consumen puedan basarse en él de forma fiable.

Sin contratos de datos, una malla de datos genera productos de datos de los que otros equipos temen depender. Con los contratos de datos, cada producto de datos cuenta con una interfaz versionada y exigible: el mismo principio que hace que las arquitecturas de microservicios sean fiables, aplicado a los datos.


Contratos de datos e inteligencia artificial

La gobernanza de la IA está generando una nueva demanda de contratos de datos. Cada conjunto de datos que se utiliza para entrenar o ajustar un modelo requiere los mismos compromisos que establece un contrato de datos: un esquema definido, normas de calidad documentadas, una titularidad clara y condiciones que regulen su uso adecuado.

Contratos de datos de entrenamiento: Un contrato de datos para un conjunto de datos de entrenamiento especifica qué campos se incluyen, qué umbrales de calidad deben cumplir, si el conjunto de datos contiene información de carácter personal (y, en caso afirmativo, bajo qué requisitos de tratamiento) y quién lo ha certificado para su uso en IA. Este contrato se convierte en el documento de referencia necesario para cumplir los requisitos de reproducibilidad del modelo y de auditoría de la IA.

Contratos de flujos de trabajo RAG: Los flujos de trabajo de generación aumentada mediante recuperación (RAG) incorporan documentos y conjuntos de datos a las ventanas de contexto de los modelos de lenguaje a gran escala (LLM) en el momento de la consulta. Un contrato de datos para un conjunto de datos apto para RAG especifica qué campos se pueden recuperar, en qué condiciones de acceso y con qué garantía de actualidad.

Contratos del almacén de características: Los flujos de características de aprendizaje automático transforman los datos sin procesar en características del modelo. Un contrato de datos entre el almacén de características y el flujo de entrenamiento del modelo especifica el esquema de características, las expectativas de distribución estadística (base para la detección de desviaciones) y el acuerdo de nivel de servicio (SLA) de latencia para la entrega de características en el momento de la inferencia.


Contratos de datos en sectores regulados

Servicios financieros:La norma BCBS 239 exige a los bancos que demuestren la exactitud y el origen de los datos para la presentación de informes de riesgos. Un contrato de datos entre un sistema fuente y el proceso de presentación de informes de riesgos formaliza los estándares de calidad y los compromisos relativos al esquema que exige la norma BCBS 239, y genera la documentación que solicitan los auditores como resultado de las operaciones diarias.

Sanidad:La HIPAAexige que se documente la responsabilidad sobre la información médica protegida (PHI). Un contrato de datos para un conjunto de datos que contenga PHI especifica la clasificación de sensibilidad, las restricciones de acceso, los requisitos de tratamiento y los usos autorizados. Cuando en una auditoría se pregunta cómo se gestionó la PHI en un proceso concreto, el contrato de datos proporciona la respuesta.

Productos farmacéuticos: La norma 21 CFR Parte 11 de la FDA y las normativas GxP exigen la integridad de los datos clínicos. Los contratos de datos aplicados a los conjuntos de datos clínicos documentan el esquema, los estándares de calidad y la cadena de custodia que exigen los requisitos de integridad de los datos.


El enfoque de Actian respecto a los contratos de datos

La plataforma Actian Data Intelligence Platform es compatible con los contratos del estándar abierto Bitol Open Data Contract Standard (ODCS v3.1.0). Data Contract Builder ofrece a las partes interesadas, tanto empresariales como técnicas, un espacio de trabajo compartido y versionado para definir esquemas, reglas de calidad, acuerdos de nivel de servicio (SLA) y titularidad sin necesidad de escribir código YAML sin procesar. Los equipos pueden empezar por los datos o por el contrato. Con el enfoque «datos primero», Data Product Builder integra los conjuntos de datos existentes en productos de datos regulados y genera un contrato compatible con ODCS a partir de los puertos de salida que se definan. Los contratos se sincronizan a través del proceso de CI/CD, de modo que el catálogo refleja el esquema, las normas de calidad y los SLA más recientes en cada implementación, y más de 75 conectores nativos mantienen la gobernanza de los datos allí donde se encuentran.

Los productores publican productos de datos en Studio, y los usuarios los encuentran en Explorer mediante una búsqueda en « gráfico de conocimiento » que muestra indicadores de calidad y el linaje de los datos; a continuación, solicitan acceso a través de un flujo de trabajo auditable. Consulta la sección «Productos de datos y contratos» y el mercado de datos empresarial, o descubre cómo los contratos se relacionan con la calidad de los datos y la gestión de los mismos.

Preguntas frecuentes

Un contrato de datos es un acuerdo formal entre un productor de datos y un consumidor de datos que define el esquema, los estándares de calidad, la titularidad, los acuerdos de nivel de servicio (SLA) de entrega y las condiciones de uso de un conjunto de datos concreto. Este contrato deja claras las expectativas y garantiza su cumplimiento, de modo que los equipos posteriores puedan trabajar de forma fiable con los datos que reciben.

Un SLA abarca una dimensión de un contrato de datos: el calendario de entrega, la garantía de actualidad y el compromiso de disponibilidad. Un contrato de datos tiene un alcance más amplio: incluye el SLA, además de la definición del esquema, las normas de calidad, la titularidad y las condiciones de uso. Un SLA indica a los usuarios cuándo se recibirán los datos; un contrato de datos les indica qué contendrán y qué estándares cumplirán.

El Estándar de Contratos de Datos Abiertos (ODCS) es un proyecto de la Fundación Linux, gestionado por Bitol, que define un formato legible por máquina para los contratos de datos. Abarca los aspectos fundamentales, el esquema, las normas de calidad, la titularidad del equipo, los acuerdos de nivel de servicio (SLA), las condiciones de uso y la configuración del servidor en un documento YAML. Se trata del estándar emergente del sector para los contratos de datos en las pilas de datos modernas.

No, en la mayoría de los casos. Los contratos de datos son documentos de gobernanza interna que se utilizan para coordinar y garantizar el cumplimiento de las normas entre equipos. No son contratos legales en el sentido comercial. Su valor es operativo: dejan claras las expectativas, establecen la responsabilidad y permiten el cumplimiento automatizado.

El productor de datos redacta el borrador inicial en colaboración con los usuarios de los datos. El productor define lo que se compromete a entregar; el usuario define lo que necesita. El contrato refleja el resultado negociado. Un responsable de datos o un responsable de gobernanza puede revisar y aprobar el contrato antes de su publicación.

Al integrar la validación del esquema y de la calidad directamente en el proceso que genera los datos. Cuando un contrato especifica que un campo debe estar presente con una tasa de valores nulos inferior al 2 % y el proceso genera datos con una tasa de valores nulos del 15 %, la validación del contrato falla y se avisa al responsable antes de que los datos erróneos lleguen a los consumidores posteriores. Los cambios en el esquema que podrían afectar a los procesos de los consumidores se detectan antes de la implementación, en lugar de después.

En una red de datos (data mesh), los equipos de dominio son los responsables de los productos de datos y se encargan de publicarlos. Un contrato de datos es la interfaz formal que permite el uso de un producto de datos: define el esquema, los estándares de calidad, los acuerdos de nivel de servicio (SLA) y las condiciones de uso en los que pueden confiar los dominios que los utilizan. Sin contratos de datos, los productos de la red de datos son «cajas negras» sin documentación. Con ellos, cada producto cuenta con una interfaz versionada y exigible.

Sí, siempre que el software ofrezca un espacio de trabajo compartido para ello. Los usuarios empresariales definen en términos sencillos qué se entiende por «datos de calidad», y la plataforma genera el formato YAML de ODCS legible por máquina que los ingenieros utilizan en los flujos de trabajo.

El mejor software permite a los equipos empresariales y técnicos redactar contratos de forma conjunta, es compatible con el estándar abierto ODCS, garantiza el cumplimiento de los contratos en tus procesos y los publica junto con los productos de datos en un catálogo. Evalúa cada opción en función de la redacción, la compatibilidad con estándares abiertos, el cumplimiento en los procesos, la integración con el catálogo y el mercado, los flujos de trabajo de acceso y el coste total. A continuación, redacta un contrato real y garantiza su cumplimiento en un proceso antes de comprometerte.

No. Un contrato de datos puede empezar como un archivo YAML en un sistema de control de versiones. Empieza con un contrato mínimo (fundamentos, esquema y normas de calidad) para un conjunto de datos de gran valor, utilizando un estándar abierto para poder trasladarlo más adelante. El software resulta útil cuando hay muchos equipos que redactan y aprueban contratos, cuando las partes interesadas de la empresa necesitan contribuir sin tener que editar código, o cuando se necesitan registros de auditoría y flujos de trabajo de acceso. Compara el coste del software a tres años vista con el tiempo que tu equipo dedica a mantener los contratos manualmente.