Al igual que los contratos comerciales tradicionales, los contratos de datos incluyen términos y condiciones que regulan lo que se entrega de una parte a otra. En un contrato de datos, esto puede incluir elementos como normas de calidad de los datos, definiciones de esquemas, acuerdos de nivel de servicio, información sobre los proveedores de datos e información sobre los servidores.
Sin embargo, donde los contratos de datos realmente difieren es en que están escritos en código; por lo tanto, los acuerdos se pueden hacer cumplir mediante la automatización en lugar de procesos manuales.
El impacto de los contratos de datos en la ingeniería de datos se ha comparado con el impacto de las interfaces de programación de aplicaciones (API) en el desarrollo de software. Las API definen reglas que permiten que las aplicaciones de software se comuniquen entre sí, mientras que los contratos de datos definen reglas que permiten a los consumidores de datos integrar y utilizar con éxito datos de diversas fuentes.
Y, al igual que a las API se les atribuye la mejora de la productividad y la aceleración de la innovación en el desarrollo de software, la implementación exitosa de contratos de datos puede generar una serie de beneficios para las empresas y los usuarios de datos.
El más crítico de ellos es la prevención de fallos en el pipeline de datos: sin contratos de datos, los cambios en la producción de datos pueden tener consecuencias desastrosas para los usuarios posteriores. Los contratos de datos pueden garantizar que estos cambios importantes se identifiquen y aborden antes de que afecten a los consumidores de datos.
Otros beneficios de los contratos de datos incluyen mejoras en calidad de los datos, gobierno de datos y escalabilidad. Los contratos de datos también proporcionan un soporte fundamental a productos de datos y arquitecturas de malla de datos que permiten a los usuarios empresariales encontrar y desbloquear valor de los datos en toda la organización.
Hay una variedad de herramientas y plataformas que ayudan a las empresas a definir y hacer cumplir los contratos de datos, incluidas las herramientas de calidad de los datos y las plataformas de gobierno de datos.
Los pipelines de datos frágiles y rotos son la pesadilla de muchos ingenieros de datos. Un estudio descubrió que más de la mitad de los ingenieros se encuentran con fallos de pipeline en sus sistemas de datos al menos una vez al mes, si no más.1
Con demasiada frecuencia, como señaló un arquitecto de datos, los pipelines "se mantienen unidas con cinta aislante y desesperación". Cuando fallan, pueden socavar las iniciativas de toma de decisiones y de inteligencia artificial (IA) de forma desastrosa.
Los contratos de datos pueden ayudar a prevenir tales consecuencias al dirigirse a una fuente frecuente de fallos en los pipelines: la desalineación entre productores y consumidores de datos. La desalineación se produce cuando los nuevos datos proporcionados por los productores de datos no cumplen las expectativas de los consumidores, que pueden depender de tipos de datos específicos, esquemas y otras restricciones para adaptarse a sus casos de uso.
Es comprensible que los consumidores intermedios puedan "dudar de la estabilidad de los datos que encuentran", según Jean-Georges Perrin, campeón vitalicio de IBM. "Para crear confianza, el productor o el propietario de los datos debe demostrar y garantizar una promesa", escribió Perrin.
Dicha promesa, ya sea sobre la calidad de los datos, la validación, el acceso o la estructura, puede garantizarse mediante la implementación de contratos de datos. Cuando los productores y consumidores de datos se alinean y codifican los requisitos de datos, esto puede evitar problemas de calidad de los datos antes de que afecten a los flujos de trabajo posteriores.
Los contratos de datos se están convirtiendo en algo especialmente importante para los flujos de trabajo de la IA, porque garantizar los datos correctos para el entrenamiento de modelos y el análisis de datos es crucial para obtener predicciones precisas.
“Se obtienen mejores datos en los sistemas, de modo que si entran datos basura, salen datos basura”, dijo Perrin.
Manténgase al día sobre las tendencias más importantes e intrigantes del sector en materia de IA, automatización, datos y mucho más con el boletín Think. Consulte la Declaración de privacidad de IBM.
Dado que la desalineación entre productores y consumidores de datos impulsa en gran medida la necesidad de contratos de datos, es útil analizar más de cerca a ambos grupos y sus roles dentro de los ecosistemas de datos.
Los consumidores de datos confían en los productores para que sus datos estén disponibles para su uso posterior. Pero esta dependencia no establece por sí sola una relación sólida entre consumidores y productores. Esto se debe a que los productores tienden a almacenar los datos en los formatos más adecuados para sus aplicaciones; las necesidades de gestión de datos de los consumidores intermedios no forman parte inherente de su enfoque.
En consecuencia, cuando los ingenieros de software actualizan las aplicaciones y el código, es posible que no tengan en cuenta cómo afectan esas actualizaciones a los datos que, en última instancia, se entregan a los consumidores de datos.
Cuando tales cambios son inesperados (incluso cambios relativamente pequeños como eliminar una sola columna de una tabla de 1000 columnas) puede desatarse el caos para los consumidores de datos. Estos llamados cambios rotos pueden interrumpir los flujos de datos y poner en peligro la compatibilidad de conjuntos de datos.
Como resultado, los scripts fallan, los paneles de control se vuelven obsoletos o inexactos, y tanto los humanos como los agentes de IA se ven privados de los datos fiables necesarios para las decisiones y operaciones clave.
Al establecer acuerdos definitivos entre los productores y los consumidores de datos, los contratos de datos pueden romper los silos que separan a ambos grupos, evitando desalineaciones y apoyando pipelines de datos más funcionales.
Los contratos de datos, como señalan los defensores, convierten suposiciones implícitas en garantías explícitas: detallan exactamente qué se supone que deben entregar los productores de datos a los consumidores de datos y cómo se espera que logren esa entrega. Los elementos clave de los contratos de datos incluyen:
Los fundamentos, también conocidos como datos demográficos, abarcan información general sobre el contrato. Esto puede incluir identificadores únicos, la versión del contrato (1.0 o 2.0, por ejemplo), el estado del contrato (como "activo" o "retirado"), el propósito previsto para los datos y las limitaciones legales para el uso de los datos.
Una definición de esquema detalla cómo se organizan los datos. Especifica objetos (estructuras de datos como tablas y documentos), propiedades de objetos (como las columnas de una tabla) y metadatos para los tipos de datos incluidos, como marcas de tiempo y límites de longitud de cadena. Los registros de esquemas, que son repositorios centralizados para gestionar esquemas, pueden ayudar a respaldar los contratos de datos.
Los contratos de datos definen reglas y parámetros para garantizar datos de alta calidad. Pueden abordar múltiples métricas de calidad de los datos, como precisión, integridad, validez y conteos nulos. Además, las reglas personalizadas pueden permitir comprobaciones de calidad mediante herramientas de calidad de los datos.
Los contratos de datos pueden enumerar fuentes de asistencia (como canales de Slack, canales de Teams, chats de Discord, listas de distribución de correo electrónico y sitios web) para los consumidores de datos que necesitan ayuda con sus contratos de datos.
La sección de precios de un contrato de datos indica lo que se le cobra a un consumidor de datos por un producto de datos. Puede incluir la moneda que se utiliza y la unidad de medida (como megabytes o gigabytes) que puede utilizarse para calcular el coste.
Conocida en algunas plantillas antiguas de contratos de datos como "stakeholders", la sección dedicada al equipo de un contrato de datos incluye información sobre los miembros del equipo propietario de los datos y su relación con el contrato de datos.
La sección de roles de un contrato de datos enumera los roles que proporcionan a los consumidores de datos diferentes tipos de acceso (como acceso de lectura o escritura) a un conjunto de datos.
Los contratos de datos incluyen descripciones de acuerdos de nivel de servicio, que definen el nivel de rendimiento que se espera que alcance el proveedor. Por ejemplo, las secciones de SLA pueden enumerar garantías sobre cuándo los datos están disponibles y cuánto tiempo se conservan.
Especificar el servidor de los datos (como Kafka, Microsoft SQL, Google BigQuery o IBM Db2) permite que sean detectables para los consumidores de datos, al tiempo que proporciona a los ingenieros de plataforma la información necesaria para automatizar el acceso. Esta sección también puede incluir información sobre diferentes entornos, como desarrollo y producción.
Además de los valores básicos de los contratos de datos, las partes interesadas pueden añadir propiedades personalizadas a los contratos de datos para satisfacer sus necesidades específicas. Las versiones recientes de las populares plantillas de contratos de datos también incluyen la posibilidad de documentar las relaciones entre propiedades, hacer referencia a contratos externos y acceder a una biblioteca de normas de calidad de los datos predefinidas para comprobar la calidad de forma coherente.
Los contratos de datos se diferencian en gran medida de otros contratos en que no están escritos en un lenguaje sencillo. Más bien, suelen estar escritos en YAML o JSON, lenguajes de serialización de datos legibles por humanos y máquinas. (Para usuarios no familiarizados con lenguajes de codificación de serialización, los contratos de datos pueden redactarse en Excel y convertirse a archivos YAML a través de la herramienta de código abierto Data Contract CLI.)
La ventaja de escribir contratos de datos en un lenguaje de serialización es que permite la automatización en lugar de laboriosos procesos manuales. Los contratos de datos legibles por máquina se pueden integrar en las plataformas de datos y en las herramientas de cumplimiento. Las organizaciones pueden implementar estas soluciones para comprobar si los conjuntos de datos cumplen con las reglas contractuales de datos, permitiéndoles abordar problemas antes de que provoquen fallos en la pipeline.
Muchos contratos de datos se basan en el Open Data Contract Standard (ODCS). Como su nombre indica, ODCS es un marco de código abierto para estandarizar contratos de datos. El estándar está definido por Bitol, un proyecto de entorno aislado de Linux Foundation AI & Data bajo la licencia Apache 2.0, y está disponible en GitHub.
Los defensores de la iniciativa dicen que ayuda a facilitar la innovación al permitir a las organizaciones implementar contratos de datos que respalden su arquitectura de datos sin el riesgo del vendor lock-in.
Los contratos de datos pueden solucionar múltiples problemas en los flujos de datos, allanando el camino para que las organizaciones desbloqueen valor de sus activos de datos. Los beneficios de los contratos de datos incluyen:
Los contratos de datos pueden delinear relaciones entre tareas interconectadas o dependencias. Con una aclaración sobre esas dependencias, los productores de datos pueden evitar hacer cambios importantes.
Los contratos de datos están controlados por versiones, lo que significa que se crean nuevas versiones de los contratos para reflejar cambios importantes. Esto puede ayudar a los productores a introducir modificaciones, como cambios de esquema, de una manera "segura" que proporcione a los consumidores tiempo para adaptarse a esos cambios, reduciendo el riesgo de interrupciones repentinas del pipeline.
El proceso de creación de un contrato de datos facilita la comunicación y el acuerdo entre productores y consumidores de datos. Una vez creado, el contrato sirve como base para la colaboración continua, ya que el versionado adapta los datos y necesidades cambiantes.
Los contratos de datos delinean las relaciones entre las partes interesadas y los datos, incluido quién es su propietario, qué roles pueden acceder a ellos y cómo los usuarios pueden obtener soporte. Los contratos ayudan a aclarar quién es responsable de qué, asegurando una mayor rendición de cuentas.
Los contratos de datos pueden considerarse herramientas de gobierno de datos porque reflejan y hacen cumplir objetivos críticos de gobierno, como garantizar la calidad de los datos, seguridad y disponibilidad de los datos a lo largo de todo el ciclo de vida de los datos.
Al respaldar el gobierno de datos y la colaboración, los contratos de datos pueden ayudar a las organizaciones y unidades de negocio a compartir datos con éxito incluso cuando los volúmenes de datos aumentan a un ritmo sin precedentes.
Los contratos de datos se mencionan con frecuencia en los debates sobre productos de datos y redes de datos. Esto es por una buena razón: los contratos de datos desempeñan un papel clave en el apoyo a ambas tecnologías.
Comencemos con los productos de datos. Un producto de datos es un paquete reutilizable y autónomo que combina datos, metadatos, semántica y plantillas para dar soporte a diversos casos de uso empresarial. Los contratos de datos pueden servir como "control de calidad" de los productos de datos, garantizando que los datos que contienen sean coherentes, fiables y tengan el formato correcto.
Perrin describe la relación entre los productos de datos y los contratos de datos en términos familiares: "Los contratos de datos y los productos de datos son como primos inseparables: siempre trabajan juntos, siempre alineados y siempre se aseguran de que todo funcione sin problemas".
La importancia de los contratos de datos para los productos de datos también los hace importantes para la funcionalidad de la malla de datos. Una malla de datos es una arquitectura de datos descentralizada que organiza los datos por dominio empresarial, como marketing, ventas o servicio de atención al cliente.
En una arquitectura de malla de datos, los productores de datos de dominio utilizan productos de datos que permiten a los usuarios empresariales encontrar y utilizar datos de diferentes partes de una organización. Por tanto, cuando los contratos de datos aseguran el rendimiento de los productos de datos, apoyan el éxito de una malla de datos en su conjunto.
En el libro Data Contracts, los expertos en datos Chad Sanderson, Mark Freeman y B.E. Schmidt delinean el siguiente proceso sobre cómo funcionan los contratos de datos.3
Las organizaciones pueden elegir entre diversas herramientas y plataformas para crear y gestionar contratos de datos. Entre ellas se incluyen:
Las necesidades únicas de una organización y las pilas de datos existentes pueden ayudar a determinar qué soluciones de contratos de datos o combinación de soluciones son las mejores para respaldar sus contratos de datos.
Cree y gestione canalizaciones de datos de streaming inteligentes a través de una interfaz gráfica intuitiva, y facilite una integración de datos fluida en entornos híbridos y multinube.
Watsonx.data le permite escalar la analítica y la IA con todos sus datos, residan donde residan, a través de un almacén de datos abierto, híbrido y gobernado.
Desbloquee el valor de los datos empresariales con IBM Consulting, y construya una organización impulsada por conocimientos que ofrezca ventajas empresariales.
1 "Modern infrastructure helps data engineers deliver maximum value". Fivetran. 11 de marzo de 2021.
2,3 Data Contracts: Developing Production-Grade Pipelines at Scale. O'Reilly Media. Noviembre de 2025.