Qu'est-ce que l'entreposage de données ?
Tout ce que vous devez savoir sur un Data Warehouse
Business Intelligence
Data
| Edité le : 20 décembre 2021
Le concept d’entrepôt de données (EDD), encore appelé en anglais, Data Warehouse (DWH) remonte à la fin des années 1980 lorsque Barry Devlin et Paul Murphy, deux chercheurs chez IBM ont développé un « business data warehouse ». Leur objectif était de fournir un modèle d’architecture pour le flux de données de différentes systèmes opérationnels aux environnements d’aide à la décision.
Data Warehouse : définition
Qu’est-ce qu’un EDD ?
Un Data Warehouse est une base de données relationnelle hébergée sur un serveur, que ce soit dans un Data Center ou dans le Cloud. Elle recueille des données de sources variées et hétérogènes afin de faciliter l’analyse et les prises de décision. En matière d’intégration dans le système de données existant, le Data Warehouse est basé sur le processus ETL (Extract, Tranform, Load) permettant de charger les données provenant des différentes applications.
Si l’on rentre un peu plus dans la technique, un Data Warehouse est un ensemble de données qui a 4 principales caractéristiques :
- Orienté sur le sujet
- Intégré
- Varante temporelle
- Non volatile
Orienté sur le sujet :
Organisé par thème, il est possible d’utiliser le Data Warehouse pour analyser n’importe quel secteur particulier de l’entreprise.
Intégré :
Avant toute utilisation, les données récupérées de sources hétérogènes internes ou externes sont intégrées au Data Warehouse. Pour cela, il est nécessaire de les mettre en forme et de les unifier pour garantir une certaine cohérence. Les données proviennent principalement de traitement transactionnel en ligne (OLTP).
Variante temporelle :
Les données passées sont également conservées dans le Data Warehouse, contrairement à certains des systèmes transactionnels traditionnels où seules les données les plus récentes sont stockées. Cela permet de visualiser l’évolution dans le temps des différentes données.
Non volatile :
Les données une fois stockées dans l’entrepôt de données ne peuvent jamais être modifiées.
Les quatre principales étapes d’utilisation de l’entrepôt de données :
- Base de données opérationnelle hors ligne : les données sont copiées d’un système opérationnel vers un autre serveur afin de ne pas impacter les performances du système opérationnel.
- EDD hors ligne : les données de l’entrepôt de données sont mises à jour, cartographiées et transformées pour répondre aux objectifs définis.
- EDD en temps réel : mise à jour des EDD à chaque fois qu’une transaction a lieu dans la base de données opérationnelle.
- EDD intégré : les EDD sont continuellement mis à jour lorsque le système opérationnel effectue une transaction. Le Data Warehouse génère ensuite des transactions qui sont renvoyées au système opérationnel.
Les trois composants de l’EDD
Les trois composantes des entrepôts de données sont :
- Gestionnaire de charge : aussi appelé « composant frontal », il effectue toutes les opérations associées à l’extraction et au chargement des données dans l’entrepôt. Notamment, les transformations nécessaires pour la préparation des données
- Directeur d’entrepôt : le gestionnaire d’entrepôt effectue les opérations associées à la gestion des données dans l’entrepôt : analyse des données pour assurer la cohérence, la création d’index et de vues, la génération de dénormalisation et d’agrégations, la transformation et la fusion des données sources et l’archivage et la mise en grappes des données
- Gestionnaire de requêtes : ou « composant backend », effectue toutes les opérations liées à la gestion des requêtes utilisateurs (requêtes directes vers les tables appropriées pour planifier l’exécution)
Enfin les outils d’accès pour les utilisateurs finaux sont classés en cinq groupes :
- La déclaration des données
- Outils d’interrogation
- Outils de développement d’applications
- Outils SIE
- Outils OLAP et outils de data mining
Comparatif entre les différentes bases disponibles
Base de données de production
- Opérations : gestion courante, production / lectures, insertions, mises à jour, suppressions
- Modèle de données : entité / relation
- Normalisation : fréquente
- Données : actuelles, brutes, détaillées
- Mises à jour : immédiate, temps réel
- Niveau de consolidation : faible
- Perception : verticale
- Taille : en gigaoctets
Data warehouses
- Opérations : référentiel, analyse ponctuelle / lectures, insertions, mises à jour
- Modèle de données : 3NF, étoile, flocon
- Normalisation : maximum
- Données : historisées, détaillées
- Mises à jour : souvent différée, périodique
- Niveau de consolidation : faible
- Perception : transverse
- Taille : en téraoctets
Datamarts
- Opérations : analyse récurrente, outil de pilotage, support à la décision/ lectures, insertions, mises à jour, suppressions
- Modèle de données : étoile, flocon
- Normalisation : rare
- Données : historisées, agrégées
- Mises à jour : souvent différée, périodique
- Niveau de consolidation : élevé
- Perception : horizontale
- Taille : en gigaoctets
Quelles différences entre Data Warehouse et Data Mart ?
Un Data Mart est un sous-ensemble d’un Data Warehouse. Alors que le Data Warehouse couvre plusieurs sujets ou fonctions, un Data Mart est spécialisé. En d’autres termes, un Data Mart est une forme simple de Data Warehouse centré sur un unique sujet ou fonction. En effet, il est conçu pour accéder plus facilement à des données spécifiques.
Quelles différences entre Data Warehouse et base de données traditionnelle ?
Bien qu’un Data Warehouse et une base de données traditionnelle ont le même but, à savoir le stockage des données, ces deux systèmes ont été conçus à des fins différentes. Voici 3 distinctions majeures entre ces deux technologies :
HISTORIQUE vs COURANT
La base de données sert à stocker les transactions courantes et permet un accès rapide à des transactions spécifiques notamment grâce aux technologies d’indexation.Le Data Warehouse stocke une grande quantité de données historiques et permet des requêtes rapides et complexes à travers les données (technologies OLAP et ses dérivés voire In-memory).
UNICITE vs DUPLICATION
La base de données est normalisée (copie unique de chaque donnée). Le Data Warehouse, stoke généralement différentes versions de données.
LECTURE/ECRITURE vs LECTURE/OPERATION
La base de données est optimisée pour les opérations de type lecture/écriture. Le Data Warehouse traite des requêtes agrégées ainsi que les opérations de type lecture/récupération.
Le futur du Data Warehouse : le Data LakeHouse
De la BI à l’IA
Le lakehouse est une nouvelle architecture disruptive de gestion des données qui simplifie l’infrastructure de données de l’entreprise. Elle accélère l’innovation à une époque où l’apprentissage automatique est sur le point de chambouler tous les secteurs.
Avant son arrivée, la plupart des données qui entraient dans les produits où la prise de décision d’une entreprise étaient des données structurées provenant de systèmes opérationnels. Aujourd’hui, de nombreux produits intègrent l’IA sous la forme de modèles de vision par ordinateur.
Pourquoi utiliser un entrepôt de données plutôt qu’un lac de données pour l’IA ?
Des avantages
Un entrepôt de données offre des propriétés de versioning des données, de gouvernance, de sécurité et d’ACID, qui sont nécessaires, même pour des données non structurées.
Quelques améliorations encore nécessaires
Les entrepôts de données actuels réduisent les coûts, mais leurs performances peuvent encore être inférieures à celles des systèmes spécialisés qui ont des années d’investissements et de déploiements réels derrière eux.
Les utilisateurs peuvent préférer certains outils (outils de BI, IDE, notebooks) à d’autres, de sorte que les entrepôts de données devront également améliorer leur interface utilisateur et leurs connecteurs aux outils les plus populaires afin de séduire un large éventail de personnes.
Ces questions, ainsi que d’autres, seront abordées au fur et à mesure de la maturation et du développement de la technologie. Au fil du temps, les entrepôts de stockage de données combleront ces lacunes tout en conservant les propriétés fondamentales de simplicité, de rentabilité et de capacité à servir diverses applications de données.
Pour aller plus loin :
Cela pourrait vous intéresser
La méthodologie agile Scrum
Agile
Gestion de projet
| Edité le : 20 décembre 2021
Scrum est un cadre de travail (framework) pour le développement, la livraison et la maintenance de produits complexes développé par Ken Schwaber et Jeff Sutherland.
Qu’est ce que la méthodologie Scrum ?
Un cadre de travail
Le « SCRUM » est un cadre de travail au sein duquel les acteurs peuvent aborder des problèmes complexes et adaptatifs, en livrant de manière efficace et créative des produits de la plus grande valeur possible. Scrum n’est pas en soi un processus, une technique ou une méthode définitive. C’est plutôt un cadre de travail (framework) dans lequel vous pouvez utiliser différents processus et techniques.
Scrum met en évidence l’efficacité relative à la gestion de votre produit et aux techniques de travail afin que vous puissiez continuellement améliorer le produit, l’équipe et l’environnement de travail.
La théorie de l’empirisme
Théorie de Scrum Scrum est fondé sur la théorie du contrôle empirique de processus, ou l’empirisme. L’empirisme affirme que la connaissance provient de l’expérience et la prise de décisions est basée sur des faits connus. Scrum utilise une approche itérative et incrémentale pour optimiser la prédictibilité et le contrôle de risque.
Trois piliers
Trois piliers soutiennent l’implémentation d’un contrôle empirique de processus: la transparence, l’inspection et l’adaptation. Transparence Les aspects importants du processus doivent être visibles à tous ceux qui sont responsables des résultats. La transparence requiert la définition d’un standard commun pour ces aspects afin que les observateurs partagent une compréhension commune de ce qui est observé.
Les artefacts
Les utilisateurs de Scrum doivent fréquemment inspecter les artefacts Scrum et l’état d’avancement par rapport à un Objectif de Sprint (Sprint Goal) afin de détecter les écarts indésirables. La fréquence de ces inspections ne devrait pas gêner le travail en cours. Ces inspections sont plus bénéfiques lorsqu’elles sont effectuées avec diligence par des inspecteurs qualifiés sur les lieux de travail.
Les quatre événements
Scrum prescrit quatre événements formels d’inspection et d’adaptation, tels que décrit dans la section événements Scrum de ce document :
- Planification du Sprint (Sprint Planning)
- Mêlée Quotidienne (Daily Scrum)
- Revue de sprint (Sprint Review)
- Rétrospective de Sprint (Sprint Retrospective)
Points clés de la méthodologie Scrum
Si l’on résume, Scrum est un Framework pas très compliqué, qui nécessite :
- Une ÉQUIPE composée du Product owner, du Scrum Master et de l’équipe Dev qui doit être pluridisciplinaire et doit s’organiser. Ils doivent fournir de la valeur rapidement et obtenir le feedback des utilisateurs
- Des VALEURS comme le courage de faire ce qu’il faut et de travailler sur des problèmes difficiles, la capacité de se concentrer sur le travail du Sprint et les objectifs, l’engagement à atteindre les objectifs de l’équipe Scrum, le respect de chacun pour être des personnes capables et indépendantes, et accepter d’être ouvert sur tout le travail et les défis de l’exécution du travail.
- Le respect des 3 PILIERS FONDAMENTAUX qui sont la Transparence en pratiquant un langage commun et le partage de toutes les informations nécessaires, l’Inspection qui consiste à vérifier régulièrement que les développements ne sont pas en phase avec les demandes du client et l’Adaptation pour ajuster le processus ou l’équipement si des déviations sont identifiées.
- Utiliser les EVENEMENTS prescrits pour assurer l’inspection et l’adaptation. Diviser le développement en cycles appelés Sprint (2 ou 3 semaines max), utiliser la planification du Sprint pour déterminer l’objectif du Sprint, le Sprint quotidien (15min max) pour avoir un point quotidien pendant le sprint et, à la fin du sprint, la revue du Sprint pour l’inspection de l’incrément réalisé et la rétrospective du Sprint pour les axes d’amélioration à mettre en œuvre.
- Utiliser les ARTIFACTS pour maximiser la transparence comme le Backlog de produit qui doit contenir les différentes fonctionnalités/tâches du produit, le Backlog de sprint qui contient les tâches à intégrer dans un sprint, la User story où sont définies les fonctionnalités à développer, le Story Point pour estimer la user story, la Definition of Done qui est la checklist des tâches pour déclarer un livrable et l’incrément du produit livré après chaque sprint.
Pourquoi utiliser la méthodologie Scrum ?
L’utilisation première : le développement produit
Scrum a été initialement développé pour la gestion et le développement de produits. Depuis le début des années 1990, Scrum a été largement utilisé dans le monde entier pour:
- Rechercher et identifier des marchés, des technologies et des caractéristiques produit viables
- Développer des produits et des améliorations
- Publier des produits et des améliorations, jusqu’à plusieurs fois par jour
- Développer et maintenir des environnements Cloud (en ligne, sécurisé, à la demande) et d’autres environnements d’exploitation de produits
- Maintenir et renouveler des produits.
Généralisation de l’utilisation
Scrum a été utilisé pour développer des logiciels, du matériel, des logiciels embarqués, des réseaux de fonctions interactives, des véhicules autonomes, des écoles, des gouvernements, du marketing, de la gestion opérationnelle des organisations et presque tout ce que nous utilisons dans notre vie quotidienne.
Face à l’augmentation des complexités sur le plan technologique, marché et environnemental et de leurs interactions, l’utilité de Scrum, pour faire face à cette complexité, est confirmée quotidiennement. Scrum s’est avéré particulièrement efficace dans le transfert itératif et incrémental de savoir.
Arriver rapidement à un mvp
Le principal avantage de Scrum est de conduire rapidement à une première itération d’un produit ou d’un service (MVP).
Validée progressivement par le client, les sprints suivants permettent d’enrichir cette première base. Résultat : En divisant les processus de développement en plusieurs cycles, la gestion de projet aboutit à un processus beaucoup plus productif.
Les projets en cycle en V, de l’analyse des besoins à la spécification des liens, en passant par la conception, le codage et les tests, sont souvent caractérisés par une livraison unique en bout de chaîne qui ne correspond plus aux enjeux métier qui auront nécessairement évolué entre-temps.
Difficultés et bénéfices de la mise en œuvre
Difficulté de mise en œuvre de la méthode agile
Travailler en méthode agile ne s’improvise pas, cela demande rigueur et méthode. Très important, pour une efficacité optimale, la méthode agile doit être appliquée dans tous les domaines d’activité de l’entreprise, et pas seulement l’informatique.
- Le Changement comme toute nouvelle méthodologie de travail il y a un temps d’adaptation pour les équipes qui la pratique pour la toute première fois. Il est important de bien expliquer aux équipes les différents bénéfices de celle-ci.
- L’importance de connaitre le Périmètre et de la Priorisation des besoins avant de se lancer dans la construction de la solution. En effet, si dans les méthodes plus « classiques » le périmètre du produit à développer est une constante et le délais et les coûts sont ajustés alors que pour la méthode Scrum les coûts et délais sont définis comme des invariables et le périmètre est la variable du projet. D’où l’importance de bien connaitre le périmètre.
Bénéfices observés
Meilleure communication entre les différents acteurs, plus de réactivité et plus de visibilité. Cela contribue au succès!
- Plus grande prévisibilité et anticipation des retards grâce au découpage en sprints
- Plus de transparence et d’implication des utilisateurs avec la possibilité de tester plus rapidement les fonctionnalités implémentées
- Plus grande capacité de changement grâce aux livraisons plus fréquentes les utilisateurs ont l’opportunité de faire rapidement un retour car il arrive souvent qu’ils ne fassent pas un retour complet avant d’avoir pu tester la solution directement dans l’application.