Architecture du data warehouse
Défis et compromis dans le choix d'une architecture de data warehouse

Qu'est-ce que l'architecture de data warehouse ?
Un data warehouse est un système de gestion des données qui conserve les données actuelles et historiques de multiples sources sous une forme orientée entreprise pour faciliter la création d'insights et de rapports.
Un data warehouse n'est pas une base de données. C'est un dépôt structuré qui fournit des données pour la business intelligence et l'analytique, tandis qu'une base de données est une collection de données structurées : du texte et des valeurs numériques, bien sûr, mais aussi des images, des vidéos et plus encore.
L'architecture du data warehouse désigne le cadre qui régit son organisation, sa structure et sa mise en œuvre, en incluant ses composants et ses processus.
Selon Bill Inmon, auteur de Building the Data Warehouse, le livre révolutionnaire qui a lancé l'industrie du data warehouse, l'architecture du data warehouse est une « collection de données orientée sujet à la fois intégrée, évoluant dans le temps et non volatile, qui soutient le processus de prise de décision de l'équipe de direction. »
Décomposons cette définition :
Orienté sujet : les données sont organisées et structurées autour de sujets ou de thèmes spécifiques à l'entreprise –données de vente, de marketing ou de distribution
Intégrée : le data warehouse intègre les données de plusieurs sources de manière unifiée
Variable dans le temps : les données représentent une capture historique qui enregistre les changements au fil du temps pour permettre d'analyser les tendances et de produire des rapports sur l'évolution des données
Non volatile : les données du data warehouse sont en lecture seule ; elles ne seront ni modifiées ni écrasées, ce qui permet de conserver des données historiques intactes pour des analyses fiables.
Poursuivez votre exploration
Quand est-il intéressant d'utiliser une architecture de data warehouse ?
Une architecture de data warehouse efficace permet aux organisations d'analyser rapidement et simplement les données commerciales provenant de divers systèmes opérationnels : systèmes de point de vente, gestion d'inventaire, bases de données de marketing ou de vente. Dans un data warehouse bien conçu, les données sont cohérentes, stockées efficacement et facilement accessibles pour améliorer la prise de décision.
Les data warehouses jouent un rôle crucial dans les activités de business intelligence (BI), d'analytique et de rapport, pour prendre en charge des applications de données et préparer les données pour le machine learning (ML) et l'analyse. Les data warehouses modernes ont évolué pour prendre en charge des données non structurées comme les images et le texte, et beaucoup intègrent désormais des capacités d'IA à des fins d'analyse avancée et d'automatisation.
Les cas d'utilisation sont nombreux :
Segmentation des clients
Rapports financiers
Analyse des tendances historiques
Optimisation de la chaîne d'approvisionnement
Performance des ventes et du marketing
Les data warehouses peuvent gérer de grands volumes de données. Conçus pour stocker des données historiques, ils permettent aux entreprises d'analyser les tendances au fil du temps. Ils facilitent également le traitement d'informations difficiles à analyser directement à partir de bases de données transactionnelles. Une organisation pourrait, par exemple, utiliser un entrepôt de données pour analyser le total des revenus générés chaque mois par chaque commercial, dans chaque catégorie de produits ; cette information ne sera pas nécessairement capturée par une base de données transactionnelle.
Types d'architecture de data warehouse
L'architecture d'un data warehouse varie en complexité selon sa structure et son objectif.
Un niveau
Dans cette forme simple, le data warehouse joue le rôle de dépôt centralisé pour toutes les données et celui de plateforme d'analyse et d'interrogation. L'architecture data warehouse à niveau unique convient aux petites organisations qui exploitent un nombre limité de sources de données, dont les besoins de reporting restent simples et dont les budgets sont limités.
Deux niveaux
Ce modèle sépare les systèmes sources du data warehouse en deux couches. Le data warehouse est la plateforme de stockage et d'interrogation. L'architecture à deux niveaux offre davantage d'évolutivité et des performances supérieures ; elle permet ainsi des transformations plus complexes que l'architecture à un seul niveau.
Trois niveaux
Dans l'architecture d'entreposage des données à trois niveaux, le niveau inférieur abrite les sources de données et le stockage des données, les méthodes d'accès aux données et l'ingestion ou l'extraction des données. Le niveau intermédiaire est un serveur de traitement analytique en ligne (OLAP). Le niveau supérieur accueille les clients front-end de requête, de BI, de création de tableaux de bord, de rapports et d'analyse. Il s'agit du type d'architecture de data warehouse le plus sophistiqué. Offrant d'excellentes performances et une grande évolutivité, il s'intègre aux outils d'analyse et prend en charge des requêtes et des analyses complexes.
Couches du data warehouse
L'architecture de data warehouse repose sur une structure en couches qui facilite la circulation, la transformation et la consommation des données pour l'analyse et la prise de décision. Chaque couche joue son rôle pour veiller à ce que les données répondent aux besoins de l'entreprise.
Couche source
La couche source est la base de l'architecture du data warehouse et le point d'entrée des données. Elle contient des données brutes provenant des différentes sources : points de vente, automatisation du marketing, systèmes CRM ou ERP, sources tierces, etc.
Couche de préparation
La couche de préparation accueille temporairement les données pendant qu'elles sont consolidées, nettoyées et transformées en vue de leur chargement dans le data warehouse. La couche de préparation agit comme un tampon entre la couche source et la couche d'entreposage. Elle veille à ce que les erreurs figurant dans les données sources soient corrigées avant tout autre traitement.
Couche du warehouse
C'est dans la couche du warehouse que toutes les données traitées, nettoyées et structurées sont stockées pour une utilisation à long terme. Dans cette couche, les données sont souvent organisées en schémas optimisés pour l'interrogation et l'analyse. Cette couche applique également les politiques de gouvernance, concernant notamment la traçabilité et les contrôles d'accès, afin de maintenir l'intégrité et la sécurité des données.
Couche de consommation
La couche de consommation met des données pertinentes à la disposition des utilisateurs commerciaux. Elle comprend des outils de BI, des tableaux de bord, des plateformes de visualisation de données et des API offrant des interfaces conviviales. Dans cette couche, les données sont souvent agrégées ou prétraitées sous forme de tables de synthèse ou de cubes pour améliorer les performances de requête.
Composants du data warehouse
L'architecture de data warehouse comprend différents composants clés dont la coordination garantit la qualité de la gestion et de l'analyse des données.. Les principaux composants sont l'architecture de data lakehouse, les outils d'intégration de données, les métadonnées et les outils d'accès aux données, auxquels peuvent s'ajouter des composants supplémentaires si nécessaire.
Architecture de data lakehouse
Le data lakehouse sert de plateforme unifiée pour le stockage et le traitement de tous les types de données. Il conjugue la flexibilité du data lake avec les fonctionnalités de gestion des warehouses traditionnels. Il accueille à la fois les données structurées et non structurées et offre une très large prise en charge, des analyses SQL aux charges de travail de machine learning, tout en maintenant la qualité et la performance des données.
Outils d'intégration de données
Les outils d'intégration de données soutiennent les deux grandes approches principales de la gestion des données : l'intégration directe et la virtualisation des données. Les outils d'intégration directe extraient les données dans la base de données centrale et les convertissent dans un format unifié pour l'analyse à l'aide de méthodes comme l'ETL (extraction, transformation, chargement), l'ELT (extraction, chargement, transformation) et le traitement en temps réel et en masse. La virtualisation des données permet d'interroger les données là où elles résident grâce à la fédération. Cette pratique permet d'obtenir une vue unifiée sur les sources distribuées sans déplacer les données. Ces approches peuvent être utilisées ensemble et adossées à des capacités d'automatisation, d'orchestration, de qualité des données et d'enrichissement. Les clients produisent de plus en plus leurs rapports directement dans le data warehouse pour éviter de déplacer les données.
Métadonnées
Essentielles pour la gouvernance et la gestion des données, les métadonnées sont des informations sur les données. Elle apportent du contexte sur l'origine des données, leur transformation, leur structure, leurs relations et leur utilisation. Les métadonnées techniques détaillent les schémas, les types et la provenance des données, tandis que les métadonnées métier décrivent les données pour les utilisateurs non techniques.
Outils d'accès aux données
Les outils d'accès aux données permettent aux utilisateurs d'interroger, d'analyser et de visualiser les données stockées dans le data warehouse. Ils sont donc un pont entre les données brutes et les décideurs. Ces outils englobent des logiciels de reporting, les plateformes de BI, les outils OLAP, les outils d'exploration des données, les outils de développement d'applications et les API qui mettent les données à la disposition des utilisateurs techniques et non techniques.
Capacités intégrées d'IA et de ML
Les entrepôts de données modernes incluent souvent des capacités d'IA et de ML intégrées qui permettent d'automatiser le traitement des données, la détection de modèles, la détection d'anomalies et l'analyse prédictive directement dans l'environnement du warehouse sans nécessiter de système d'IA/ML distinct.
Tableaux de bord interactifs
Les tableaux de bord d'analyse visuelle offrent un accès en temps réel aux insights sous forme de tableaux interactifs, de graphiques et de rapports. Grâce à ces interfaces en libre-service, les utilisateurs techniques et non techniques explorent les données, créent des visualisations et génèrent des insights sans avoir à écrire de requêtes complexes.
Cadre de gouvernance
Un cadre de gouvernance complet gère le contrôle de l'accès aux données, les politiques de sécurité, les exigences de conformité et les normes de qualité des données. Il s'appuie sur des outils de data lineage, de journalisation à des fins d'audit, de protection de la vie privée et de gestion de la conformité réglementaire, qui portent sur l'ensemble de l'environnement du data warehouse.
Concepts d'entreposage des données : Inmon et Kimball
Bill Inmon et Ralph Kimball, pionniers de l'entreposage de données, ont des approches différentes de la conception du data warehouse. L'approche de B. Inmon fait du data warehouse le dépôt central des données de l'entreprise, et elle est généralement désignée par le nom d'approche descendante.
Le modèle de R. Kimball, appelé « approche ascendante », se concentre d'abord sur la création de data marts, qui sont des bases de données spécialisées et adaptées à des unités ou des services spécifiques au sein d'une entreprise. Leur intégration au sein d'un data warehouse plus vaste se fait dans un second temps.
Approche Inmon
Le modèle descendant de B. Inmon établit un data warehouse centralisé qui joue le rôle de source unique de vérité pour l'ensemble de l'entreprise. Selon son approche, les données sont extraites des systèmes sources, puis nettoyées et stockées dans un format normalisé dans le data warehouse central. La normalisation assure la cohérence des données, minimise les redondances et facilite l'intégration de divers ensembles de données. On peut ensuite créer des data marts axés sur des domaines d'activité spécifiques, en tant que sous-ensembles du data warehouse principal. Ces data marts sont dérivés du dépôt central afin de garantir la cohérence avec l'architecture globale des données de l'entreprise.
Approche Kimball
La méthode ascendante de R. Kimball vise d'abord la construction de data marts répondant directement à des questions métier et à des exigences de reporting spécifiques. Ces data marts sont ensuite combinés pour créer le data warehouse destiné à faciliter l'analyse et la création de rapports. L'approche Kimball s'appuie sur un modèle dimensionnel composé de tables de « faits » contenant des mesures numériques, et de tables de « dimensions » contenant des attributs descriptifs. Ces tables sont généralement structurées selon un schéma en étoile pour simplifier les requêtes et l'analyse. Les données sont dénormalisées, ce qui accélère la phase initiale de la conception du data warehouse. En se concentrant sur des domaines d'activité précis plutôt que sur l'ensemble de l'entreprise, le data warehouse prend moins de place dans la base de données et facilite de ce fait la gestion du système.
Choisir la bonne approche
Les organisations doivent choisir l'approche d'architecture de data warehouse qui convient le mieux à leurs besoins. Au besoin, elles ne doivent pas hésiter à combiner les approches Inmon et Kimball : c'est ce qu'on appelle le modèle hybride.
En général, l'approche Inmon offre une solution complète et évolutive pour gérer les grands datasets à l'échelle de l'entreprise. Parce qu'il garantit la cohérence et la fiabilité des analyses dans toute l'organisation, il permet de produire des insights sophistiqués sans jamais perdre de vue la qualité ni la gouvernance des données. En revanche, les utilisateurs ont besoin d'outils avancés et spécialisés pour effectuer des requêtes et des analyses. De plus, lorsqu'on choisit cette méthode, le développement du data warehouse nécessite un investissement significatif en termes de temps, de ressources et d'expertise technique.
De son côté, l'approche Kimball assure une livraison flexible et rapide des données. Elle permet aux utilisateurs finaux d'interroger et d'analyser les données directement dans les data marts, à l'aide d'outils familiers et de modèles en libre-service. La découverte et l'analyse deviennent accessibles aux utilisateurs dépourvus de compétences spécialisées et d'outils avancés. Quand les organisations ont besoin de rapports et d'analyses conviviaux et rapides, ou que le budget et les ressources sont limités, la méthode Kimball est souvent préférable.
Structuration du data warehouse
Les organisations utilisent des schémas pour décrire les différents agencements logiques des données, au sein d'un data warehouse. Ces agencements sont représentés par des objets tels que des index et des tables. Ces schémas déterminent les modalités de stockage et de gestion des données, et notamment les définitions des termes et des relations ainsi que leur agencement. Les entreprises utilisent trois types de schémas pour structurer un data warehouse.
Schéma en étoile
Un schéma en étoile est un modèle de données multidimensionnel qui permet d'organiser une base de données afin de faciliter sa compréhension et son analyse. Optimisé pour l'interrogation de grands ensembles de données, le schéma en étoile est le schéma de data warehouse le plus simple. Il se compose d'une seule table de faits au centre, connectée à plusieurs tables de dimensions. Grâce aux schémas en étoile, les utilisateurs peuvent librement classer et décomposer les données, généralement en joignant au moins deux tables de faits ou de dimension.
Les schémas en étoile sont utilisés pour dénormaliser des données métier en dimensions (comme le temps et le produit) et en faits (comme des transactions de montants et de quantités). En effet, les modèles de données dénormalisés présentent une plus grande redondance (duplication des données), ce qui accélère les performances des requêtes au prix de la création de doublons.
Schéma en flocon de neige
Un schéma en flocon de neige est une extension d'un schéma en étoile. Dans ce type de schéma, les tables de dimension sont décomposées en sous-dimensions. Le modèle de données est donc plus complexe. Toutefois, il peut être plus facile à utiliser pour les analystes pour certains types de données.
Les schémas en étoile et les schémas en flocon de neige se distinguent essentiellement par le fait que les derniers normalisent les données. En raison de leur respect rigoureux des normes et standards, les schémas en flocon de neige offrent une meilleure efficacité de stockage. En revanche, les performances de la requête ne sont pas aussi bonnes qu’avec des modèles de données dénormalisés. Les schémas en flocon de neige sont couramment utilisés dans la Business Intelligence, le reporting dans les data warehouses OLAP, les data marts et les bases de données relationnelles.
Schéma en galaxie
Le schéma en galaxie connecte plusieurs tables de faits à des tables de dimensions normalisées partagées, contrairement aux schémas en étoile et en flocon de neige, qui n'utilisent qu'une seule table de faits. Interconnecté et normalisé, le schéma en galaxie élimine presque totalement la redondance et l'incohérence des données. Les schémas en galaxie sont connus pour leur haut niveau de précision et de qualité des données. Ils offrent une excellente base pour des analyses et des rapports efficaces, et sont à ce titre un bon choix pour les systèmes de base de données complexes.
Défis de l'architecture de data warehouse
La conception et la maintenance d'une architecture de data warehouse présentent plusieurs défis qui affectent l'efficacité et la performance du système.
Données non structurées
Les données non structurées (images, vidéos, fichiers texte et journaux) sont essentielles pour l'amélioration permanente, l'innovation et la créativité. Elles offrent en effet la possibilité de découvrir de nouveaux modèles et des insights dans différentes sources de données. Mais il faut savoir que les architectures traditionnelles de data warehouse sont conçues pour les données structurées ; les organisations peuvent donc avoir besoin d'outils sophistiqués pour concrétiser la valeur des données non structurées. Le volume de données non structurées peut également poser des difficultés pour le stockage et l'efficacité de la gestion des données.
Évolutivité
Lorsque les organisations évoluent, l'augmentation exponentielle du volume de données met l'évolutivité des architectures de data warehouse à l'épreuve. Les systèmes traditionnels on-premise peuvent avoir du mal à prendre en charge des datasets à grande échelle, des charges de requêtes élevées ou des exigences de traitement en temps réel. Les data warehouses basés dans le cloud offrent une évolutivité élastique mais l'optimisation des ressources et des coûts nécessite une planification soigneuse.
Coût
Le développement et la maintenance d'un entrepôt de données représentent un investissement significatif en infrastructure et en personnel qualifié. La mise en place d'un système on-premise coûte cher, mais c'est aussi le cas des solutions basées sur le cloud. Les coûts augmentent avec l'augmentation des volumes de données et des demandes des utilisateurs, mais aussi avec l'intégration de capacités d'analyse avancées ou d'IA.
Performance et efficacité
La performance et l'efficacité d'un data warehouse sont cruciales pour les opérations commerciales, en particulier lorsque l'on manipule de grands datasets et de requêtes complexes. Des lenteurs dans le traitement des requêtes et des pipelines de traitement de données inefficaces vont nuire à la productivité des utilisateurs et à la prise de décision. Pour atteindre des performances optimales, il faut souvent accroître la complexité de la conception et de la gestion du système.
Utilisation non technique
Les utilisateurs non techniques doivent pouvoir accéder aux données et les analyser, mais les data warehouses traditionnels exigent souvent une maîtrise technique de SQL ou d'autres outils techniques. Le résultat : un système lent et inefficace, dans lequel les utilisateurs sont contraints de soumettre leurs demandes aux équipes data et d'attendre la livraison des données. Pire encore, ces goulets d'étranglement et ces retards sont amplifiés dans les grandes organisations.
Systèmes distincts pour l'IA et le ML
Les data warehouses traditionnels sont conçus pour les charges de travail courantes : rapports historiques, BI et interrogation, principalement. Ils n'ont jamais été pensés pour – ni destinés à – prendre en charge les charges de travail du machine learning. On peut naturellement utiliser des pipelines de données supplémentaires pour transférer les données entre le warehouse et les environnements spécialisés d'IA/ML, mais cela augmente la complexité et la latence des opérations. La solution consiste à intégrer les capacités d'IA et de ML directement dans le data warehouse, ou à utiliser des plateformes hybrides.
Systèmes distincts pour la BI
Les architectures traditionnelles font souvent appel à des systèmes spécialisés distincts pour la business intelligence et l'analytique, avec un double inconvénient : la création de silos de données et des déplacements de données complexes entre les systèmes. Cette séparation peut provoquer des incohérences dans les données, augmenter les coûts de maintenance et retarder la production d'insights. Les plateformes intégrées modernes combinent le stockage de données et les capacités de BI dans un même environnement. Elles aident ainsi les organisations à rationaliser leurs workflows d'analytique et à garantir la cohérence des données.
Systèmes distincts pour la gouvernance des données
Il est difficile, avec des systèmes déconnectés de gouvernance des données, de maintenir la cohérence des politiques, des contrôles d'accès et des normes de conformité à travers l'écosystème de données. Les organisations sont souvent aux prises avec des outils de gouvernance cloisonnés qui ne communiquent pas efficacement entre eux, ce qui crée à la fois des vulnérabilités de sécurité et des risques de non-conformité. Un cadre de gouvernance unifié et étroitement intégré à la plateforme de données garantit une application cohérente des politiques et simplifie la gestion de la conformité.