8.5 Entreposage de données, lacs de données et informatique décisionnelle
Objectifs d'apprentissage
À la fin de cette section, vous serez en mesure de :
- Décrire les caractéristiques des entrepôts de données.
- Expliquer le processus d'extraction, de transformation et de chargement (ETL).
- Discuter des magasins de données.
- Décrire la technologie derrière les entrepôts de données virtuels et les magasins de données virtuels.
- Résumer la nature des magasins de données opérationnelles.
- Identifier les lacs de données et leur fonctionnalité.
- Comparer l'informatique décisionnelle et les outils connexes.
Avec la prolifération des données, de nouvelles techniques de stockage et de traitement des données sont nécessaires. L'entreposage de données et les lacs de données sont utilisés pour stocker les mégadonnées. L'informatique décisionnelle analyse les données collectées dans les entrepôts de données et les lacs de données afin d'améliorer la prise de décision stratégique.
Caractéristiques des entrepôts de données
À la fin des années 1980, le concept d'entrepôt de données a vu le jour chez IBM lorsque les chercheurs Barry Devlin et Paul Murphy ont développé le premier entrepôt d'entreprise. Un entrepôt de données (data warehouse) centralise les données d'une entreprise provenant de ses bases de données. Il prend en charge le flux de données des systèmes opérationnels vers les systèmes d'analyse/de décision en créant un dépôt unique de données provenant de diverses sources, internes et externes. Dans la plupart des cas, un entrepôt de données est une base de données relationnelle qui stocke des données traitées optimisées pour la collecte d'informations commerciales. Il collecte des données avec des structures et des schémas prédéterminés provenant de systèmes transactionnels et d'applications métier, et les données sont généralement utilisées pour les rapports opérationnels et l'analyse. Un entrepôt de données est une collection de données conçue pour soutenir le processus de prise de décision de la direction et est destiné à être :
- Orienté sujet : les données sont organisées en fonction de sujets tels que les produits.
- Intégré : il intègre des données provenant de multiples ressources et de différents formats.
- Variant dans le temps : il stocke une série chronologique d'instantanés périodiques pour être toujours à jour.
- Non volatil : les données sont en lecture seule pour compléter le processus de mise à jour ou de suppression des données.
L'entrepôt de données prend en charge les types de prise de décision aux niveaux opérationnel, tactique et stratégique. Les décisions opérationnelles sont fréquentes, basées sur les opérations quotidiennes et structurées selon un rôle spécifique prédéfini (c'est-à-dire limité). Les décisions de niveau tactique se produisent avec une plus grande fréquence (c'est-à-dire mensuellement) et sont semi-structurées en fonction des exigences de données. Le niveau stratégique a le plus haut niveau de décisions commerciales organisationnelles, et leurs décisions sont non structurées et/ou peu fréquentes.
Lors de la conception d'un entrepôt de données, de nombreux schémas peuvent être adoptés, tels que le schéma en étoile, le schéma en flocon et la constellation de faits. Un schéma en étoile (star schema) est un modèle de données (data model) avec une grande table de faits connectée à des tables plus petites. La table de faits contient des clés faisant référence à chaque table de dimensions, comme le montre la Figure 8.19.
Le schéma en flocon (snowflake schema) est un modèle de données qui normalise la table de dimensions (Figure 8.20). Il a une table de faits et crée des tables plus petites avec des relations de clés primaires-étrangères. Une constellation de faits (fact constellation) a plus d'une table de faits connectée à d'autres tables de dimensions plus petites.
Processus d'extraction, de transformation et de chargement
Après la conception du schéma, le processus suivant à démarrer est l'extraction, transformation et chargement (ETL) (extraction, transformation, and loading), qui est une intégration de données (data integration) qui combine des données de plusieurs sources, corrige le format des données et charge les données dans un entrepôt de données. La première étape consiste à extraire les données du système, ce qui peut être une extraction complète ou incrémentielle. L'extraction utilise la capture de données modifiées (CDC) (change data capture), qui est une technologie qui détecte tout événement de mise à jour des données.
La deuxième étape consiste à transformer les données, ce qui inclut le formatage des données pour qu'elles soient cohérentes, le nettoyage des données pour éliminer les données manquantes, l'agrégation des données en fusionnant certains attributs (attributes), et l'enrichissement en ajoutant des données externes. La dernière étape consiste à charger les données en parallèle sous forme de tables de faits et de dimensions dans l'entrepôt de données, comme le montre la Figure 8.21. Les étapes ETL apporteront des modifications aux données, qui devraient être documentées pour une meilleure compréhension et une maintenance future. La documentation comprend des métadonnées (metadata) structurelles sur la structure des données et des métadonnées sémantiques sur la signification.
Magasins de données
Un magasin de données (data mart) est une version réduite d'un entrepôt de données visant à répondre aux besoins d'information d'un petit groupe homogène d'utilisateurs finaux, tel qu'un département ou une unité commerciale. Il fournit un contenu ciblé et améliore les performances des requêtes. Les magasins de données dépendants tirent leurs données directement d'un entrepôt de données central. Les magasins de données indépendants sont des systèmes autonomes qui tirent les données directement des systèmes opérationnels, de sources externes ou d'une combinaison des deux.
Enjeux mondiaux en technologie
Stockage des données
Au cours de la dernière décennie, la tendance a été de stocker les données sous n'importe quelle forme, sans savoir si elles seraient utilisées à l'avenir. Cela a été facilité par l'avènement de la technologie infonuagique qui a permis aux gens de stocker des quantités illimitées de données à faible coût dans des lacs de données. La quantité de données stockées continuera d'augmenter au cours des prochaines décennies à mesure que l'utilisation quotidienne des processus informatiques augmentera.
Quels sont certains des problèmes mondiaux que vous prévoyez avec la capacité actuelle de stocker une quantité illimitée de données qui pourraient être analysées ultérieurement ?
Entrepôts de données virtuels et magasins de données virtuels
Un magasin de données virtuel n'a pas de données physiques mais fournit un point d'accès unique à un ensemble de magasins de données physiques sous-jacents ; les données ne sont accessibles (« tirées ») qu'au moment de la requête. Un entrepôt de données virtuel (virtual data warehouse) peut être construit comme un ensemble de vues SQL directement sur les sources de données opérationnelles sous-jacentes, comme une couche supplémentaire au-dessus d'une collection de magasins de données physiques indépendants. Le modèle de métadonnées contient les mappages de schémas entre les schémas des magasins de données sous-jacents et le schéma de l'entrepôt de données virtuel (implique une reformulation de requête). Un magasin de données virtuel (virtual data mart) est généralement défini comme une seule vue SQL. Il peut y avoir des magasins de données virtuels indépendants par rapport aux magasins de données virtuels dépendants. Les inconvénients sont la capacité de traitement supplémentaire des sources de données (opérationnelles) sous-jacentes et le fait qu'il n'est pas possible de suivre les données historiques.
Magasins de données opérationnelles
Un magasin de données opérationnelles (ODS) (operational data store) est une zone de transit qui fournit des fonctionnalités de requête. Il est utile pour les outils d'analyse qui ont besoin de données plus proches du temps réel. Des analyses plus complexes sont toujours effectuées sur l'entrepôt de données réel.
Lacs de données
Un lac de données (data lake) stocke toutes les données non structurées (unstructured data) et structurées d'une entreprise, quelle que soit leur échelle. Les lacs de données sont de grands dépôts de données qui stockent des données brutes et peuvent être configurés sans avoir à définir au préalable la structure et le schéma des données. Ils permettent aux utilisateurs d'exécuter des analyses sans avoir à déplacer les données vers un système d'analyse séparé, permettant aux entreprises d'obtenir des informations à partir de nouvelles sources de données non disponibles pour l'analyse auparavant. Par exemple, en construisant des modèles d'apprentissage automatique à l'aide de données provenant de fichiers journaux (par exemple, des fichiers journaux générés par une application qui écrit dans les événements du système d'exploitation), de flux de clics (par exemple, des informations sur les pages visitées sur le Web), des médias sociaux (par exemple, LinkedIn) et des appareils IoT (par exemple, une montre intelligente). En rendant toutes les données de l'entreprise facilement disponibles pour l'analyse, les scientifiques des données (data scientists) peuvent répondre à un nouvel ensemble de questions commerciales ou aborder d'anciennes questions avec de nouvelles données. La Figure 8.22 montre un exemple de processus de lac de données.
Entrepôts de données vs. lacs de données
Un lac de données est une approche architecturale spécifiquement conçue pour gérer des données de toutes variétés, vélocités d'ingestion et volumes de stockage. Un lac de données permet le stockage de quantités massives de données dans un emplacement central afin qu'elles soient facilement disponibles pour être catégorisées, traitées, analysées et consommées par divers groupes au sein d'une organisation. Étant donné que les données peuvent être stockées telles quelles, il n'est pas nécessaire de les convertir en un schéma prédéfini, comme cela est généralement requis dans les architectures traditionnelles basées sur les SGBDR. Les modèles d'utilisation des consommateurs et la provenance des données elles-mêmes influencent directement la manière dont les données sont collectées, stockées, traitées, déplacées, transformées, automatisées et visualisées. Les données sont l'actif ultime avec des modèles d'utilisation illimités désormais générés et consommés par les humains, les machines, les appareils, les capteurs et les applications. Il existe des différences entre les entrepôts de données et les lacs de données, énumérées dans le Tableau 8.11.
| Caractéristique | Entrepôt de données | Lac de données |
|---|---|---|
| Données | Relationnelles | Non relationnelles et relationnelles |
| Schéma | Schéma à l'écriture Conçu avant l'implémentation |
Schéma à l'écriture Écrit au moment de l'analyse |
| Stockage | Coûteux | Faible coût |
| Performance | Résultats de requête les plus rapides | Résultats de requête de plus en plus rapides |
| Utilisateurs | Décideurs | Scientifique des données |
| Analyse | Rapports par lots, informatique décisionnelle et visualisation | Apprentissage automatique, analyse prédictive |
Développement des lacs de données
Une approche traditionnelle de la gestion de l'information n'est plus adaptée en raison des coûts et de l'incapacité à s'adapter. Soixante-dix pour cent des coûts de développement de l'ETL incluent un effort de consolidation, de préparation, de normalisation et de transformation des données pour l'analyse en aval. Les coûts impliquent un investissement initial en capital pour le matériel (hardware), les licences logicielles pour les bases de données, l'intégration de données et les plateformes d'analyse. Il est nécessaire de réagir aux changements émergents dans la prolifération des données, les nouvelles technologies émergentes et les plateformes de services intégrés basées sur l'infonuage. Les outils traditionnels de stockage et d'analyse des données ne peuvent plus offrir l'agilité et la flexibilité requises pour fournir des informations commerciales pertinentes et un avantage concurrentiel. La Figure 8.23 montre la chronologie d'un lac de données.
Des lacs de données aux marécages de données
Un défi courant avec l'architecture des lacs de données est que, sans un cadre de qualité et de gouvernance des données approprié, lorsque des téraoctets de données structurées et non structurées affluent dans les lacs de données, il devient souvent extrêmement difficile de trier leur contenu. Les lacs de données peuvent se transformer en marécages de données lorsque les données stockées deviennent trop désordonnées pour être utilisables. Un marécage de données (data swamp) est un ensemble de données stockées sans organisation pour faciliter la récupération. De nombreuses organisations appellent désormais à davantage de pratiques de gouvernance des données et de gestion des métadonnées pour empêcher la formation de marécages de données.
Lien avec l'apprentissage
Les lacs de données sont utilisés pour collecter de très grandes quantités de données relationnelles et non relationnelles, comme un service de streaming collectant des données sur les habitudes de visionnage des utilisateurs, tandis que l'entreposage de données collecte des données relationnelles, comme lorsqu'un détaillant collecte des données pour analyser les habitudes des acheteurs et contrôler les stocks.
Où l'informatique décisionnelle s'inscrit-elle dans ce système de données ? L'informatique décisionnelle analyse ces données pour aider à la prise de décision. Elle utilise les données pour le marketing et les ventes ciblées en particulier.
Il peut être déroutant de comprendre les tenants et les aboutissants de chaque processus et comment ils sont liés les uns aux autres. Un article de blog sur la différence entre les lacs de données, les entrepôts de données et les bases de données explique très bien la distinction entre chacun et comment chacun contribue à l'utilisation de la compréhension des données.
Informatique décisionnelle
L'objectif principal de l'entrepôt de données est de soutenir la prise de décision. Pour ce faire, nous avons besoin d'outils intelligents. L'ensemble des activités, techniques et outils visant à comprendre les motifs dans les données passées pour prédire l'avenir est appelé informatique décisionnelle (BI) (business intelligence). La BI moderne est facilitée par Tableau, ClickView et Microsoft Power BI. La qualité des données contrôle la qualité des résultats, ce qui signifie que de mauvaises données donnent de mauvaises informations (rappelez-vous GIGO). Les techniques de BI incluent la requête et le rapport, qui fournissent une interface utilisateur graphique (GUI) dans laquelle l'utilisateur peut concevoir graphiquement un rapport et un tableau croisé dynamique, qui est un outil de synthèse de données. De plus, l'un des outils de BI est le traitement analytique en ligne (OLAP) (online analytical processing). L'OLAP est une approche informatique d'analyse des données qui permet aux utilisateurs d'extraire et de visualiser des données à partir de plusieurs dimensions. Il est utilisé pour analyser de grands volumes de données et est couramment utilisé dans les applications de BI. L'OLAP permet aux utilisateurs d'effectuer des analyses complexes de données en fournissant une vue multidimensionnelle des données. Il peut agréger des données sur plusieurs dimensions, telles que le temps, l'emplacement, le produit et le client, permettant aux utilisateurs de voir des tendances et des relations qui pourraient être cachées dans une vue bidimensionnelle traditionnelle des données.