# netflix-uda-unified-data-architecture-knowledge-graph-2025-06-12

## Veille

Arquitectura de datos unificada en Netflix, grafo de conocimiento RDF/SHACL, modelado de dominio, metamodelo Upper, mapeos semánticos, proyecciones automáticas GraphQL/Avro/Iceberg - Netflix Technology Blog

## Titre Article

Model Once, Represent Everywhere: UDA (Unified Data Architecture) at Netflix

## Date

2025-06-12

## URL

https://netflixtechblog.com/uda-unified-data-architecture-6a6aee261d8d

## Keywords

UDA, Unified Data Architecture, grafo de conocimiento, modelado de dominio, RDF, SHACL, metamodelo Upper, integración semántica, catálogo de datos, registro de esquemas, GraphQL, Avro, Iceberg, Data Mesh, mapeos, proyecciones, transpilación, PDM, Sphere, Netflix, ingeniería de contenido, datos conectados, ontologías, SPARQL, grafos con nombre, esquemas federados, CDC, devil fruit, descubrimiento de datos, informes operativos, SKOS

## Authors

Alex Hutter, Alexandre Bertails, Claire Wang, Haoyuan He, Kishore Banala, Peter Royal, Shervin Afshar (Netflix Technology Blog)

## Ton

**Perfil:** Inmersión técnica profunda en ingeniería | Voz técnica institucional | Registro descriptivo-técnico | Nivel experto

El equipo de ingeniería de Netflix adopta una voz de exposición técnica profunda, típica del Netflix Tech Blog al presentar sus innovaciones arquitectónicas. La colaboración multiautor (7 ingenieros) señala un esfuerzo interequipos. Lenguaje altamente especializado (RDF/SHACL, metamodelo Upper, mapeos semánticos, SPARQL) dirigido a ingenieros de datos senior. Estructura sistemática (problema → solución → implementación → resultados) que demuestra rigor de ingeniería. Un tono de autoridad técnica segura que comparte lecciones aprendidas a escala. Típico de los blogs de ingeniería de grandes tecnológicas (estilo Uber, Airbnb, LinkedIn) que documentan sistemas complejos para una comunidad de ingenieros que aprende de los desafíos de escala.

## Pense-betes

- **Principio central**: "Modelar una vez, representar en todas partes"
- **Problema resuelto**: modelos duplicados/incoherentes, terminología incoherente, problemas de calidad de datos, conectividad limitada
- **UDA = grafo de conocimiento** para datos conectados en Content Engineering
- **Bases RDF/SHACL** pero con desafíos operativos a escala empresarial
- **Metamodelo Upper**: modelo de todos los modelos, autorreferencial, autodescriptivo, autovalidante
- **Modelo de información named-graph-first** para resolución, modularidad, gobernanza
- **Modelos de dominio** expresados como RDF conceptual dentro de grafos con nombre
- **Representaciones de contenedores de datos**: interpretaciones fieles de los sistemas como datos de grafo
- **Mapeos**: conectan modelos de dominio con contenedores de datos concretos
- **Proyecciones**: producen contenedores concretos (esquema GraphQL, fuente Data Mesh, tabla Iceberg)
- **Transpilación automática**: modelo de dominio → GraphQL/Avro/Iceberg/Java con preservación semántica
- **PDM (Primary Data Management)**: vocabularios controlados con SKOS, interfaz generada
- **Sphere**: informes operativos de autoservicio, descubrimiento mediante conceptos de negocio
- **Upper construido sobre RDFS/OWL/SHACL** pero a un nivel de abstracción superior
- **GraphQL Federation**: soporte para generación de esquema federado
- **Automatización basada en intención**: UDA razona sobre el movimiento de datos preservando la semántica
- **El grafo de conocimiento unifica**: modelos de dominio + esquemas transpilados + mapeos
- **Programable vía Java/GraphQL/SPARQL**
- **Catálogo semántico**: rastrea únicamente los activos conectados a modelos de dominio
- **Problema Spider-Man**: el mismo concepto ("película") modelado de forma diferente en todas partes

## RésuméDe400mots

Netflix presenta UDA (Unified Data Architecture), una infraestructura pionera basada en un grafo de conocimiento para abordar la fragmentación crónica de los modelos de datos en su ecosistema de Content Engineering. El problema fundamental: conceptos de negocio centrales como "actor" o "película" se redefinen de forma independiente en cada sistema (GraphQL Gateway, gestión de activos, computación de medios), generando duplicación, incoherencias terminológicas, problemas de calidad y conectividad limitada.

**Arquitectura fundacional: grafo de conocimiento RDF/SHACL**

UDA adopta RDF y SHACL como bases técnicas, pero se enfrenta a importantes desafíos operativos a escala empresarial: RDF carecía de un modelo de información utilizable, SHACL no estaba diseñado para datos empresariales con esquemas locales y claves tipadas, los equipos carecían de prácticas de autoría compartidas, y las herramientas de ontologías no ofrecían soporte para el modelado colaborativo. Solución: un modelo de información "named-graph-first" en el que cada grafo con nombre se ajusta a un modelo rector, que a su vez es un grafo con nombre dentro del grafo de conocimiento.

**Metamodelo Upper: el modelo de todos los modelos**

Upper constituye el lenguaje formal para describir dominios de negocio o sistemas, organizando conceptos en modelos de dominio: vocabularios controlados que definen clases de entidades clave, atributos y relaciones. Crucialmente, Upper es una ontología superior de arranque (bootstrapping): autorreferencial (se modela a sí mismo), autodescriptiva (define el concepto de modelo de dominio), autovalidante (se ajusta a su propio modelo). Upper se proyecta en una API basada en Java Jena y en un esquema GraphQL federado en el Enterprise Gateway. Dado que todos los modelos de dominio son extensiones conservadoras de Upper, la integración en tiempo de ejecución sin fisuras garantiza una semántica de datos coherente.

**Mapeos y proyecciones: conexión y automatización**

Los mapeos conectan elementos del modelo de dominio con representaciones de contenedores de datos (resolvers GraphQL, fuentes Data Mesh, tablas Iceberg). Todo es direccionable: desde el modelo de dominio hasta el atributo específico, desde la tabla Iceberg hasta la columna individual. Los mapeos permiten el descubrimiento bidireccional: del concepto de negocio al sistema físico que almacena los datos, y viceversa. Las proyecciones producen contenedores concretos que implementan características derivadas del modelo de dominio registrado, con transpilación automática a esquemas GraphQL/Avro que preserva la semántica.

**Adoptantes en producción: PDM y Sphere**

PDM (Primary Data Management) gestiona vocabularios controlados autoritativos usando el modelo SKOS (W3C). Toma un modelo de dominio como entrada, genera automáticamente la interfaz de usuario, y aprovisiona Domain Graph Services y pipelines de Data Mesh mediante proyecciones UDA. Los vocabularios consumidores desconocen SKOS: trabajan con la terminología de dominio habitual.

Sphere: un sistema de informes operativos de autoservicio impulsado por UDA. El descubrimiento se realiza mediante conceptos de negocio ("actores", "películas"), no mediante tablas técnicas. El grafo de conocimiento UDA genera consultas SQL mediante recorrido del grafo, eliminando las uniones (joins) manuales y la mediación técnica. Los metadatos agregados se presentan con vocabulario unificado, y los límites e islas del panorama de datos se identifican automáticamente.

**Impacto transformador**

UDA convierte los modelos conceptuales en un plano de control activo: no solo documenta conceptos, sino que genera esquemas, aprovisiona servicios, orquesta el movimiento de datos y aplica la coherencia de forma automática. Desarrollos futuros: soporte para Protobuf/gRPC, materialización de datos de instancia en el grafo de conocimiento, y resolución de los desafíos originales de Graph Search que inspiraron este trabajo.

## GrapheDeConnaissance

- Netflix —a_créé→ UDA (TECHNOLOGIE, 0.99)
- UDA —est_basé_sur→ RDF (TECHNOLOGIE, 0.98)
- UDA —est_basé_sur→ SHACL (TECHNOLOGIE, 0.98)
- Upper —fait_partie_de→ UDA (TECHNOLOGIE, 0.97)
- Upper —permet→ génération de schémas GraphQL (CONCEPT, 0.95)
- Upper —permet→ génération de schémas Avro (CONCEPT, 0.95)
- UDA —permet→ PDM (TECHNOLOGIE, 0.96)
- UDA —permet→ Sphere (TECHNOLOGIE, 0.96)
- PDM —utilise→ SKOS (TECHNOLOGIE, 0.95)
- Sphere —permet→ génération de requêtes SQL (CONCEPT, 0.93)
- UDA —résout→ duplication des modèles (CONCEPT, 0.97)
- UDA —permet→ connexion des domain models aux conteneurs de données (CONCEPT, 0.95)
- Netflix —utilise→ principe "Model Once Represent Everywhere" (CONCEPT, 0.94)

---
Canonical: https://www.thekb.eu/es/fiches/netflix-uda-unified-data-architecture-knowledge-graph-2025-06-12/
