La question de construire un Data Warehouse se pose à toutes les entreprises arrivées à un certain stade de maturité et souhaitant améliorer leurs prises de décision grâce à une meilleure exploitation des donnés.
Nous allons vous partager les principales étapes de création d’un Data Warehouse. Cet article s’adresse à tous ceux qui souhaitent construire un entrepôt de données et nous pensons ici en particulier aux Data Analytists débutants.
Disons-le d’emblée : créer un Data Warehouse n’est pas quelque chose de simple. Une bonne partie, si ce n’est la majorité des projets Data Warehouse sont des échecs ou aboutissent à la mise en place de système ne correspondant pas tout à fait aux attentes et besoins initiaux.
Comment concevoir et construire un projet Data Warehouse ? Quels sont les écueils à éviter, les points de vigilance à avoir ? Et, c’est la première question clé à se poser, par où commencer ?
Sommaire
- Qu’est-ce qu’un Data Warehouse ? [Définition]
- Comment concevoir un Data Warehouse ?
- #1 Définir les objectifs du Data Warehouse
- #2 Créer un schéma pour chaque source de données
- #3 Synchroniser les sources de données dans votre Data Warehouse
- #4 Faut-il transformer les sources de données avant l’import dans le Data Warehouse ?
- #5 Transformer les données pour résoudre un problème spécifique
- #6 Produire une documentation interne
- Les réponses à vos questions au sujet du data warehouse
Qu’est-ce qu’un Data Warehouse ? [Définition]
Avant de commencer, rappelons rapidement en quoi consiste un Data Warehouse (ou « entrepôt de données » en français).
Un Data Warehouse est un système informatique qui sert à stocker toutes les données de l’entreprise. C’est une gigantesque base de données capable de se connecter à toutes vos sources de données et pouvant héberger tous types de données à condition qu’elles aient un format un minimum structuré (c’est là que les Data Warehouse se distinguent des lacs de données). Les données sont organisées dans différentes tables plus moins reliées entre elles. Les différents compartiments d’un Data Warehouse sont appelés data marts.
Dans un Data Warehouse « moderne » (construit dans BigQuery, Azure ou Snowflake par exemple), les données sont stockées sur des serveurs cloud sécurisés et non en local.
La principale finalité d’un Data Warehouse est de faciliter l’analyse des données, en connectant un outil de Business Intelligence / reporting à votre entrepôt de données. Mais les données stockées dans un Data Warehouse peuvent également être utilisées à des fins d’activation, notamment marketing. C’est ce que l’on appelle l’opérationnalisation des données du Data Warehouse. L’exploitation des données du DWH par les outils marketing et les autres outils d’activation est facilitée par l’utilisation de technologies de type Reverse ETL.
Comment concevoir un Data Warehouse ?
Voici, schématiquement, à quoi ressemble, le fonctionnement d’une architecture Data Warehouse :
Les donnés en provenance de vos différentes sources de données sont chargées dans l’entrepôt de données avant ou après avoir été transformées via un ETL (Extract – Transform – Load) si la transformation précède le chargement dans l’entrepôt ou simplement EL (Extract – Load) si les transformations sont opérées a posteriori du chargement dans l’entrepôt. La tendance moderne consiste à choisir la deuxième solution : on charge les données dans le DWH avant de les transformer.
Les données stockées dans le Data Warehouse font ensuite l’objet d’un travail de modélisation et de transformation. Les données, une fois préparées, peuvent être envoyées à un outil de BI, de reporting, de Data Vizualisation (peu importe le nom que vous lui donnez) à des fins d’analyse et de reporting. Les données peuvent aussi être exploitées à des fins d’activation, même si les cas d’usage analytiques sont de loin majoritaires.
C’est ce que résume ce schéma.
Le Data Warehouse est le dispositif technologique qui permet à une entreprise de déployer une/des stratégie(s) data-driven. Un Data Warehouse sert à réaliser des analyses, à faire de la BI, du reporting.
Comment concevoir un Data Warehouse ? En commençant par formuler vos besoins et objectifs en matière d’exploitation des données, et en particulier en matière de reporting, de BI. C’est le point de départ. Les projets Data Warehouses qui échouent ont tous un point commun : les besoins du projet n’avaient pas suffisamment été formalisés en amont. C’est à partir d’une qualification précise des objectifs que vous pourrez déduire les cas d’usage et mettre en place les flux de données adéquats.
Si le sujet des Data Warehouse vous intéresse, je vous invite fortement à parcourir ces articles :
#1 Définir les objectifs du Data Warehouse
Les Data Warehouse sont indispensables pour effectuer des requêtes logiques, élaborer des modèles de prévision précis, améliorer l’analyse de données en temps réel et identifier les tendances ayant un impact sur votre organisation. Mais quels sont les éléments clés pour concevoir un entrepôt de données ? Voici en résumé les principales finalités qui peuvent motiver la mise en place d’un Data Warehouse :
- Centraliser les données: Au cœur de la stratégie de gestion des données, la centralisation est la mission première d’un Data Warehouse. En rassemblant toutes les données d’une entreprise en un lieu unique, il devient un véritable puits de connaissance, accessible et exploitable. Cette centralisation permet une vision unifiée et complète de l’entreprise, essentielle pour une analyse approfondie et la détection de synergies inexplorées entre différentes sources de données.
- Faciliter l’analyse des données : Un Data Warehouse transforme le chaos des données disparates en un paysage ordonné et structuré, prêt pour l’exploration. En organisant les données de manière logique et intuitive, il ouvre la porte à des analyses complexes avec plus de facilité et moins de temps de préparation. Cela permet aux décideurs de s’appuyer sur des données fiables pour éclairer leurs choix, optimiser les performances et prévoir les évolutions de marché avec une précision accrue.
- Améliorer la qualité des données : En centralisant les données, un Data Warehouse devient le gardien de la qualité des données, en s’assurant de leur cohérence, de leur exactitude et de leur intégrité. Les processus de nettoyage, de déduplication et d’enrichissement des données garantissent que seules les informations précises et actualisées sont disponibles pour analyse. Cela réduit les risques de décisions basées sur des données erronées et améliore la fiabilité des insights générés.
- Augmenter la collaboration entre les équipes : En offrant un accès unifié aux données, un Data Warehouse élimine les silos informationnels et favorise un environnement collaboratif. Les équipes de différents départements peuvent ainsi travailler sur les mêmes ensembles de données, partager des insights et harmoniser leurs stratégies. Cette synergie renforce l’alignement interne et stimule l’innovation, en permettant à chacun de contribuer à la vision globale de l’entreprise.
- Économiser de l’argent : L’investissement dans un Data Warehouse se traduit par des économies substantielles sur le long terme. En consolidant les données en un seul système, les entreprises réduisent les coûts opérationnels liés à la maintenance de multiples bases de données et systèmes de stockage. De plus, l’efficacité accrue dans l’analyse des données et la prise de décision basée sur des données fiables peuvent conduire à une allocation plus judicieuse des ressources et à une réduction des dépenses inutiles.
#2 Créer un schéma pour chaque source de données
Nous vous recommandons de créer un schéma pour l’ensemble des sources de données que vous souhaitez synchroniser avec le Data Warehouse.
Cela vous permettra :
- D’identifier rapidement de quelle source de données provient chaque table, ce qui sera de plus en plus utile à mesure que le nombre de sources de données augmentera. Les futurs analystes qui rejoindront l’entreprise pourront ainsi plus facilement identifier les données provenant de chaque source de données.
- De mettre en place des permissions (lecture / écriture) pour chaque source de données. Par exemple, si vous êtes Data Engineer, vous voulez peut-être accorder des droits d’écriture à votre analyste stagiaire, sans pour autant lui donner la possibilité de toucher à toutes les données et sources de données.
Plus vous avez de sources de données, plus ce travail a d’importance. A une époque de croissance exponentielle des volumes d’outils utilisés par les entreprises, cette étape devient de plus en plus incontournable.
Par exemple, vous pouvez mettre en place un schéma
mailchimp
pour les données d’email marketing que vous souhaitez importer dans votre Data Warehouse à partir de l’application MailChimp. Lorsque vous importerez vos tables de contacts de MailChimp dans votre base de données, vous pourrez les trouver en utilisant la requête :
SELECT name, email FROM mailchimp.contacts
Comment créer un schéma ?
Créer un schéma est assez simple. Vous avez juste à taper une ligne pour créer un nouveau schéma. Dans Postgres, vous n’avez que 3 mots à écrire :
CREATE SCHEMA [datasource_name]
Par exemple :
CREATE SCHEMA mailchimp
Si vous débutez dans l’analyse, vous n’êtes peut-être pas encore à l’aise avec la définition d’un schéma. En réalité, il y a deux définitions. On peut parler de schéma pour décrire :
- Comment les tables et les champs d’une base de données sont reliés entre eux.
- Un dossier pour les tables de votre base de données – un dossier comme ceux, classiques, qui servent à organiser des fichiers.
Deuxième remarque importante : les bases de données mySQL ne gèrent pas les schémas. Vous devez donc mettre en place des conventions de nommage pour nommer les tables que vous importez, par exemple : mailchimp_contacts, etc. C’est une des raisons pour lesquelles nous encourageons l’utilisation de PostgreSQL.
Contactez Cartelis
pour enfin capitaliser sur vos données clients.
Cartelis vous accompagne dans le cadrage et le déploiement d'une stratégie data et CRM vraiment impactante.
Analyse client, Choix des outils, Pilotage projet et Accompagnement opérationnel.
Prendre contact avec Cartelis#3 Synchroniser les sources de données dans votre Data Warehouse
L’étape suivante consiste à synchroniser vos sources de données dans votre Data Warehouse. C’est le « fameux » process ETL : Extract, Transform, Load.
Voici quelques recommandations pour le design de votre script d’import :
- Supprimer les colonnes non-nécessaires. Vous pourrez les rajouter plus tard si vous réalisez que vous en avez besoin.
- Renommer les colonnes pour les rendre plus descriptives ou database friendly.
- Filtrer les enregistrements à l’évidence inutiles.
- Appliquer vos indexes de bases de données à votre table de destination une fois que l’import a été réalisé.
- Mettre en place des alertes emails/Slack pour que les parties prenantes du projet (en particulier les Data Analysts) puissent être immédiatement avertis lorsqu’une erreur / un bug se produit.
Découvrez notre comparatif complet des outils ETL (Cloud, On-Premise, Open Source).
#4 Faut-il transformer les sources de données avant l’import dans le Data Warehouse ?
C’est une question que nos clients nous posent souvent : est-ce qu’il faut transformer les données avant de les déplacer dans le Data Warehouse et si oui comment ? Notre conseil, en général, est de ne pas le faire. En tous cas pas au début…surtout s’il s’agit de votre premier projet Data Warehouse.
Il y a plusieurs raisons :
- Il est peu probable que vous soyez au clair sur les besoins en termes de transformation de données. Même si on vous a formulé des besoins clairs, il y a des chances que ces besoins évoluent au cours du projet. Ce serait bête de perdre du temps à modifier plusieurs fois le script ETL.
- Il est très probable que vous ayez besoin des sources de données pour d’autres cas d’usage. Vous devez imaginer une source de données comme une base d’interaction qui peut être dérivées dans plusieurs tables – soit en les agrégeant selon différentes dimensions soit en les couplant avec des tables issues d’autres sources de données.
Ci-dessous, un exemple de la manière dont on peut tracker la performance d’un vendeur :
Lorsque vous transformez les données, vous perdez des informations issues de la source de données qui pourraient vous être utiles pour vos reportings futurs. Prenons un exemple tout bête : lorsque vous résumer les revenus commerciaux par période de temps, vous perdez les informations relatives à chaque vente en particulier – des informations qu’un autre utilisateur du Data Warehouse pourraient avoir besoin.
En transformant la donnée avant de l’importer dans le Data Warehouse, vous limitez vous-mêmes les cas d’usage possible du dispositif.
Il y a des cas où transformer la donnée avant de la charger dans le Data Warehouse peut faire sens. Mais ces cas, à chaque fois, concernent des entreprises qui ont déjà en place un dispositif Data Warehouse robuste et qui cherchent à aller plus loin.
Donc, en résumé, privilégiez l’approche ELT à l’approche ETL : chargez (L) avant de transformer (T).
Cartelis est un cabinet de conseil opérationnel CRM.
Nous aidons nos clients à structurer et exploiter pleinement leur dispositif CRM / Relation client.
- Cartographie & analyse des parcours clients
- Analyse avancée de la base clients / actions marketing
- Définition des programmes relationnels
- Architecture CRM & choix des solutions
- Mise en place datamart & flux de données
- AMOA projet CRM & paramétrage scénarios
- Pilotage & Amélioration de la performance
#5 Transformer les données pour résoudre un problème spécifique
Savoir comment transformer les données est une tâche complexe. Pourtant, vous devez y réfléchir. Sinon, vous et vos équipes risquez de passer un temps considérable à optimiser des données qui n’ont aucune valeur pour votre activité.
Planifier, concevoir et implémenter des transformations de données sans une vision claire des objectifs poursuivis est absurde. Comme nous l’avons déjà rappelé, vous devez toujours travailler avec une finalité en tête. Les transformations de données ne doivent être menées que pour adresser un cas d’usage précis ou un problème issu de votre reporting.
Une bonne manière de trouver et de prioriser ces cas d’usage pratiques est de commencer à créer un dispositif de reporting et des tableaux de bord avec les données que vous avez importé dans le Data Warehouse. Lorsque les utilisateurs commenceront à rencontrer des problèmes de performance, vous pourrez alors envisager des transformations de données.
Quels genres de problèmes ? Par exemple, lorsqu’un rapport contient des sous-requêtes emboitées ou des CTE (custom table expressions) :
Ou bien lorsqu’un reporting contient plusieurs joins à travers plusieurs tables.
C’est dans ce cas de figure que la flexibilité qu’offrent les rapports en SQL est la bienvenue pour identifier les problèmes que la data transformation peut résoudre.
Cela est en grande partie réalisé en pré-agrégeant automatiquement les données. Cela peut être effectué en utilisant des vues matérialisées à partir desquelles vous pouvez créer des transformations de données qui :
- Soit agrègent de grandes tables de transaction pour accélérer la vitesse des requêtes.
- Soit créent des tables dérivées avec des colonnes issues de différentes sources de données.
- Soit remplacent / masquent des données sensibles pour certains groupes d’utilisateurs.
Une autre recommandation est de créer un nouveau schéma de base de données dans votre Data Warehouse pour stocker toutes vos tables transformées ou post-processées. Comme l’approche que nous vous avons présentée précédemment qui consiste à séparer chaque source de données grâce à des schémas, créer un schéma spécifique peut vous aider à identifier la liste des tables de données dérivées / transformées.
#6 Produire une documentation interne
C’est très important si vous ne voulez pas que votre Data Warehouse se transforme en boîte noire accessible à seulement quelques Data Engineers. Si les utilisateurs cibles du Data Warehouse ne comprennent pas comment il fonctionne, comme les données sont organisées, ils ne l’utiliseront pas.
Vous pouvez commencer par créer un document partagé (un Google Doc par exemple) qui apporte les éléments de compréhension concernant les tables et les colonnes de vos sources de données – et comment les interpréter, qui inclut un diagramme de données s’il y en a un, qui explique comment lire les colonnes dans les rapports (tableaux de bords, métriques) et décrit toutes les hypothèses utilisées, etc.
Les réponses à vos questions au sujet du data warehouse (FAQ)
Qu’est-ce qu’un Data Warehouse ?
Un Data Warehouse est une base de données centralisée qui stocke des données provenant de différentes sources pour permettre une analyse plus complète.
Quelle est la différence entre un Data Warehouse et une base de données traditionnelle ?
Une base de données traditionnelle est conçue pour stocker et récupérer des données en temps réel, tandis qu’un Data Warehouse est conçu pour stocker des données historiques et les rendre accessibles pour une analyse approfondie.
Quels sont les avantages d’un Data Warehouse ?
Les avantages comprennent une vue consolidée des données, une analyse plus complète, une prise de décision plus éclairée, une amélioration de la qualité des données et une meilleure collaboration entre les équipes.
Comment fonctionne un Data Warehouse ?
Un Data Warehouse extrait des données de différentes sources, les transforme et les charge dans une base de données centrale. Les données sont organisées en dimensions et en faits pour permettre une analyse plus approfondie.
Qu’est-ce que l’ETL ?
L’ETL (Extraction, Transformation, Load) est un processus utilisé pour extraire des données de différentes sources, les transformer pour qu’elles soient conformes aux normes, puis les charger dans la base de données centrale.
Qu’est-ce qu’une dimension ?
Une dimension est une catégorie de données qui peut être utilisée pour organiser les données. Par exemple, une dimension pour les clients mobilise des informations telles que le nom, l’adresse et le type de client.
Qu’est-ce qu’un fait ?
Un fait est une mesure numérique que l’on souhaite analyser dans un Data Warehouse. Par exemple, le nombre de ventes par client ou le chiffre d’affaires par produit.
Qu’est-ce que la modélisation en étoile ?
La modélisation en étoile est une technique de conception de Data Warehouse dans laquelle les dimensions sont organisées autour d’une table centrale de faits pour permettre une analyse facile.
Qu’est-ce que la modélisation en flocon de neige ?
La modélisation en flocon de neige est une variante de la modélisation en étoile dans laquelle les dimensions sont hiérarchisées pour permettre une analyse plus complexe.
Quels sont les outils utilisés ?
Plusieurs outils sont couramment utilisés, tels que les outils d’ETL (Informatica, Talend), les outils de modélisation (ERwin, PowerDesigner) et les outils d’analyse à l’image de Tableau et PowerBI.
Qu’est-ce qu’un data mart ?
Un data mart est une version réduite d’un Data Warehouse qui est spécifiquement conçue pour répondre aux besoins d’un département ou d’une équipe particulière.
Quels sont les défis associés à la mise en place d’un Data Warehouse ?
Le déploiement d’un Data Warehouse soulève plusieurs défis. Le principal concerne la mise en place des flux ETL entre les sources de données et la base de données DWH. La gestion et la maintenance de la qualité des données sont un autre défi souvent mal anticipé par les entreprises.
Quelles sont les best practices ?
Il y a une multitide de best practices ! S’il fallait n’en n’en citer que quelques uns, on pourrait citer la modélisation dimensionnelle, l’utilisation de schémas en étoile ou en flocon, la normalisation des données, la gestion des changements, la documentation et la collaboration avec les parties prenantes.
Comment garantir la qualité des données ?
Garantir la qualité des données est crucial ! Pour assurer la fiabilité et la pertinence des informations, il faut de mettre en place un processus de collecte de données standardisé et organiser la vérification régulière de l’exactitude des données. Le respect du RGPD est également essentielle et vous pouvez également mettre en place un système de validation et de nettoyage des données en vous aidant d’outils d’automatisation pour détecter et corriger les erreurs.
Comment le data warehouse peut-il aider une entreprise à prendre des décisions plus rapides et plus éclairées ?
Le data warehouse centralise et intègre des données provenant de sources diverses pour permettre leur analyse à grande échelle. Cela vous aide à prendre des décisions éclairées sur la base de données fiables et pertinentes.
Voilà, nous espérons que cet article vous sera utile dans le projet de construction de votre Data Warehouse. Si vous avez la moindre question, n’hésitez pas à nous contacter !
Laisser un commentaire