In Zalando, una delle principali piattaforme online europee per la moda e lo stile di vita, orchestriamo un enorme ecosistema digitale che collega oltre 50 milioni di clienti attivi con più di 7.000 marchi e partner in tutta Europa. Ogni interazione del cliente (navigazione, ordine, reso, ecc.) genera un impulso di dati che guida il nostro processo decisionale, dalle raccomandazioni personalizzate all'ottimizzazione della logistica.
Operare su questa scala comporta una serie unica di sfide. Il nostro panorama di dati è vasto e complesso, alimentato da un'architettura di microservizi che trasmette terabyte di eventi nel nostro data lake centrale. Sebbene questa architettura ci abbia permesso di scalare rapidamente, ha anche reso la governance una sfida e ha offuscato la distinzione tra Dati Transazionali (operazioni commerciali quotidiane) e Dati Analitici (insight per il processo decisionale).
Per anni, abbiamo cercato un approccio distribuito per risolvere questo problema decentralizzando la proprietà, in modo che i team di dominio (come "Pagamenti" o "Logistica") potessero gestire i propri prodotti di dati. Una struttura di governance centralizzata è cruciale in questa configurazione per garantire un carico gestibile sui team e prevenire rischi aziendali. Inoltre, senza uno strato unificato per definire la verità, affrontiamo la sfida della divergenza delle metriche: Perché la dashboard del Marketing mostra un "Ricavo Netto" diverso dal report Finanziario? Poiché le metriche vivono in silos, è difficile governarle e garantire che siano individuabili e affidabili per il riutilizzo durante il loro ciclo di vita.
In questo post, condivideremo come Zalando sta raggiungendo questo obiettivo sfruttando l'intera piattaforma Databricks. Approfondiremo come stiamo costruendo uno Unified Semantic Layer che colma il divario tra Dati Transazionali e Dati Analitici. Nello specifico, tratteremo:
Per gestire efficacemente il nostro vasto panorama di dati, abbiamo deciso di abbandonare il controllo basato sulle risorse. In quel modello, ogni nuovo set di dati o consumatore richiedeva ruoli IAM personalizzati, policy del bucket S3 e gestione delle eccezioni. Ma abbiamo identificato delle sfide: i permessi erano frammentati su migliaia di risorse, ingombranti da rivedere e inclini alla deriva. Pertanto, siamo passati a un approccio di governance basato sull'identità. Le decisioni di accesso sono espresse come policy riutilizzabili legate a persone e gruppi. Vengono valutate in modo coerente tra i set di dati e applicate centralmente. Ciò rende l'accesso più facile da operare, controllare ed evolvere al cambiare dei team e dei dati. Abbiamo costruito queste fondamenta utilizzando Databricks Unity Catalog e implementato un framework di controllo degli accessi federato sopra di esso.
L'Architettura
Abbiamo progettato un pattern a doppio catalogo che separa rigorosamente la creazione dei dati dal loro consumo, garantendo che l'agilità non vada a scapito del controllo:

Abbiamo preso una decisione strategica di esporre i dati nel catalogo condiviso esclusivamente tramite Dynamic Views, piuttosto che puntatori diretti a tabelle. Questo approccio ci consente di applicare un processo di accesso centralizzato in grado di gestire complesse regole di conformità.
Utilizzando le Dynamic Views come livello di servizio, abbiamo ottenuto:
Per mantenere questo processo efficiente, abbiamo automatizzato il flusso di condivisione utilizzando un approccio GitOps:
Questa configurazione ci consente di mantenere l'agilità dei team distribuiti, applicando al contempo uno standard di governance centralizzato e completamente verificabile che mantiene i nostri dati facilmente individuabili, sicuri e conformi.
Con le solide fondamenta che abbiamo stabilito per l'accesso ai dati, ora ci concentriamo sulla garanzia di un'interpretazione coerente dei dati.
Stiamo centralizzando attivamente la logica di business che in precedenza era frammentata in tutto lo stack di dati:
Stiamo unificando migliaia di definizioni di metriche in un unico livello governato. Ciò ci consente di rompere il "logic lock-in": la definizione di "Net Merchandise Value" (NMV) in uno strumento di dashboarding diventa completamente accessibile a uno scienziato di dati che lavora in un notebook o a un bot AI che risponde alla domanda di un utente.
Per raggiungere questo obiettivo, adottiamo le Databricks Metric Views come nostro livello semantico unificato. Questo disaccoppia in modo decisivo la definizione di una metrica dal suo utilizzo, garantendo che gli utenti ricevano esattamente lo stesso risultato calcolato, sia che interroghino tramite un editor SQL, una dashboard o un agente AI. In pratica, ciò garantisce che sia gli utenti tecnici che quelli non tecnici utilizzino le stesse definizioni di metrica.

Implementiamo un rigoroso approccio "Metric as Code" al nostro livello semantico, proprio come utilizziamo GitOps per la condivisione dei dati in Unity Catalog. Garantiamo la coerenza tra tutti i team centralizzando e standardizzando ogni definizione di KPI.
La nostra architettura gestisce l'intero ciclo di vita di una metrica:
Sotto il cofano, ci affidiamo a principi consolidati di modellazione dimensionale. Ogni Metric View nel nostro ambiente di produzione funge da interfaccia standard, mappando tipicamente 1-a-1 con le nostre tabelle Fatto, ereditando attributi dalle tabelle Dimensione conformate.
Questa configurazione è cruciale per la nostra scala. Imponendo che le Metric Views siano costruite sopra i dati attendibili nel nostro Catalogo Condiviso (dalla Sezione 1), garantiamo che il livello semantico erediti tutti i benefici di sicurezza e conformità della piattaforma sottostante. Un utente che interroga una vista metrica è ancora soggetto alla stessa sicurezza a livello di riga e colonna, e alle regole di accesso che abbiamo definito nel livello Unity Catalog. Miglioreremo ulteriormente questa configurazione entro la fine dell'anno con un ulteriore livello di autorizzazione tramite le Metric Views, in modo che gli utenti non necessitino più di accesso ai dati grezzi, ma solo di accesso a livello di metrica e dimensione.
Il vantaggio di questa architettura è l'interoperabilità. Estraendo la logica di business dagli strumenti BI proprietari e inserendola nel livello semantico del Lakehouse, ci prepariamo per il futuro. Una metrica definita una volta in questo livello diventa istantaneamente disponibile per:
Questa centralizzazione è la chiave per il nostro prossimo passo importante: consentire al business di "parlare" con i propri dati.
Le dashboard sono essenziali per rispondere a domande quotidiane e ricorrenti. Tuttavia, la velocità del business spesso supera la capacità della reportistica standard di catturare tutto. Ad esempio, un Category Manager potrebbe aver bisogno di sapere: "Quali marchi di sneaker hanno avuto un alto tasso di click-through ma non sono rientrati nella top 10 per numero di articoli venduti in Germania la scorsa settimana?" Rispondere a domande nuove come questa, non affrontate dai report standard esistenti, richiedeva frequentemente la creazione di una nuova dashboard. Anche con strumenti self-service, persisteva un significativo ritardo nel "tempo per l'insight". Gli utenti dovevano trovare il dataset giusto, configurare i widget e applicare i filtri prima di poter ottenere una risposta. Ciò spesso si traduceva in dashboard una tantum, contribuendo alla proliferazione delle dashboard e alla riduzione della reperibilità.
Per ottimizzare l'esperienza utente, abbiamo valutato diverse soluzioni "Talk-to-Data" che offrono interfacce conversazionali basate su LLM, spesso definite chatbot AI. Genie ha ottenuto i migliori risultati perché è basato su un livello semantico unificato, mentre le soluzioni senza questo livello faticavano a generare SQL accurato per logiche di business complesse.
Questo è il motivo per cui l'introduzione delle Metric Views si è rivelata fondamentale per l'analisi conversazionale potenziata dall'AI come Genie. Indirizzando Genie verso le Metric Views pre-stabilite (come dettagliato nella Sezione 2), abbiamo ottenuto una svolta critica: risposte coerenti e affidabili basate su definizioni di business governate.
La più grande barriera all'adozione dell'AI nell'analisi è la fiducia. Se un LLM genera una query SQL errata (allucinazione), i numeri saranno sbagliati e gli utenti perderanno fiducia.
Genie risolve questo problema lavorando con il nostro livello semantico nelle Metric Views.
Abbiamo testato Genie con team non tecnici, come Merchandiser, Acquirenti e Analisti dei Prezzi, che storicamente si affidavano a esportazioni Excel o strumenti BI. Il feedback è stato immediato: gli utenti potevano ottenere risposte rapide a domande granulari (ad es. performance di mercato specifiche abbinate a un tipo di dispositivo specifico) senza dover conoscere una singola riga di SQL o dedicare tempo alla creazione di una vista di report personalizzata.
L'introduzione della nuova Modalità Agente ha notevolmente migliorato l'esperienza utente. La Modalità Agente analizza automaticamente i dati per individuare la causa principale dei risultati dell'analisi, consentendo agli utenti di chiedere semplicemente "perché" è successo qualcosa. In Zalando, ciò potrebbe ridurre il tempo di preparazione per le nostre riunioni periodiche sulle performance—dove vengono prese decisioni di gestione critiche—da diverse ore a pochi minuti.
Tuttavia, con le sue ampie funzionalità, Genie può anche diventare costoso se non configurato correttamente, ad esempio su tabelle e viste non aggregate. Ecco perché è fondamentale curare attentamente i dati e il contesto utilizzati da Genie. Inoltre, riconosciamo il potenziale per ulteriori miglioramenti, come il vantaggio di introdurre il controllo completo della versione di Genie e abilitare aggiornamenti programmatici alle configurazioni di Genie, su cui Databricks sta già lavorando e che è attualmente già parzialmente supportato.Scaling Genie per l'adozione aziendale
Non stiamo trattando Genie solo come un esperimento in sandbox; lo stiamo integrando nelle nostre operazioni aziendali. Le nostre aree di interesse per lo scaling includono:
Combinando la governance di Unity Catalog, la standardizzazione della logica di business tramite Metric Views e l'intelligenza di Genie, stiamo costruendo una cultura dei dati in cui "chiedere ai dati" è facile come chiedere a un collega.
Grazie a Merve Karali, Tobias Efinger e Roberto Bruno Martins per aver contribuito a questo post.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
