¿Qué es un contrato de datos?

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, de modo que los equipos posteriores sepan exactamente qué van a recibir y los productores sepan exactamente qué están obligados a entregar.

Piensa en ello como un contrato de API, pero para datos. Mientras que un contrato de API regula cómo se comunican los sistemas de software, un contrato de datos regula cómo fluyen los datos entre equipos, flujos de trabajo y sistemas.


Definición del contrato de datos

Un contrato de datos es un documento legible por máquina —normalmente redactado en YAML según el Estándar de Contratos de Datos Abiertos (ODCS)— que especifica lo que un productor de datos se compromete a entregar y lo que un consumidor de datos puede esperar recibir. De este modo, las expectativas quedan explícitas, versionadas y exigibles antes de que los problemas lleguen a la fase de producción.

Cuando se integra un contrato de datos en un proceso, 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 quedar relegada a la memoria institucional.


Qué incluye un contrato de datos

Componente Qué define
Conceptos básicos N.º de contrato, nombre, número de versión y estado
Esquema Estructura de la tabla, nombres de las columnas, tipos de datos, claves primarias y semántica empresarial a nivel de campo
Normas de calidad de los datos Comprobaciones de validación que deben superarse antes de que los datos se consideren aptos para su entrega
Equipo Quién es el titular del contrato y se encarga de su gestión, y cómo pueden ponerse en contacto con él los consumidores
SLA Plazos de entrega, garantía de frescura y compromisos de disponibilidad
Condiciones de uso Lo que los consumidores pueden y no pueden hacer con los datos
Servidores Dónde se almacenan los datos y cómo acceder a ellos

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.


Por qué son importantes los contratos de datos

Sin un contrato de datos, un cambio en el esquema de un sistema fuente provoca, de forma silenciosa, errores en los informes posteriores. Un campo del que dependen los analistas desaparece sin previo aviso. Un proceso de aprendizaje automático recibe valores nulos para una característica que utiliza como predictor clave y nadie se da cuenta hasta que el rendimiento del modelo se deteriora en producción.

Los contratos de datos evitan estos fallos al hacer que la interfaz entre productores y consumidores sea explícita y exigible. Convierten la fiabilidad de los datos de un problema reactivo —que se descubre cuando algo falla— en un compromiso proactivo definido antes de que los datos se transfieran.

Las organizaciones utilizan los contratos de datos para:

  • Evita los fallos silenciosos en los esquemas. La validación de contratos detecta los cambios que rompen la compatibilidad antes de que lleguen a los consumidores posteriores.
  • Garantizar la calidad de los datos desde el origen.Las reglas de calidaddefinidas en el contrato se aplican automáticamente durante la ejecución del proceso.
  • Titularidad del documento.Cadacontrato cuenta con un responsable de su elaboración y un responsable de su gestión, que responden de su contenido.
  • Facilita un autoservicio fiable.Los usuariospueden encontrar contratos en el catálogo de datos y trabajar con los datos sin necesidad de pedir garantías al equipo responsable de su generación.
  • Apoyar la gobernanza y el cumplimiento normativo. Los contratos proporcionan la documentación que las auditorías normativas exigen en materia de trazabilidad de los datos, calidad y normas de tratamiento.

Contrato de datos frente a conceptos relacionados

Contrato de datos frente a regla de calidad de datos: Una regla de calidad de los datos es una comprobación de validación concreta. Un contrato de datos es un acuerdo más amplio que incluye reglas de calidad, además del esquema, la titularidad, los acuerdos de nivel de servicio (SLA) y las condiciones de uso. Las reglas de calidad indican si los datos son correctos. Un contrato de datos proporciona toda la información sobre los datos y lo que el productor se compromete a cumplir.

Contrato de datos frente a SLA: Un SLA abarca los compromisos de entrega: cuándo llegan los datos, su grado de actualidad y su disponibilidad. Un contrato de datos incluye el SLA, además del esquema, los estándares de calidad, la titularidad y las condiciones de uso. Un SLA es uno de los componentes de un contrato de datos.

Contrato de datos frente a catálogo de datos: Un catálogo de datos documenta qué activos de datos existen y sus metadatos. Un contrato de datos formaliza los compromisos que asume un productor respecto a un activo específico. Una entrada del catálogo describe un conjunto de datos; un contrato de datos regula su entrega. Los contratos de datos suelen publicarse en el catálogo para que los usuarios puedan encontrarlos.

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 son de carácter organizativo; los contratos se refieren a conjuntos de datos específicos.


Los contratos de datos en la práctica

El problema que resuelven:Unequipo de ingeniería de datos cambia el nombre de una columna de la tabla de pedidos. Fallan tres flujos de datos posteriores. Dos paneles de control muestran valores nulos. Un flujo de características de aprendizaje automático lleva 48 horas recibiendo ceros sin que nadie se haya dado cuenta. El problema se descubre cuando un vicepresidente pregunta por qué han bajado las cifras de ingresos.

Cuando existe un contrato de datos: Ese mismo cambio de nombre provoca un error de validación del contrato antes de que se aplique el cambio. El contrato especifica que el nombre original de la columna es obligatorio. El sistema identifica a todos los consumidores posteriores que dependen de ella. El equipo coordina el cambio, actualiza la versión del contrato y lo implementa con una ruta de migración. Ningún proceso de datos se ve interrumpido.

Preguntas frecuentes

Un acuerdo formal entre el equipo que elabora un conjunto de datos y los equipos que lo utilizan, en el que se especifica qué contendrán los datos, qué nivel de calidad cumplirán, cuándo estarán disponibles y quién es el responsable de los mismos.

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 jurídicos comerciales. Su valor es de carácter operativo: hacen explícitas las expectativas 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. Un responsable de datos o un responsable de gobernanza puede revisar y aprobar el contrato antes de su publicación.

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

Incorporando la validación del esquema y de la calidad en el proceso de generación de datos. Cuando un contrato especifica que un campo debe tener una tasa de valores nulos inferior al 2 % y el proceso genera datos con un 15 % de valores nulos, la validación 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 al funcionamiento de los procesos de los consumidores se detectan antes de su implementación.

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 qué ofrece el producto, con qué nivel de calidad y en qué condiciones. Sin contratos de datos, los productos de la red de datos carecen de documentación. Con ellos, cada producto cuenta con una interfaz versionada y exigible.