Papel de los Contratos de Datos en la Canalización de Datos

Contratos de Datos en la Canalización de Datos

¿Qué son los Contratos de Datos?

Un contrato de datos es un acuerdo o conjunto de reglas que define cómo debe estructurarse y procesarse la información dentro de un sistema. Sirve como una herramienta de comunicación crucial entre diferentes partes de una organización o entre varios componentes de software. Se refiere a la gestión y uso previsto de los datos entre diferentes organizaciones o a veces dentro de una sola empresa.

El propósito principal de un contrato de datos es garantizar que los datos se mantengan consistentes y compatibles en diferentes versiones o componentes de un sistema. Un contrato de datos incluye lo siguiente:

  • Términos de Servicio: Descripción de cómo se pueden utilizar los datos, ya sea para desarrollo, pruebas o implementación.
  • Acuerdos de Nivel de Servicio (SLA): Los SLA describen la calidad de entrega de datos y pueden incluir tiempo de actividad, tasas de error, disponibilidad, etc.

Similar a cómo los contratos comerciales establecen responsabilidades entre proveedores y consumidores de un producto, los contratos de datos establecen y garantizan la calidad, usabilidad y confiabilidad de los productos de datos.

¿Qué metadatos deben incluirse en un contrato de datos?

  • Esquema: El esquema proporciona información útil sobre el procesamiento y análisis de datos. Es un conjunto de reglas y restricciones aplicadas a las columnas de un conjunto de datos. Las fuentes de datos evolucionan y los productores deben asegurarse de que sea posible detectar y reaccionar a los cambios en el esquema. Los consumidores deben poder procesar datos con el esquema anterior.
  • Semántica: La semántica captura las reglas de cada dominio empresarial. Incluyen aspectos como cómo las empresas hacen la transición hacia y desde diferentes etapas dentro de su ciclo de vida, cómo se relacionan entre sí, etc. Al igual que el esquema, la semántica también puede evolucionar con el tiempo.
  • Acuerdos de Nivel de Servicio (SLA): Los SLA especifican la disponibilidad y frescura de los datos en un producto de datos. Ayudan a los profesionales de datos a diseñar eficazmente las canalizaciones de consumo de datos. Los SLA incluyen compromisos como el retraso máximo esperado, cuándo se espera que lleguen los nuevos datos al producto de datos y métricas como el tiempo medio entre fallos y el tiempo medio de recuperación.

¿Cuál es la importancia de los Contratos de Datos?

El principal beneficio de un contrato de datos es su papel en garantizar la compatibilidad y consistencia entre varias versiones de esquemas de datos. Específicamente, los contratos de datos ofrecen varias ventajas:

  1. Garantía de Compatibilidad: Cuando se establece un contrato de datos para definir la estructura y las reglas de los datos, se garantiza que los datos producidos y consumidos por diferentes componentes o versiones del sistema sigan siendo compatibles. Este enfoque proactivo minimiza las complicaciones en el procesamiento de datos durante la evolución del esquema.
  2. Aplicación de Consistencia: Los contratos de datos actúan como garantes de la consistencia en la representación de datos. Obligan a todos los productores y consumidores a adherirse al mismo esquema, promoviendo la corrección de datos y mejorando la confiabilidad del sistema.
  3. Control de Versiones: Los contratos de datos pueden ser versionados y rastreados a lo largo del tiempo. Esta capacidad permite una gestión estructurada de los cambios en los esquemas de datos, lo cual es invaluable para navegar sin problemas por la evolución del esquema.
  4. Comunicación Efectiva: Los contratos de datos son una herramienta de comunicación efectiva entre diversos equipos u componentes organizativos. Establecen una comprensión compartida de las estructuras y formatos de datos, fomentando la colaboración.
  5. Prevención de Errores: Un contrato de datos bien definido previene errores, especialmente en caso de discrepancias en los esquemas o alteraciones inesperadas. Facilita la detección temprana de problemas relacionados con el esquema.

Formas Prácticas de Aplicar los Contratos de Datos

En este proceso de procesamiento de datos, los cambios de esquema se gestionan dentro de un repositorio de Git y se aplican a las aplicaciones que producen datos, garantizando estructuras de datos consistentes. Las aplicaciones envían sus datos a los Temas de Kafka, separando los datos sin procesar de los flujos de Captura de Datos de Cambio (CDC). Una aplicación de Flink valida los datos según los esquemas del Registro de Esquemas a partir de los flujos de datos sin procesar. Cualquier dato inexacto se dirige al Tema de Buzón de Entrada, mientras que los datos válidos se envían al Tema de Datos Validados. Las aplicaciones en tiempo real pueden acceder directamente a los datos de estos temas validados.

Además, los datos del Tema de Datos Validados se almacenan para realizar controles adicionales, incluida la validación según acuerdos específicos de nivel de servicio (SLA). Posteriormente, estos datos se envían al Almacén de Datos para un análisis en profundidad. Si se incumple algún SLA, los consumidores y productores reciben alertas. Por último, las aplicaciones de Flink no validadas revisan los datos en tiempo real en busca de posibles soluciones con una aplicación de Flink de recuperación. Este proceso integral garantiza la consistencia, validación y confiabilidad de los datos en todo el proceso, facilitando un análisis y monitoreo eficientes de los datos.

Referencias

  • https://towardsdatascience.com/data-contracts-ensure-robustness-in-your-data-mesh-architecture-69a3c38f07db
  • https://www.montecarlodata.com/blog-data-contracts-explained/
  • https://atlan.com/data-contracts/#what-is-inside-a-data-contract
  • https://youtu.be/ZIJB8cs-cJU?si=zzMnf-aE-rO4Wcx7
  • https://twitter.com/Aurimas_Gr/status/1693908146677330288

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Navegando la Curva de Aprendizaje La Lucha de la IA con la Retención de Memoria

A medida que los límites de la inteligencia artificial (IA) se expanden continuamente, los investigadores luchan con ...

Inteligencia Artificial

Investigadores de DeepMind redefinen el Aprendizaje Reforzado Continuo con una precisa definición matemática

Los avances recientes en el aprendizaje profundo por refuerzo (RL) han demostrado un rendimiento sobrehumano por part...

Inteligencia Artificial

Honda comenzará un servicio de taxis sin conductor en Tokio, según el CEO

La alianza con GM, Cruise tiene como objetivo eventual contar con 500 robotaxis.

Inteligencia Artificial

Gafas de realidad virtual para ratones crean escenarios inmersivos para la investigación cerebral

Investigadores de la Universidad Northwestern desarrollaron gafas de realidad virtual para ratones.

Inteligencia Artificial

El Enigma para ChatGPT PUMA es un Enfoque de IA que Propone una Forma Rápida y Segura para la Inferencia de LLM

Los Modelos de Lenguaje Grandes (LLMs, por sus siglas en inglés) han comenzado una revolución en el campo de la intel...

Inteligencia Artificial

Confrontación de modelos de chat GPT-4 vs GPT-3.5 vs LLaMA-2 en un debate simulado - Parte 1

Con Meta revelando recientemente planes para construir un modelo de chat que competirá con GPT-4, y el lanzamiento de...