Netflix presenta UDA (Unified Data Architecture), un'infrastruttura innovativa basata su un knowledge graph per affrontare la frammentazione cronica dei modelli di dati nel proprio ecosistema Content Engineering. Il problema di fondo: concetti di business fondamentali come "attore" o "film" vengono ridefiniti in modo indipendente in ciascun sistema (GraphQL Gateway, gestione degli asset, elaborazione media), generando duplicazioni, incoerenze terminologiche, problemi di qualità e connettività limitata.

Architettura fondante: knowledge graph RDF/SHACL

UDA adotta RDF e SHACL come fondamenta tecniche, ma si confronta con sfide operative rilevanti su scala enterprise: RDF non disponeva di un modello informativo utilizzabile, SHACL non era concepito per dati enterprise con schemi locali e chiavi tipizzate, i team non avevano pratiche di authoring condivise, e gli strumenti per ontologie non offrivano alcun supporto alla modellazione collaborativa. Soluzione: un modello informativo "named-graph-first" in cui ogni grafo denominato è conforme a un modello di governo, esso stesso un grafo denominato all'interno del knowledge graph.

Upper Metamodel: il modello di tutti i modelli

Upper costituisce il linguaggio formale per descrivere domini di business o sistemi, organizzando i concetti in modelli di dominio: vocabolari controllati che definiscono classi di entità chiave, attributi e relazioni. Elemento cruciale, Upper è un'ontologia superiore autoportante (bootstrapping): autoreferenziale (modella sé stesso), autodescrittiva (definisce il concetto di modello di dominio), autovalidante (è conforme al proprio modello). Upper si proietta su un'API Java basata su Jena e su uno schema GraphQL federato nell'Enterprise Gateway. Poiché tutti i modelli di dominio sono estensioni conservative di Upper, l'integrazione runtime senza soluzione di continuità garantisce una semantica dei dati coerente.

Mapping e proiezioni: connessione e automazione

I mapping collegano gli elementi del modello di dominio alle rappresentazioni dei contenitori di dati (resolver GraphQL, sorgenti Data Mesh, tabelle Iceberg). Tutto è indirizzabile: dal modello di dominio fino all'attributo specifico, dalla tabella Iceberg fino alla singola colonna. I mapping abilitano la scoperta bidirezionale: dal concetto di business al sistema fisico che memorizza il dato, e viceversa. Le proiezioni producono contenitori concreti che implementano le caratteristiche derivate dal modello di dominio registrato, con transpilazione automatica verso schemi GraphQL/Avro che preserva la semantica.

Adottanti in produzione: PDM e Sphere

PDM (Primary Data Management) gestisce vocabolari controllati autorevoli utilizzando il modello SKOS (W3C). Prende come input un modello di dominio, genera automaticamente l'interfaccia utente e provisiona Domain Graph Services e pipeline Data Mesh tramite proiezioni UDA. I consumatori dei vocabolari non hanno consapevolezza di SKOS: lavorano con la terminologia di dominio familiare.

Sphere: un sistema di reportistica operativa self-service basato su UDA. La scoperta avviene tramite concetti di business ("attori", "film"), non tramite tabelle tecniche. Il knowledge graph UDA genera query SQL tramite attraversamento del grafo, eliminando join manuali e mediazione tecnica. I metadati aggregati sono presentati con vocabolario unificato, e i confini e le isole del panorama dei dati vengono identificati automaticamente.

Impatto trasformativo

UDA trasforma i modelli concettuali in un piano di controllo attivo: non si limita a documentare i concetti, ma genera schemi, provisiona servizi, orchestra il movimento dei dati e applica la coerenza in modo automatico. Sviluppi futuri: supporto Protobuf/gRPC, materializzazione dei dati istanza nel knowledge graph, e risoluzione delle sfide originarie di Graph Search che hanno ispirato questo lavoro.