Al igual que los contratos comerciales tradicionales, los contratos de datos incluyen términos y condiciones que rigen lo que se entrega de una parte a otra. En un contrato de datos, esto puede incluir componentes tales como reglas 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 a través de la automatización en lugar de procesos manuales.
El impacto de los contratos de datos en la ingeniería de datos se comparó 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 usar con éxito datos de diversas fuentes.
Y, así como 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 estos es la prevención de fallas en el pipeline de datos: sin contratos de datos, los cambios ascendentes en la producción de datos pueden tener consecuencias desastrosas para los usuarios intermedios. Los contratos de datos pueden garantizar que esos cambios que afectan a la compatibilidad se identifiquen y se resuelvan antes de que afecten a los usuarios de los datos.
Otros beneficios de los contratos de datos incluyen mejoras en la calidad de datos, gobernanza 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.
Existe una variedad de herramientas y plataformas que ayudan a las empresas a definir y hacer cumplir los contratos de datos, incluidas herramientas de calidad de datos y plataformas de gobernanza de datos.
Los pipelines de datos frágiles y dañados son la pesadilla de muchos ingenieros de datos. Un estudio encontró que más de la mitad de los ingenieros encuentran fallas en los pipelines 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, las tuberías se “mantienen unidas con cinta adhesiva y desesperación”. Cuando fallan, pueden socavar las iniciativas de toma de decisiones y de inteligencia artificial (IA) de manera desastrosa.
Los contratos de datos pueden prevenir tales consecuencias al dirigirse a una fuente frecuente de fallas en los pipelines: la desalineación entre los productores y consumidores de datos. La desalineación ocurre cuando los nuevos datos proporcionados por los productores de datos no cumplen con las expectativas de los consumidores, quienes 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 sobre la estabilidad de los datos que encuentran”, según Jean-Georges Perrin, un defensor de IBM desde siempre. “Para crear confianza, el productor de datos o el propietario de los datos debe mostrar y garantizar una promesa”, escribió Perrin.
Dicha promesa, ya sea sobre la calidad, la validación, el acceso o la estructura de los datos, 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 los flujos de trabajo posteriores.
Los contratos de datos están surgiendo como especialmente destacados para los flujos de trabajo de IA, porque garantizar los datos correctos para el entrenamiento de modelos y el analytics de datos es crucial para obtener predicciones precisas.
“Se obtienen mejores datos en sus sistemas, por lo que no hay basura dentro ni basura fuera”, dijo Perrin.
Manténgase al día sobre las tendencias más importantes e intrigantes de la industria sobre IA, automatización, datos y más con el boletín Think. Consulte la Declaración de privacidad de IBM.
Dado que la desalineación entre los productores y consumidores de datos impulsa en gran medida la necesidad de contratos de datos, es útil observar más de cerca estos dos grupos y sus funciones 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 por sí sola no establece 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 son inherentemente parte de su enfoque.
En consecuencia, cuando los ingenieros de software actualizan las aplicaciones y el código, es posible que no consideren cómo esas actualizaciones afectan los datos que finalmente se entregan a los consumidores de datos.
Cuando tales cambios son inesperados, incluso cambios tan relativamente pequeños como eliminar una sola columna de una tabla de 1000 columnas, puede producirse un caos para los consumidores de datos. Estos cambios, denominados cambios disruptivos, pueden interrumpir los flujos de datos y poner en peligro la compatibilidad de los conjuntos de datos.
Como resultado, los scripts fallan, los paneles se vuelven obsoletos o inexactos, y tanto los humanos como los agentes de IA se ven privados de los datos confiables necesarios para las decisiones y operaciones clave.
Al establecer acuerdos definitivos entre los productores y los consumidores de datos, los contratos de datos pueden eliminar 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 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 la gestión de esquemas, pueden facilitar la implementación de 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 datos, como precisión, integridad, validez y recuentos nulos. Además, las reglas personalizadas pueden permitir que las herramientas de control de calidad de los datos realicen comprobaciones de calidad.
Los contratos de datos pueden enumerar fuentes de soporte (como canales de Slack y 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 enumera 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 se puede utilizar para calcular el costo.
Conocida en algunas plantillas de contratos de datos más antiguas como “stakeholders”, la sección de equipo de un contrato de datos incluye información sobre los miembros del equipo que poseen 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.
Al especificar el servidor de datos )como Kafka, Microsoft SQL, Google BigQuery o IBM Db2), se garantiza que los usuarios de los datos puedan encontrarlo, al tiempo que se proporciona a los ingenieros de la plataforma la información que necesitan 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, los stakeholders pueden agregar propiedades personalizadas a los contratos de datos para satisfacer sus necesidades específicas. Las versiones recientes de plantillas de contratos de datos populares también incluyen la capacidad de documentar las relaciones entre propiedades, hacer referencia a contratos externos y acceder a una biblioteca de reglas de calidad de datos predefinidas para comprobaciones de calidad congruentes.
Los contratos de datos se diferencian notablemente de otros contratos en que no están escritos en un lenguaje sencillo. Más bien, generalmente están escritos en YAML o JSON, lenguajes de serialización de datos legibles por humanos y máquinas. (Para los usuarios que no estén familiarizados con los lenguajes de serialización de programación, los contratos de datos se pueden crear en Excel y convertir a archivos YAML mediante 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 pueden integrarse en plataformas de datos y herramientas de cumplimiento. Las organizaciones pueden desplegar estas soluciones para probar si los conjuntos de datos se adhieren a las reglas del contrato de datos, lo que les permite abordar los problemas antes de que provoquen fallas en los pipelines.
Muchos contratos de datos se basan en 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 sandbox 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 que las organizaciones implementen contratos de datos que respalden su arquitectura de datos sin el riesgo de vendor lock-in (dependencia de proveedores).
Los contratos de datos pueden abordar múltiples puntos problemáticos en los pipelines de datos, lo que despeja el camino para que las organizaciones desbloqueen el valor de sus activos de datos. Los beneficios de los contratos de datos incluyen:
Como dice el viejo refrán, lo que se mide se gestiona. Establecer estándares de precisión, validez, puntualidad y otras métricas de calidad de los datos en un contrato de datos puede mejorar la calidad de los datos entregados y, al mismo tiempo, reducir la latencia.
Los contratos de datos pueden delinear relaciones entre tareas interconectadas o dependencias. Con la aclaración de tales dependencias, los productores de datos pueden evitar realizar cambios importantes.
Los contratos de datos están controlados por versiones, lo que significa que se crean nuevas versiones de contratos para reflejar cambios importantes. Esto puede ayudar a los productores a introducir modificaciones, como cambios de esquema, de una manera “segura” que brinda 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 control de versiones se adapta a los datos y necesidades cambiantes.
Los contratos de datos delinean las relaciones entre los stakeholders y los datos, incluido quién es el 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é, lo que garantiza una mayor responsabilidad.
Los contratos de datos pueden considerarse herramientas de gobernanza de datos porque reflejan y hacen cumplir objetivos críticos de gobernanza, como garantizar la calidad, la seguridad y la disponibilidad de los datos a lo largo del ciclo de vida de los datos.
Al respaldar la gobernanza 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 soporte de estas dos tecnologías.
Comencemos con los productos de datos. Un producto de datos es un paquete reutilizable e independiente que combina datos, metadatos, semántica y plantillas para admitir diversos casos de uso empresarial. Los contratos de datos pueden servir como “control de calidad” para los productos de datos, asegurando que los datos dentro de ellos sean congruentes y confiables y que 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 están trabajando juntos, siempre están alineados y siempre están asegurándose de que las cosas funcionen sin problemas”.
La importancia de los contratos de datos para productos de datos también los hace relevantes 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 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. Como tal, cuando los contratos de datos garantizan el rendimiento de los productos de datos, respaldan 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 describen el siguiente proceso sobre el funcionamiento de los contratos de datos.3
Las organizaciones pueden elegir entre una variedad de herramientas y plataformas para crear y gestionar contratos de datos. Por ejemplo:
Las necesidades únicas de una organización y las pilas de datos existentes pueden ayudar a determinar qué soluciones de contrato de datos o combinación de soluciones son las mejores para respaldar sus contratos de datos.
Transforme los datos sin procesar en datos listos para la IA con una experiencia de usuario optimizada para integrar cualquier dato usando cualquier estilo.
Cree canalizaciones de datos resilientes, de alto rendimiento y con costos optimizados para sus iniciativas de IA generativa, análisis en tiempo real, modernización de almacenes y necesidades operativas con las soluciones de integración de datos de IBM.
Escale con éxito la IA con la estrategia, los datos, la seguridad y la gobernanza adecuados.
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.