Vous êtes analyse débutant et vous voulez monter votre premier Data Warehouse ? Un Data Warehouse digne de ce nom, bien organisé, scalable et fiable ? Nous allons vous expliquer comment faire.
Si l’entreprise avec laquelle vous travaillez souhaite mieux exploiter ses données et prendre des décisions data-driven, la question de l’implémentation d’un Data Warehouse se posera nécessairement à un moment donné.
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 ?
Pour produire ce guide complet, nous nous sommes largement inspirés d’un article publié en anglais sur le blog d’Holistics.
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).
Toutes les entreprises modernes ont à leur disposition des données. Ces données sont stockées dans différents endroits : ce sont les sources de données, data sources. Ces données peuvent provenir :
- Des applications de bases de données : pour une startup, il s’agit en général du produit développé. Pour une entreprise classique, de l’ERP.
- Des applications web, utilisées pour scaler ou tout simplement gérer une activité. On peut penser à des logiciels d’email marketing comme Sendinblue, à des applications analytics comme Google Analytics ou Mixpanel, à des logiciels de gestion comptable comme Xero ou Sage, etc.
- Des feuilles de calcul: fichiers Excel, fichiers .csv, Google Sheets, etc. Ces données peuvent être mises à jour manuellement ou de manière automatisée via des solutions comme Zapier.
Le rôle d’un Data Warehouse est de synchroniser toutes ces données provenant de toutes les sources de l’entreprise dans un lieu unique à des fins de reporting.
Comment concevoir un Data Warehouse ?
Voici, schématiquement, à quoi ressemble, le fonctionnement d’une architecture Data Warehouse :
Que retirer de ce schéma ? Qu’un Data Warehouse sert à réaliser des analyses, à faire de la BI, du reporting. Le Data Warehouse est le dispositif technologique qui permet à une entreprise de déployer une/des stratégie(s) data-driven.
Vous devez donc imaginer, concevoir et construire le dispositif Data Warehouse en vous basant et en vous référant sans cesse aux besoins de reporting de l’entreprise. C’est la clé. Un projet Data Warehouse doit donc débuter par un travail de formulation des objectifs, à partir desquels vous pourrez déduire les besoins et décliner les cas d’usage à implémenter. Une fois que vous aurez identifié les données dont vous aurez besoin, vous pourrez construire les flux de données à mettre en place.
Voici maintenant quelques étapes clés à suivre pour réussir à construire votre Data Warehouse.
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 étapes de la conception d’un Data Warehouse :
- Centraliser les données: l’objectif principal d’un Data Warehouse est de centraliser toutes les données d’une entreprise en un seul endroit, afin de pouvoir les exploiter de manière efficace et cohérente.
- Faciliter l’analyse des données : grâce à un Data Warehouse, les données sont organisées et structurées de manière à faciliter l’analyse, ce qui permet aux entreprises de prendre des décisions plus éclairées.
- Améliorer la qualité des données : en centralisant les données dans un Data Warehouse, les entreprises peuvent s’assurer que toutes les données sont cohérentes et de haute qualité, ce qui facilite l’analyse et la prise de décisions.
- Augmenter la collaboration entre les équipes : un Data Warehouse permet aux différentes équipes d’une entreprise d’avoir accès aux mêmes données et aux mêmes analyses, ce qui facilite la collaboration et la prise de décisions en équipe.
- Économiser de l’argent : en utilisant un Data Warehouse, les entreprises peuvent réduire les coûts liés à la gestion des données, notamment en évitant les coûts liés à la maintenance de plusieurs systèmes de stockage de données différents.
#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 quel 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.
- Transformer les sources de données en amont consomme des ressources et peu retarder votre projet Data Warehouse.
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.
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