Chez Zalando, une plateforme en ligne leader en Europe pour la mode et le style de vie, nous orchestrons un écosystème numérique massif qui connecte plus de 50 millions de clients actifs avec plus de 7 000 marques et partenaires à travers l'Europe. Chaque interaction client (navigation, commande, retour, etc.) génère une impulsion de données qui guide nos décisions, des recommandations personnalisées à l'optimisation de la logistique.
Opérer à cette échelle présente un ensemble unique de défis. Notre paysage de données est vaste et complexe, alimenté par une architecture de microservices qui transmet des téraoctets d'événements vers notre lac de données central. Bien que cette architecture nous ait permis de croître rapidement, elle a également rendu la gouvernance difficile et brouillé la distinction entre les Données Transactionnelles (opérations commerciales quotidiennes) et les Données Analytiques (informations pour la prise de décision).
Pendant des années, nous avons recherché une approche distribuée pour résoudre ce problème en décentralisant la propriété, afin que les équipes de domaine (comme "Paiements" ou "Logistique") puissent gérer leurs propres produits de données. Une structure de gouvernance centralisée est cruciale dans cette configuration pour assurer une charge gérable sur les équipes et prévenir les risques commerciaux. De plus, sans une couche unifiée pour définir la vérité, nous sommes confrontés au défi de la divergence des métriques : Pourquoi le tableau de bord Marketing affiche-t-il un "Chiffre d'affaires net" différent de celui du rapport Finance ? Comme les métriques vivent en silos, il est difficile de les gouverner et de s'assurer qu'elles sont découvrables et fiables pour être réutilisées tout au long de leur cycle de vie.
Dans cet article, nous partagerons comment Zalando y parvient en tirant parti de toute la puissance de la plateforme Databricks. Nous examinerons comment nous construisons une Couche Sémantique Unifiée qui comble le fossé entre les Données Transactionnelles et les Données Analytiques. Plus précisément, nous aborderons :
Pour gérer efficacement notre vaste paysage de données, nous avons décidé de nous éloigner du contrôle d'accès basé sur les ressources. Dans ce modèle, chaque nouvel ensemble de données ou consommateur nécessitait des rôles IAM sur mesure, des politiques de compartiment S3 et une gestion des exceptions. Mais nous avons identifié des défis : les autorisations étaient fragmentées sur des milliers de ressources, fastidieuses à examiner et sujettes à dérive. Par conséquent, nous sommes passés à une approche de gouvernance basée sur l'identité. Les décisions d'accès sont exprimées sous forme de politiques réutilisables liées aux personnes et aux groupes. Elles sont évaluées de manière cohérente sur les ensembles de données et appliquées de manière centralisée. Cela rend l'accès plus facile à exploiter, auditer et faire évoluer à mesure que les équipes et les données changent. Nous avons construit cette base en utilisant Databricks Unity Catalog et mis en œuvre un cadre de contrôle d'accès fédéré par-dessus.
L'Architecture
Nous avons conçu un modèle de double catalogue qui sépare strictement la création des données de leur consommation, garantissant que l'agilité ne se fait pas au détriment du contrôle :

Nous avons pris la décision stratégique d'exposer les données dans le catalogue partagé exclusivement via des Vues Dynamiques, plutôt que des pointeurs de table directs. Cette approche nous permet d'appliquer un processus d'accès centralisé capable de gérer des règles de conformité complexes.
En utilisant les Vues Dynamiques comme couche de service, nous avons obtenu :
Pour maintenir l'efficacité de ce processus, nous avons automatisé le workflow de partage à l'aide d'une approche GitOps :
Cette configuration nous permet de maintenir l'agilité des équipes distribuées tout en appliquant une norme de gouvernance centralisée et entièrement auditable qui maintient nos données facilement découvrables, sécurisées et conformes.
Avec la base sécurisée que nous avons établie pour accéder aux données, nous nous concentrons maintenant sur la garantie d'une interprétation cohérente des données.
Nous centralisons activement la logique métier qui était auparavant fragmentée dans la pile de données :
Nous unifions des milliers de définitions de métriques dans une seule couche gouvernée. Cela nous permet de briser le "verrouillage logique" : la définition de la "Valeur Brute des Marchandises" (NMV) dans un outil de tableau de bord devient entièrement accessible à un scientifique des données travaillant dans un notebook ou à un bot IA répondant à la question d'un utilisateur.
Pour ce faire, nous adoptons les Databricks Metric Views comme notre couche sémantique unifiée. Cela découple de manière décisive la définition d'une métrique de sa consommation, garantissant que les utilisateurs obtiennent exactement le même résultat calculé, qu'ils interrogent via un éditeur SQL, un tableau de bord ou un agent IA. En pratique, cela garantit que les utilisateurs techniques et non techniques utilisent les mêmes définitions de métriques.

Nous mettons en œuvre une approche rigoureuse de « Métrique en tant que Code » pour notre couche sémantique, tout comme nous utilisons GitOps pour le partage de données dans Unity Catalog. Nous assurons la cohérence entre toutes les équipes en centralisant et en standardisant chaque définition d'indicateur clé de performance (ICP).
Notre architecture gère le cycle de vie complet d'une métrique :
Sous le capot, nous nous appuyons sur des principes établis de modélisation dimensionnelle. Chaque Metric View dans notre environnement de production agit comme une interface standard, correspondant généralement 1 pour 1 avec nos tables de faits tout en héritant des attributs des tables de dimensions conformes.
Cette configuration est cruciale pour notre échelle. En imposant que les Metric Views soient construites sur les données de confiance de notre Catalogue Partagé (de la Section 1), nous nous assurons que la couche sémantique hérite de tous les avantages de sécurité et de conformité de la plateforme sous-jacente. Un utilisateur interrogeant une vue de métrique est toujours soumis aux mêmes règles de sécurité au niveau des lignes et des colonnes, et aux règles d'accès que nous avons définies dans la couche Unity Catalog. Nous améliorerons également cette configuration plus tard cette année avec une couche d'autorisation supplémentaire via les Metric Views, afin que les utilisateurs n'aient plus besoin d'un accès aux données brutes, mais seulement d'un accès au niveau des métriques et des dimensions.
Le bénéfice de cette architecture est l'interopérabilité. En sortant la logique métier des outils BI propriétaires et en la plaçant dans la couche sémantique du Lakehouse, nous nous préparons pour l'avenir. Une métrique définie une fois dans cette couche devient instantanément disponible pour :
Cette centralisation est la clé de notre prochaine étape majeure : permettre aux entreprises de « parler » à leurs données.
Les tableaux de bord sont essentiels pour répondre aux questions quotidiennes et récurrentes. Cependant, la vitesse des affaires dépasse souvent la capacité du reporting standard à tout capturer. Par exemple, un Category Manager pourrait avoir besoin de savoir : « Quelles marques de baskets ont eu un taux de clics élevé mais ne se sont pas classées parmi les 10 premières par nombre d'articles vendus en Allemagne la semaine dernière ? » Répondre à des questions nouvelles comme celle-ci, non couvertes par les rapports standard existants, nécessitait fréquemment la création d'un nouveau tableau de bord. Même avec des outils en libre-service, un décalage significatif en termes de « temps d'obtention de l'information » persistait. Les utilisateurs devaient trouver le bon jeu de données, configurer des widgets et appliquer des filtres avant de pouvoir obtenir une réponse. Cela entraînait souvent des tableaux de bord ponctuels, contribuant à la prolifération des tableaux de bord et à une réduction de la découvrabilité.
Pour optimiser l'expérience utilisateur, nous avons évalué plusieurs solutions « Parler aux Données » offrant des interfaces conversationnelles basées sur les LLM, souvent appelées chatbots IA. Genie a obtenu les meilleurs résultats car il est ancré dans une couche sémantique unifiée, tandis que les solutions sans cette couche peinaient à générer du SQL complexe pour la logique métier.
C'est pourquoi l'introduction des Metric Views s'est avérée déterminante pour l'analyse conversationnelle assistée par IA comme Genie. En orientant Genie vers les Metric Views préétablies (comme détaillé dans la Section 2), nous avons réalisé une avancée critique : des réponses cohérentes et fiables ancrées dans des définitions métier gouvernées.
Le plus grand obstacle à l'adoption de l'IA dans l'analyse est la confiance. Si un LLM génère une requête SQL erronée, les chiffres seront faux et les utilisateurs perdront confiance.
Genie résout ce problème en travaillant avec notre couche sémantique dans les Metric Views.
Nous avons testé Genie avec des équipes non techniques, telles que des merchandisers, des acheteurs et des analystes de prix, qui s'appuyaient historiquement sur des exportations Excel ou des outils BI. Les retours ont été immédiats : les utilisateurs pouvaient obtenir des réponses rapides à des questions granulaires (par exemple, la performance d'un marché spécifique associée à un type d'appareil spécifique) sans avoir besoin de connaître une seule ligne de SQL ni de passer du temps à créer une vue de rapport personnalisée.
L'introduction du nouveau Mode Agent a considérablement amélioré l'expérience utilisateur. Le Mode Agent analyse automatiquement les données pour identifier la cause profonde des résultats d'analyse, permettant aux utilisateurs de simplement demander « pourquoi » quelque chose s'est produit. Chez Zalando, cela pourrait réduire le temps de préparation de nos réunions de performance régulières — où des décisions de pilotage critiques sont prises — de plusieurs heures à quelques minutes seulement.
Cependant, avec ses fonctionnalités étendues, Genie peut également devenir coûteux s'il n'est pas configuré correctement, par exemple, sur des tables et des vues non agrégées. C'est pourquoi il est essentiel de sélectionner soigneusement les données et le contexte utilisés par Genie. De plus, nous reconnaissons le potentiel d'amélioration, comme l'avantage d'introduire une gestion complète des versions de Genie et de permettre des mises à jour programmatiques des configurations de Genie, sur lesquelles Databricks travaille déjà et qui est actuellement partiellement prise en charge.Mise à l'échelle de Genie pour l'adoption en entreprise
Nous ne traitons pas Genie comme une simple expérience en bac à sable ; nous l'intégrons dans nos opérations d'entreprise. Nos domaines d'intervention pour la mise à l'échelle comprennent :
En combinant la gouvernance d'Unity Catalog, la standardisation de la logique métier via les vues métriques et l'intelligence de Genie, nous construisons une culture de données où « interroger les données » est aussi simple que de demander à un collègue.
Merci à Merve Karali, Tobias Efinger, et Roberto Bruno Martins pour leur contribution à cet article.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
