Parliamone
// tecnologie.semantic-layer

Semantic Layer

Dall'astrazione dei dati alla governance delle metriche: architettura, implementazioni e problemi aperti del livello semantico per l'analisi dei dati.

Data AnalyticsData Governance

Executive summary

Quando diverse aree di un'organizzazione calcolano lo stesso indicatore aziendale in modi differenti, perché ciascun strumento di analisi contiene una propria versione della formula, le decisioni si fondano su numeri incoerenti, con conseguenze concrete su pianificazione, allocazione di risorse e reportistica. Il livello semantico è un componente dell'infrastruttura dati che risolve questo problema: definisce le regole di calcolo degli indicatori una sola volta, in un punto centrale, e le rende disponibili in modo uniforme a tutti gli strumenti che ne hanno bisogno, compresi i sistemi di intelligenza artificiale che rispondono a domande sui dati in linguaggio naturale. L'analisi che segue esamina le soluzioni tecnologiche oggi disponibili, le confronta nei rispettivi punti di forza e di debolezza, e mostra come il settore si stia muovendo verso formati condivisi che consentano la portabilità delle definizioni tra piattaforme diverse, pur evidenziando le sfide operative e organizzative che ne condizionano l'adozione su larga scala.


Background

Il problema della coerenza delle metriche aziendali attraverso strumenti analitici eterogenei accompagna l'industria dei dati fin dalle origini del data warehousing. Negli anni Novanta, Ralph Kimball formalizzò il dimensional modeling come paradigma per strutturare i dati analitici in schemi a stella, separando fatti (misure numeriche aggregabili) da dimensioni (attributi contestuali organizzati in gerarchie) [1]. L'obiettivo dichiarato era rendere i dati comprensibili agli utenti di business senza richiedere conoscenze tecniche delle strutture fisiche sottostanti. Parallelamente, Bill Inmon propose un approccio top-down in cui un data warehouse normalizzato fungeva da unica fonte di verità aziendale, con data mart derivati a servizio delle singole funzioni [2].

Entrambi gli approcci convergevano su un punto fondamentale: la necessità di un livello di astrazione tra i dati grezzi e il consumo analitico. I cubi OLAP (Online Analytical Processing) rappresentarono la prima incarnazione operativa di questo principio, materializzando aggregazioni multidimensionali che gli utenti potevano esplorare attraverso operazioni di drill-down, roll-up e slice-and-dice senza scrivere query SQL [1]. Tuttavia, i cubi OLAP presentavano limiti strutturali significativi: rigidità nella definizione delle dimensioni, tempi di costruzione elevati e difficoltà di adattamento a schemi in evoluzione.

Con la transizione verso architetture cloud e l'emergere del modern data stack, caratterizzato dalla separazione tra storage e compute, data warehouse columnar (Snowflake, BigQuery, Redshift) e strumenti di trasformazione come dbt, il livello semantico ha assunto una forma radicalmente diversa. La proliferazione di strumenti di business intelligence, notebook analitici, applicazioni embedded e, più di recente, agenti basati su large language model (LLM) ha amplificato il problema della frammentazione delle definizioni metriche. Un'analisi condotta da dbt Labs nel 2025 ha rilevato che il 27% delle organizzazioni intervistate intendeva aumentare gli investimenti in strumenti di semantic layer nei dodici mesi successivi, segnalando una crescente consapevolezza del problema [3].

In questo contesto, il semantic layer si configura come un livello architetturale che codifica la logica di business, definizioni di metriche, relazioni tra entità, regole di aggregazione e politiche di accesso, in modo indipendente dagli strumenti di consumo. Gartner, in un report del settembre 2022 intitolato "Innovation Insight: Metrics Store", ha definito il metrics store come "a virtualized semantic layer capability that allows users to create and define business metrics as code", evidenziando la transizione da un approccio implicito (metriche definite nei singoli strumenti BI) a uno esplicito e centralizzato [4]. L'evoluzione del posizionamento degli analisti di settore conferma questa tendenza: nel 2023 il semantic layer è stato inserito nell'Hype Cycle for Analytics and Business Intelligence di Gartner, e le indicazioni più recenti (2025) posizionano il semantic modeling come infrastruttura fondamentale per il successo delle iniziative di intelligenza artificiale enterprise [4, 10].

L'articolo che segue esamina l'architettura del semantic layer nella sua forma contemporanea, analizza le principali implementazioni disponibili, ne valuta il ruolo emergente come infrastruttura per applicazioni di intelligenza artificiale e discute i problemi aperti che ne condizionano l'adozione su larga scala.


Architettura e principi fondamentali

Il semantic layer come livello di astrazione

Il semantic layer si posiziona architetturalmente tra i sistemi di gestione dei dati (data warehouse, data lake, data lakehouse) e le applicazioni di consumo (strumenti BI, notebook, applicazioni embedded, agenti AI). La sua funzione primaria è tradurre le strutture fisiche dei dati in concetti di business comprensibili e riutilizzabili, garantendo che una metrica, ad esempio il ricavo netto, sia calcolata in modo identico indipendentemente dallo strumento che la interroga.

A differenza dei livelli di astrazione tradizionali (viste SQL, stored procedure, cubi OLAP), il semantic layer moderno opera come componente architetturale indipendente, esposto attraverso API standardizzate (REST, GraphQL, JDBC/ODBC) e definito attraverso codice versionabile [5, 6]. Questa caratteristica, comunemente indicata come metrics-as-code, consente di applicare al ciclo di vita delle definizioni metriche le stesse pratiche di ingegneria del software utilizzate per il codice applicativo: version control, code review, continuous integration e testing automatizzato.

Astrazioni fondamentali

Le implementazioni contemporanee del semantic layer convergono su un insieme di astrazioni fondamentali, pur adottando terminologie differenti.

Semantic model (o data model). Rappresenta la mappatura tra le tabelle fisiche del data warehouse e i concetti di business. Un semantic model definisce quali colonne costituiscono dimensioni (attributi categoriali o temporali utilizzabili per il raggruppamento e il filtraggio), quali costituiscono misure (valori numerici aggregabili) e quali relazioni (join) collegano le diverse entità [5, 7].

Metrica. Una metrica è una funzione di aggregazione applicata a una o più misure, eventualmente filtrata e raggruppata per dimensioni. Le implementazioni più mature distinguono tipologie di metriche con semantica diversa: metriche semplici (aggregazione diretta), metriche derivate (combinazioni algebriche di altre metriche), metriche cumulative (aggregazioni su finestre temporali progressive) e metriche di conversione (rapporti tra eventi in sequenza) [5].

Entità. Le entità rappresentano i concetti di business fondamentali (cliente, prodotto, ordine, transazione) e definiscono le chiavi attraverso cui i semantic model possono essere collegati tramite join. La definizione esplicita delle entità e delle loro relazioni consente al motore semantico di determinare automaticamente i percorsi di join necessari per rispondere a una query, sollevando l'utente dalla necessità di specificare manualmente le condizioni di collegamento [5].

Dimensioni e gerarchie. Le dimensioni possono essere organizzate in gerarchie (ad esempio: anno > trimestre > mese > giorno per una dimensione temporale, o nazione > regione > città per una dimensione geografica). Il supporto per le gerarchie dimensionali varia significativamente tra le implementazioni: alcune lo trattano come costrutto di prima classe, altre lo delegano agli strumenti di consumo.

Flusso di esecuzione delle query

Il flusso tipico di una query attraverso un semantic layer segue una sequenza ben definita. L'applicazione client invia una richiesta in termini semantici, ad esempio "ricavo netto per regione e trimestre, filtrato per l'anno 2025", attraverso un'API del semantic layer. Il motore semantico valida la richiesta rispetto al modello definito, verifica le autorizzazioni dell'utente, risolve le relazioni tra entità necessarie e genera una query SQL ottimizzata per il data warehouse sottostante. La query SQL viene eseguita sul data warehouse e i risultati vengono restituiti al client [6, 8].

Questo processo di generazione SQL, talvolta indicato come query compilation, costituisce il nucleo computazionale del semantic layer. La qualità dell'SQL generato ha impatti diretti sulle prestazioni e sui costi di esecuzione, poiché i data warehouse cloud adottano modelli di pricing basati sul volume di dati elaborati. Le implementazioni più sofisticate applicano ottimizzazioni specifiche per il dialetto SQL della piattaforma target (Snowflake, BigQuery, Databricks, Redshift) e tecniche di riscrittura delle query per minimizzare il volume di dati scansionati [5, 8].


Implementazioni e varianti architetturali

Il panorama delle implementazioni del semantic layer si articola in diverse famiglie architetturali, ciascuna con trade-off specifici in termini di accoppiamento con il data warehouse, flessibilità del modello semantico e modalità di deployment. L'analisi che segue esamina le implementazioni più significative, selezionate per maturità tecnologica, adozione e rilevanza architetturale.

dbt Semantic Layer e MetricFlow

Il dbt Semantic Layer, alimentato dal motore MetricFlow, rappresenta l'implementazione più strettamente integrata con il paradigma della trasformazione analitica basata su dbt. MetricFlow è stato rilasciato come open source sotto licenza Apache 2.0 nell'ottobre 2025, durante la conferenza Coalesce [9]. L'architettura si compone di quattro elementi: MetricFlow (il motore di compilazione delle metriche in SQL), MetricFlow Server (il servizio che gestisce le richieste e genera SQL ottimizzato), il Semantic Layer Gateway (punto di ingresso per le query) e le Semantic Layer API, esposte in GraphQL e JDBC [8].

Le metriche sono definite in file YAML all'interno del progetto dbt, utilizzando un insieme di astrazioni che comprende semantic model, entità, dimensioni, misure e metriche. MetricFlow supporta quattro tipologie di metriche: simple (aggregazione diretta di una misura), derived (espressioni algebriche su altre metriche), cumulative (aggregazioni su finestre temporali mobili) e conversion (rapporti tra eventi sequenziali). Il motore gestisce automaticamente la risoluzione dei join tra semantic model sulla base delle entità condivise e genera SQL ottimizzato per Snowflake, BigQuery, Databricks, Redshift e, a partire dal 2025, Trino [5, 8].

Un aspetto architetturale distintivo è la coerenza con il paradigma dbt: le definizioni metriche risiedono nello stesso repository del codice di trasformazione, ereditandone il flusso di lavoro (version control in Git, CI/CD, testing). Questo approccio riduce la distanza tra la logica di trasformazione e la logica semantica, ma introduce un accoppiamento con l'ecosistema dbt che può rappresentare un vincolo per organizzazioni con stack tecnologici eterogenei.

Cube

Cube si posiziona come piattaforma di semantic layer indipendente dal data warehouse, con un'architettura progettata per servire applicazioni analitiche embedded, strumenti BI e, più recentemente, agenti AI [6]. L'architettura di Cube è costruita su quattro pilastri: data modeling, access control, caching e API.

Il data model è definito in YAML o JavaScript e gestito attraverso version control. Cube espone i dati semantici attraverso tre API complementari: REST (per applicazioni web e mobile), SQL (compatibile con strumenti BI che supportano connessioni SQL) e GraphQL (per applicazioni frontend) [6]. Questa molteplicità di interfacce consente a Cube di servire una varietà di casi d'uso più ampia rispetto a implementazioni legate a un singolo protocollo.

L'elemento architetturale più distintivo di Cube è il sistema di pre-aggregazioni, un'implementazione del concetto di aggregate awareness che materializza risultati di query in tabelle pre-calcolate, memorizzate in Cube Store, un layer di storage dedicato. Quando una query viene eseguita, il motore di Cube analizza se può essere soddisfatta da una pre-aggregazione esistente, evitando di interrogare direttamente il data warehouse. Le pre-aggregazioni supportano il partizionamento per attributi definiti dall'utente, consentendo aggiornamenti incrementali e riducendo sia i tempi di risposta (da secondi a millisecondi) sia i costi computazionali sul data warehouse [6]. Questa architettura introduce tuttavia una complessità operativa aggiuntiva nella gestione del ciclo di vita delle pre-aggregazioni (costruzione, aggiornamento, invalidazione).

Le politiche di sicurezza in Cube sono applicate a livello di runtime del semantic layer, garantendo un controllo degli accessi deterministico e coerente indipendentemente dal canale di accesso. Questo approccio contrasta con il modello tradizionale in cui le politiche di accesso sono implementate separatamente in ogni strumento di consumo.

AtScale e il Semantic Modeling Language (SML)

AtScale rappresenta l'approccio enterprise al semantic layer, con un focus sulla compatibilità con i paradigmi multidimensionali tradizionali (OLAP) e sull'integrazione nativa con strumenti BI legacy come Microsoft Excel, Power BI e Tableau [10]. L'architettura di AtScale opera come un livello di virtualizzazione che si connette direttamente al cloud data warehouse e costruisce modelli semantici live, traducendo le query in SQL ottimizzato senza richiedere spostamento o duplicazione dei dati.

Nel settembre 2024, AtScale ha rilasciato il Semantic Modeling Language (SML) come standard open source sotto licenza Apache 2.0 [11]. SML è un linguaggio basato su YAML che supporta sia costrutti tabulari sia costrutti multidimensionali, posizionandosi come superset delle capacità espressive dei linguaggi di modellazione semantica esistenti. La specifica SML include dataset, dimensioni, misure, gerarchie e relazioni, con un SDK per la lettura e scrittura programmatica, un'interfaccia a riga di comando per la validazione sintattica e convertitori semantici per la traduzione da altri linguaggi di modellazione, inclusi i modelli semantici di Snowflake Cortex e Power BI [11].

Il supporto nativo per i costrutti multidimensionali (gerarchie, livelli, attributi calcolati) distingue SML dalle implementazioni puramente tabulari come MetricFlow, rendendolo più adatto a scenari in cui le organizzazioni hanno investito significativamente in modelli OLAP preesistenti. Questa ricchezza espressiva introduce tuttavia una curva di apprendimento più ripida e una maggiore complessità nella governance del modello.

Looker e LookML

Looker, acquisito da Google Cloud, ha introdotto LookML come uno dei primi linguaggi di modellazione semantica code-first per la business intelligence [12]. LookML separa la struttura della query (come le tabelle sono collegate) dal contenuto (quali colonne accedere, quali aggregazioni calcolare), consentendo agli analisti di definire centralmente le regole di business in un modello versionato in Git.

L'architettura di Looker si distingue per la stretta integrazione con l'ecosistema Google Cloud e per il ruolo del semantic layer come interfaccia per applicazioni AI. Google ha progressivamente esposto il semantic layer di Looker a strumenti esterni (Connected Sheets, Looker Studio, Power BI, Tableau, ThoughtSpot), avvicinandosi al concetto di universal semantic layer [12, 13]. Tuttavia, il forte accoppiamento con la piattaforma Google Cloud rappresenta un fattore limitante per organizzazioni con strategie multi-cloud.

Analisi comparativa

Le implementazioni esaminate differiscono lungo diverse dimensioni architetturali. In termini di accoppiamento, dbt Semantic Layer e Looker sono strettamente legati ai rispettivi ecosistemi (dbt e Google Cloud), mentre Cube e AtScale operano come componenti indipendenti. Sul piano del modello semantico, AtScale/SML offre il supporto più ricco per costrutti multidimensionali, mentre MetricFlow privilegia un modello tabulare più semplice. Per quanto riguarda le prestazioni, Cube si distingue per il sistema di pre-aggregazioni con storage dedicato, mentre le altre implementazioni delegano l'ottimizzazione al data warehouse sottostante. Sul fronte dell'accesso, Cube offre la varietà di API più ampia (REST, SQL, GraphQL), mentre dbt Semantic Layer si concentra su GraphQL e JDBC [5, 6, 8, 10].

La scelta dell'implementazione è condizionata dal contesto organizzativo: maturità dell'infrastruttura dbt esistente, necessità di compatibilità con modelli OLAP legacy, requisiti di prestazioni per applicazioni embedded e strategia cloud (single-cloud vs. multi-cloud). Un trade-off trasversale merita attenzione: le implementazioni più strettamente integrate con un ecosistema (dbt Semantic Layer, Looker) offrono un'esperienza di sviluppo più fluida e un minor costo di adozione iniziale, ma vincolano l'organizzazione a scelte tecnologiche di lungo periodo. Le implementazioni indipendenti (Cube, AtScale) offrono maggiore flessibilità architetturale, ma richiedono un investimento superiore in integrazione e operatività. Questo pattern riflette un trade-off classico dell'ingegneria dei sistemi distribuiti: coesione contro accoppiamento, con il semantic layer che aggiunge una nuova dimensione di scelta al design dell'infrastruttura dati.


Il semantic layer come infrastruttura per l'intelligenza artificiale

Il problema del text-to-SQL

L'emergere di applicazioni analitiche basate su LLM ha introdotto un nuovo caso d'uso per il semantic layer: fornire il contesto strutturale necessario affinché un modello di linguaggio possa generare query SQL corrette a partire da domande in linguaggio naturale. Il problema del text-to-SQL è oggetto di intensa ricerca accademica. Una survey pubblicata nel 2024 da Xiao et al. e successivamente accolta in ACM Computing Surveys ha sistematizzato i metodi basati su LLM, evidenziando come i benchmark standard, Spider e BIRD, misurino l'accuratezza di esecuzione rispettivamente al 89,6% e al 65,5% per i migliori approcci basati su in-context learning [14]. Tuttavia, questi benchmark operano su schemi relativamente semplici e non catturano la complessità delle definizioni metriche aziendali.

Il gap tra l'accuratezza accademica e l'affidabilità richiesta in contesti enterprise è significativo. Le metriche aziendali incorporano logica di business che non è deducibile dalla struttura fisica del database: un "ricavo netto" può richiedere l'esclusione di specifiche categorie di transazioni, l'applicazione di tassi di cambio e la gestione di periodi contabili non standard. Senza accesso a queste definizioni, un LLM deve inferire la logica corretta dalla sola struttura delle tabelle, con un tasso di errore che cresce proporzionalmente alla complessità della metrica.

Semantic grounding per agenti AI

Il semantic layer affronta questo problema fornendo ai modelli di linguaggio un livello di grounding semantico: anziché operare direttamente sullo schema fisico del database, l'LLM opera sulle astrazioni del semantic layer (metriche, dimensioni, entità), che codificano esplicitamente la logica di business. Questo approccio riduce lo spazio di ricerca del modello e fornisce vincoli strutturali che guidano la generazione della query [13, 15].

Snowflake ha documentato quantitativamente questo effetto attraverso Cortex Analyst, un sistema agentico che accoppia un LLM con un modello semantico definito in YAML. Nei test interni, Cortex Analyst ha raggiunto un'accuratezza superiore al 90% su casi d'uso reali, con un incremento medio del 20% rispetto allo stesso LLM operante senza modello semantico [15]. Il sistema implementa un approccio multi-step: parsing della domanda in linguaggio naturale, mappatura sui concetti del modello semantico, generazione di SQL candidato, validazione rispetto allo schema e verifica dei risultati.

Snowflake ha inoltre riportato un'accuratezza del 92,5% su task text-to-SQL misurata sul benchmark TPC-DS nelle valutazioni interne di Cortex Analyst [16]. AtScale, integrando le proprie capacità di Natural Language Query (NQL) con il semantic layer, ha raggiunto risultati comparabili nei test in preview privata [10]. Google ha posizionato il semantic layer di Looker (LookML) come componente fondamentale per l'affidabilità delle applicazioni di intelligenza artificiale generativa, argomentando che le definizioni semantiche esplicite forniscono il contesto necessario per ridurre le allucinazioni e garantire la coerenza delle risposte [13].

Questi risultati convergono su un principio architetturale: il semantic layer trasforma il problema del text-to-SQL da un problema di comprensione dello schema fisico a un problema di navigazione in uno spazio semantico strutturato, riducendo significativamente l'ambiguità e il rischio di errore. L'implicazione progettuale è che il semantic layer non è soltanto un'infrastruttura per la business intelligence tradizionale, ma un componente critico della pipeline di inferenza per applicazioni analitiche basate su LLM.

Limiti dell'integrazione AI-semantic layer

L'integrazione tra semantic layer e LLM presenta tuttavia limitazioni non trascurabili. La qualità del modello semantico diventa un fattore critico: definizioni ambigue, metriche con nomi fuorvianti o gerarchie dimensionali incomplete si traducono direttamente in errori di generazione SQL. Inoltre, le query che richiedono ragionamento multi-step, combinazione di metriche con logica condizionale complessa, confronti temporali year-over-year, o analisi che attraversano domini semantici distinti, rimangono problematiche anche in presenza di un semantic layer ben definito [14, 15]. Il benchmark BIRD-Critic 1.0 ha evidenziato un tasso di successo del solo 38,5% per i modelli più avanzati su task che richiedono ragionamento complesso su database reali [14], suggerendo che il semantic layer, pur necessario, non è sufficiente a risolvere il problema della comprensione analitica automatizzata.


Verso l'interoperabilità: standard aperti e iniziative di settore

La frammentazione dei linguaggi di modellazione

Ogni implementazione del semantic layer adotta un proprio linguaggio di modellazione: MetricFlow utilizza astrazioni YAML specifiche dell'ecosistema dbt, Cube definisce modelli in YAML o JavaScript con una propria sintassi, LookML è un linguaggio proprietario di Google Cloud, e SML è il linguaggio open source proposto da AtScale. Questa frammentazione comporta che le definizioni metriche non siano portabili tra piattaforme: un modello semantico definito in MetricFlow non può essere utilizzato in Cube senza riscrittura manuale, e viceversa.

Il costo organizzativo di questa frammentazione è significativo. Le imprese che adottano più strumenti analitici, scenario comune nelle organizzazioni di grandi dimensioni, si trovano a dover mantenere definizioni metriche duplicate in linguaggi diversi, reintroducendo esattamente il problema di incoerenza che il semantic layer intende risolvere. A questa frammentazione contribuiscono anche i semantic layer integrati nelle piattaforme cloud e BI: Databricks Unity Catalog include capacità di modellazione semantica integrate nel lakehouse, Microsoft Power BI definisce modelli semantici proprietari nel formato .bim (Tabular Model), e Snowflake ha introdotto i semantic model come costrutto nativo di Cortex Analyst [15, 16]. Ciascuna di queste implementazioni risolve il problema della coerenza all'interno del proprio ecosistema, ma amplifica la frammentazione nell'infrastruttura complessiva delle organizzazioni multi-piattaforma.

Open Semantic Interchange (OSI)

Nel settembre 2025, Snowflake ha annunciato l'iniziativa Open Semantic Interchange (OSI), un progetto open source finalizzato alla standardizzazione dello scambio e dell'utilizzo di modelli semantici tra strumenti e piattaforme eterogenee [17]. L'iniziativa ha coinvolto fin dall'avvio un ecosistema ampio di organizzazioni, tra cui Salesforce, dbt Labs, BlackRock, Databricks, AtScale, Cube, Qlik, Collibra, Alation e Atlan.

La specifica OSI v1.0, rilasciata su GitHub nel gennaio 2026, definisce un formato YAML vendor-neutral ed estensibile per la rappresentazione di costrutti del semantic layer: dataset, metriche, dimensioni, relazioni e contesto semantico [17]. L'obiettivo dichiarato è consentire a un modello semantico definito in una piattaforma di essere importato e utilizzato in un'altra senza perdita di informazione.

dbt Labs ha confermato il proprio impegno nell'iniziativa OSI rilasciando MetricFlow come open source sotto licenza Apache 2.0 e allineando lo sviluppo del proprio semantic layer con le specifiche emergenti [9]. AtScale ha aderito all'OSI nel gennaio 2026, portando l'esperienza maturata con SML nella definizione dello standard [11]. Parallelamente, il repository GitHub dell'iniziativa raccoglie la specifica formale, implementazioni di riferimento e strumenti di conversione.

Prospettive di adozione

L'adozione di uno standard di interscambio semantico è condizionata da fattori tecnici e commerciali. Sul piano tecnico, la sfida principale è la riconciliazione delle differenze espressive tra linguaggi di modellazione: costrutti multidimensionali supportati nativamente da SML (gerarchie, livelli) non hanno equivalenti diretti in MetricFlow, e le pre-aggregazioni di Cube non sono rappresentabili in altri formati. La specifica OSI dovrà bilanciare l'ampiezza espressiva con la semplicità di implementazione, evitando sia un minimo comune denominatore troppo limitato sia una complessità che ne scoraggi l'adozione.

Sul piano commerciale, l'incentivo dei vendor a supportare uno standard aperto è ambivalente: la portabilità dei modelli semantici riduce i costi di switching per i clienti, un risultato desiderabile per i vendor che competono sulla qualità dell'implementazione ma sfavorevole per quelli che competono sul lock-in dell'ecosistema. La partecipazione di attori con interessi commerciali divergenti (Snowflake, Databricks, dbt Labs, AtScale) suggerisce una volontà di convergenza, ma l'effettiva adozione dipenderà dalla qualità delle implementazioni e dalla capacità dello standard di evolversi con la velocità dell'ecosistema.


Limiti, problemi aperti e direzioni future

Complessità operativa e governance del modello

L'adozione di un semantic layer introduce un livello aggiuntivo di complessità nell'infrastruttura dati. Il modello semantico deve essere mantenuto, versionato, testato e sincronizzato con le evoluzioni dello schema fisico del data warehouse. Le organizzazioni che adottano un semantic layer devono definire processi di governance per la creazione, modifica e deprecazione delle definizioni metriche, coinvolgendo sia i team tecnici (data engineering) sia quelli di business (analytics, finance). L'assenza di tali processi produce modelli semantici che accumulano debito tecnico, metriche obsolete, definizioni incoerenti, relazioni non documentate, vanificando i benefici attesi.

Prestazioni e scalabilità

Il semantic layer introduce inevitabilmente un overhead nel percorso di esecuzione delle query. Nei casi più semplici, questo overhead è trascurabile: la generazione SQL aggiunge millisecondi al tempo complessivo di esecuzione. Tuttavia, per query complesse che attraversano molte entità e richiedono join multipli, il SQL generato può risultare sub-ottimale rispetto a query scritte manualmente da un analista esperto. La tensione tra espressività del modello semantico e qualità dell'SQL generato è un problema aperto che le diverse implementazioni affrontano con strategie differenti: Cube attraverso le pre-aggregazioni, MetricFlow attraverso ottimizzazioni specifiche per piattaforma, AtScale attraverso la virtualizzazione adattiva [5, 6, 10].

La scalabilità rappresenta una preoccupazione concreta per organizzazioni con migliaia di metriche, centinaia di dimensioni e modelli semantici che coprono interi domini di dati aziendali. Il tempo di compilazione delle query, la complessità della risoluzione automatica dei join e il volume delle pre-aggregazioni da gestire crescono in modo non lineare con la dimensione del modello.

Gestione semantica dei dati nei data lake

Una direzione di ricerca complementare riguarda l'applicazione di tecniche semantiche alla gestione dei dati nei data lake. Una survey pubblicata nel 2024 su Journal of Web Semantics da Hofer et al. ha analizzato l'intersezione tra ontology-based data access (OBDA), semantic modeling e data lake, classificando gli approcci esistenti in tre categorie: gestione semantica di base (arricchimento dei metadati con vocabolari controllati), modellazione semantica (collegamento dei metadati a knowledge graph basati sui principi Linked Data) e accesso ontologico ai dati (traduzione automatica delle query dall'ontologia alle fonti fisiche) [18]. Questa linea di ricerca evidenzia come il semantic layer, nella sua accezione più ampia, non si limiti alla definizione di metriche BI ma comprenda l'intero problema della rappresentazione e dell'accesso semantico a dati eterogenei.

Evoluzione verso l'automazione intelligente

Le direzioni future del semantic layer convergono sull'integrazione con tecniche di intelligenza artificiale non solo come consumatore (text-to-SQL) ma come strumento di costruzione e manutenzione del modello stesso. Approcci emergenti esplorano l'utilizzo di agenti AI per assistere nella creazione di ontologie, automatizzare il profiling dei dati e suggerire definizioni metriche sulla base dell'analisi delle query effettivamente eseguite dagli utenti [15, 16]. Snowflake ha documentato un approccio agentico al miglioramento del modello semantico, in cui un sistema multi-step analizza le query fallite, identifica lacune nel modello e propone estensioni, ottenendo un incremento misurabile dell'accuratezza text-to-SQL [15].

L'obiettivo a lungo termine è un semantic layer che si adatti dinamicamente ai pattern di utilizzo, estendendo automaticamente le definizioni metriche e le relazioni tra entità sulla base dell'evoluzione dei bisogni analitici dell'organizzazione. Questo scenario solleva tuttavia questioni significative di governance: la generazione automatica di definizioni metriche richiede meccanismi di validazione e approvazione che impediscano l'introduzione di metriche incoerenti o fuorvianti.


Riferimenti

[1] R. Kimball e M. Ross, The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling, 3rd ed., Wiley, 2013. https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/

[2] W. H. Inmon, Building the Data Warehouse, 4th ed., Wiley, 2005.

[3] dbt Labs, "The 2025 State of Analytics Engineering Report," 2025. https://www.getdbt.com/resources/state-of-analytics-engineering-2025

[4] Gartner, "Innovation Insight: Metrics Store," September 2022. Citato in: https://www.globenewswire.com/news-release/2022/10/17/2535423/0/en/Kyligence-Recognized-as-a-Representative-Provider-in-2022-Gartner-Innovation-Insight-Report-on-Metrics-Store.html

[5] dbt Labs, "About MetricFlow," dbt Developer Hub, 2025. https://docs.getdbt.com/docs/build/about-metricflow

[6] Cube Dev, "Introduction — Cube Documentation," 2025. https://cube.dev/docs/product/introduction

[7] Cube Dev, "Semantic Layer," 2025. https://cube.dev/use-cases/semantic-layer

[8] dbt Labs, "dbt Semantic Layer Architecture," dbt Developer Hub, 2025. https://docs.getdbt.com/docs/use-dbt-semantic-layer/sl-architecture

[9] dbt Labs, "Announcing Open Source MetricFlow: Governed Metrics to Power Trustworthy AI and Agents," 2025. https://www.getdbt.com/blog/open-source-metricflow-governed-metrics

[10] AtScale, "Universal Semantic Layer — Platform Overview," 2025. https://www.atscale.com/use-cases/universal-semantic-layer/

[11] AtScale, "Announcing Open Source Semantic Modeling Language (SML)," September 2024. https://www.atscale.com/blog/introduction-to-sml-a-standard-semantic-modeling-language/

[12] Google Cloud, "Introduction to LookML," Looker Documentation, 2025. https://docs.cloud.google.com/looker/docs/what-is-lookml

[13] Google Cloud Blog, "How Looker's Semantic Layer Enhances Gen AI Trustworthiness," 2024. https://cloud.google.com/blog/products/business-intelligence/how-lookers-semantic-layer-enhances-gen-ai-trustworthiness

[14] G. Xiao et al., "A Survey on Employing Large Language Models for Text-to-SQL Tasks," ACM Computing Surveys, 2024. https://arxiv.org/abs/2407.15186

[15] Snowflake Engineering Blog, "Agentic Semantic Model Improvement: Elevating Text-to-SQL Performance," March 2025. https://www.snowflake.com/en/engineering-blog/agentic-semantic-model-text-to-sql/

[16] Snowflake Engineering Blog, "Snowflake Cortex Analyst: Evaluating Text-to-SQL Accuracy for Real-World BI," 2024. https://www.snowflake.com/en/engineering-blog/cortex-analyst-text-to-sql-accuracy-bi/

[17] Snowflake, "Snowflake Unites Industry Leaders to Unlock AI's Potential with the Open Semantic Interchange Initiative," September 2025. https://www.snowflake.com/en/blog/open-semantic-interchange-ai-standard/

[18] M. Hofer et al., "A Survey on Semantic Data Management as Intersection of Ontology-Based Data Access, Semantic Modeling and Data Lakes," Journal of Web Semantics, vol. 82, 2024. https://www.sciencedirect.com/science/article/pii/S1570826824000052

Semantic Layer

Raccontaci la situazione. Rispondiamo entro 24 ore nei giorni lavorativi.

Tweaks

Light mode
Atmospheric (glass)
Client logos
Terminal hero