Entrepôts et préparation de données Cours Master 2 IDM 2014/2015 Assuré par Dr. Salim BITAM Département d’Informatique Université de Biskra 07000 Biskra, Algérie 1
Programme de la matière Rappel sur les modèles de données Ch1. Initiation aux entrepôts de données Ch2. Architecture d’un entrepôt de données Ch3. Intégration et extraction de données Ch4. Modélisation de l’entrepôt de données Ch5. Optimisation des placements physiques des données • Ch6. Interrogation des entrepôts de données • • • • • •
• • • • •
Système d’Information Aspect Statique vs Aspect Dynamique Rôles d’un SI Cycle de vie Modélisation (motivations)
Rappel sur les modèles de données
Comment faire une étude complète pour avoir une BD? 1. Conception d’une BD – À partir de l'analyse du contexte –d’entreprise …‐, recueillir les besoins : A. Données (questions?): 1. 2.
Quelles sont les informations à stocker ? Comment les organisées ? Quelles sont les contraintes à prendre en compte ? Comment les représentées ? (Conception d’un MODELE DE DONNEES: Schéma conceptuel)
B. Traitements (question?): 1. 2.
Que faire (objectif du contexte) ? Comment les données circulent ?
2. Réalisation et Implémentation de la BD A. Données: Créer la BD (ensembles de fichiers: ex. Tables) B. Traitements: Implémentation d'applications, interfaces utilisateurs, analyse de données … 5
Modèle Entité ‐ Relation (Appelé aussi Modèle: Entité‐Association ) • Réalisation d’un modèle (Entité‐Relation) Contenu: – Concepts de base • Entités • Propriétés (attributs) • Identifiants (Clés) • Associations (Relations) • Cardinalités (Multiplicités), • Dépendances Fonctionnelles – Conception d’un modèle (E‐A) 6
Types de modèle de données • Un modèle de données (schéma conceptuel) est donc le résultat d’un processus de modélisation de données. • Il existe quatre grandes classes de modèles de données qui se distinguent par la nature des associations entre les données: • Les modèles hiérarchiques • Les modèles réseaux • Les modèles objets • Les modèles relationnels 7
Modèle relationnel (1) Introduction: • Le modèle relationnel a été introduit au début des années 70, • C’est le premier modèle de bases de données indépendant des critères de stockage, • Il consiste à percevoir la base de données comme un ensemble de relations qui peuvent être représentées sous forme de table à deux dimensions : 1. Les colonnes correspondent aux attributs d’une relation et 2. Les lignes correspondent aux uplets (tuples) (appelés: les occurrences).
8
Exemple d’une relation: REtudiant Numéro
Nom
Prénom
Date_Nai
Niveau
Spécialité
11/501223
Aloui
Mohamed
12/10/1993
2ème
Droit
10/452012
Bounab
Leila
15/02/1992
3ème
Informatique
10/555236
Hamdi
Zouhir
01/09/1992
3ème
Lettre
…
9
Modèle relationnel (2) • Contrairement aux autres modèles de conception qui distinguent entre les concepts d’entité et de lien ou relation: ce modèle utilise un seul concept qui est la relation, ce qui lui rend plus facile à utiliser, même pour les utilisateurs ayant plus ou moins de connaissance en informatique. • Ce modèle est basé essentiellement sur une théorie mathématique « la théorie des ensembles » • Pour réaliser un modèle relationnel (Schéma logique), on doit passer par le modèle Entité‐Association (Schéma conceptuel), 10
Chapitre 01 Initiation aux entrepôts de données
11
Introduction • Apparition des entrepôts de données (Data warehousing) en 1990 par Bill Inmon. • Résultat de l’évolution des systèmes d’information (SIs) au profit des entreprises. • Objectif: constituer une base de données géante: 1. orientée sujet, 2. intégrée, 3. contenant des informations historisées, 4. non volatiles, 5. et destinées aux processus d’aide à la décision. 12
Motivation • Insuffisance de la simple logique classique de production pour offrir de bons services dans un contexte hétérogène et mondial (conviction des décideurs). • Solution: renforcer les SIs par un système ouvert sur l’environnement dont: • l’entreprise doit: 1. collecter, 2. traiter, 3. analyser les informations de son environnement pour: 4. anticiper (production de certaines situations). • Il s’agit d’un entrepôt de données (data Warehouse) qui rassemble, homogénéise et analyse les données pour faciliter la prise de décisions. 13
Définition d’un entrepôt de données • Un entrepôt de données est une collection de données thématiques (orientées sujet), intégrées, non volatiles et historisées pour la prise de décisions (Bill Inmon). • Réellement, une infrastructure mise en œuvre capable d’: 1. Intégrer, 2. Organiser, 3. Stocker, et 4. Coordonner de manière intelligible des données produites, Situées : a) au sein d’un Système d’Information Décisionnel (SID) b) ou importées depuis l’extérieur du SID Afin de : • profiter de la restitution et de l’analyse par des outils informatique (ex. OLAP, OLTP, Datamining: présentés ultér.). 14
Données orientées sujet • Les données d’un entrepôt sont structurées par thèmes (sujets majeurs de l’entreprise) et non suivant les processus fonctionnels. • Le sujet est transversal aux structures fonctionnelles et organisationnelles de l’entreprise. Ceci veut dire qu’on peut accéder aux données utiles sur un sujet de manière plus rapide. • Dans le cas où plusieurs sujets sont intégrés, cette intégration se fait dans une structure unique. • Il n’y a pas de duplication des informations communes à plusieurs sujets. • La base de données est construite selon les thèmes qui touchent les entités clefs de l’entreprise (clients, produits, employés, articles, …). • Les données de base sont toutefois issues des Systèmes d’Information Opérationnels (SIO). 15
Données intégrées • Les données, issues de différentes applications de production, peuvent exister sous toutes formes différentes. • Il faut les intégrer afin de les homogénéiser et de leur donner un sens unique, compréhensible par tous les utilisateurs. • Elles doivent posséder un codage et une description unique. • La phase d’intégration est longue et pose souvent des problèmes de qualification sémantique des données à intégrer (synonymie, homonymie, etc…). • Ce problème est amplifié lorsque des données externes sont à intégrer avec les données du SIO. 16
Données historisées (1) • Dans un SIO, les transactions se font en temps réel, et les données sont mises à jour constamment. L’historique des valeurs de ces données n’est généralement pas conservé car il est inutile. • Dans un entrepôt de données, la donnée n’est jamais mise à jour dans le même endroit. • Les données de l’entrepôt de données s’ajoutent aux données déjà engrangées => ajout de couches de données successives, à la manière des strates géologiques. 17
Données historisées (2) • L’entrepôt de données stocke donc l’historique des valeurs que la donnée aura prises au cours du temps. • Un référentiel de temps est alors associé à la donnée afin d’être capable d’identifier une valeur particulière dans le temps. • Les utilisateurs possèdent un accès aux données courantes ainsi qu’à des données historisées. 18
Données non volatiles • Une information est considérée volatile quand les données sont régulièrement mises à jour comme dans les Systèmes d’Information Opérationnels. • En plus, les données sont exposées à des risques de perte: logiques: mise à jour volontaire ou non volontaire, Physiques: pannes, incendies, voles, etc. • Ce qui rend difficile même impossible de retrouver un ancien résultat. • Dans un entrepôt de données où les données sont non volatiles, il est nécessaire de définir des politiques pour conserver les données de manière permanente. 19
Support d’un processus d’aide à la décision • Un entrepôt de données est la partie du système d’information dédiée aux applications décisionnelles dont les principales contraintes sont : 1. des requêtes complexes à plusieurs niveaux d’agrégation (stockage des données sous une forme multi‐dimensionnelle ), 2. la nécessité de disposer d’informations synthétiques (« reporting » de gestion, analyse des ventes, gestion de la masse salariale, etc.) 3. le processus d’aide à la décision est porté sur des mises à jour périodiques 20
Base de données multi‐dimmentionnelle • Une base de données peut se représenter sous une forme multi‐dimensionnelle comme un cube à N dimensions où toutes les intersections sont pré‐ calculées. • Exemple: (cube de trois dimensions) • Il s’agit d’un cube représentant les ventes de fruits d’une entreprise. • Les trois axes représentés sont : 1. Le pays de vente 2. Le type de fruit 3. La période 21
22
Relation (Entreprise ‐ SI Décisionnel) • Suite au développement des méthodes d’aide à la décision, l’entreprise de nos jours essaie de profiter de la technologie des entrepôts de données dans un environnement très actif de demande de service et de concurrence par d’autres entreprises. • Par conséquent, ce qu’on appelle l’informatique décisionnelle (SI Décisionnel) intervient pour mettre l’entrepôt de données à la disposition de l’entreprise: dans le but d’apporter des bénéfices aux entreprises suite à des décisions pertinentes. 23
Informatique décisionnelle (SID) • L’informatique décisionnelle (en anglais : DSS pour Decision Support System) est l’émergence des SIs dans leur large sens de points de vue architecture et fonctionnement (coté aide à la décision). • L’informatique décisionnelle profite de plusieurs types de bases de données avancées telles que l’entrepôt de données. • L’informatique décisionnelle représente un ensemble de moyens, d’outils et de méthodes permettant de collecter, consolider, modéliser et restituer les données de l’entreprise dans le but d’apporter une aide à la prise de décision. • Elle permet aussi aux responsables de la stratégie d'une entreprise d’avoir une vue d’ensemble sur l’activité principale de l’entreprise (suite à une analyse). 24
Données opérationnelles (SIO)
Données décisionnelles (SID)
Orientées application, détaillées, précises au moment de l’accès
Orientées sujet, condensées, représentent des données historiques
Mise à jour interactive possible de la part des utilisateurs
Pas de mise à jour interactive de la part des utilisateurs
Accédées de façon unitaire par une personne à la fois
Utilisées par l’ensemble des analystes
Haute disponibilité en continu
Haute disponibilité ponctuelle (Instants précis)
Uniques (pas de redondance en théorie)
Peuvent être redondantes
Petite quantité de données utilisées par un traitement
Grande quantité de données utilisée par les traitements
Réalisation des opérations au jour le jour (Utilisées de façon répétitive)
Alimentation périodique et analyse à la demande (Utilisée de façon aléatoire)
Forte probabilité d’accès
Faible probabilité d’accès
Objectifs et fonctions d’un entrepôt de données • Objectifs d’un entrepôt de données • Fonctions d’un entrepôt de données
26
Objectifs d’un entrepôt de données • Définir et intégrer une architecture qui serve de fondation aux applications décisionnelles. Ce développement d’applications décisionnelles aide au pilotage de l’entreprise et de ses processus par : • La fédération des données souvent éparpillées dans différentes bases de données (appelées source de D.), • L’offre d’une vision globale et orientée (rôle de l’entreprise) de toutes les données manipulées par l’entreprise, • La permission de faire face aux changements du marché et de l’entreprise, • L’offre d’une information compréhensible, utile, rapide et à jour, pour assurer une valeur ajoutée. 27
Fonctions d’un entrepôt de données (1) • Les entrepôts de données mettent en œuvre cinq fonctions fondamentales : la collecte, l’intégration, la diffusion, la présentation et l’administration des données. A. Collection • La collecte des données brutes dans leurs environnements d'origine, ce qui implique des activités plus ou moins élaborées de détection, de filtrage et de transfert de données, car un excédent de données, un défaut de fiabilité ou un trop mauvais rapport signal/bruit sont pires que l'absence de données. B. Intégration • L’intégration des données, c'est‐à‐dire leur regroupement en un ensemble technique, logique et sémantique homogène approprié aux besoins de l'organisation. 28
Fonctions d’un entrepôt de données (2) C. Diffusion • La diffusion, ou la distribution d'informations élaborées à partir des données dans des contextes appropriés, aux besoins des individus ou des groupes de travail utilisateurs. D. Présentation • La présentation, c'est‐à‐dire les conditions de la mise à disposition de l'information ‐format‐ de façon légale et compréhensible (contrôle d'accès, personnalisation, ergonomie...) E. Administration • L’administration, qui gère le dictionnaire de données et le processus d'alimentation de bout en bout, car le système d’information décisionnelle doit‐être lui‐même piloté. 29
Fonctions d’un entrepôt de données (3) • Remarque : En pratique, les fonctions du collecte et d'intégration sont étroitement liées entre elles, et sont généralement associées au data warehouse. De même, la diffusion et la présentation sont des fonctions fortement "orientées sujet", tournées vers le gérant de l’entreprise et son métier, manipulant des contenus à forte valeur ajoutée informationnelle et non des données brutes; elles sont donc fortement imbriquées logiquement et techniquement. 30
OLTP versus OLAP • • • • •
Définition d’un OLTP Opérations d’un OLTP Définition d’un OLAP Opérations d’un OLAP OLTP versus OLAP
31
Définition d’un OLTP (1) • (OnLine Transactional Processing) une catégorie d’applications informatiques, • Pour les traitements transactionnels sur des données d’un entrepôt de données (niveau Sources de données), • Un grand nombre de transactions courtes et en ligne, • Rôles principaux: ‐ Alimenter les sous‐systèmes d’information ‐ Effectuer un traitement de requêtes tourné vers: La saisie, le stockage, la mise à jour, la sécurité et l’intégrité des données • Exemple: les systèmes de gestion des bancaires, les logiciels des distributeurs d’argents (Automated Teller Machine) appartiennent à la catégorie OLTP. 32
Définition d’un OLTP (2) • Un OLTP est appliqué sur ce qu’on appelle un: système transactionnel: i.e. ‐ une base de données ‐Niveau Sous‐SI‐, ‐ développée par application, ‐ stockant les données courantes d’une organisation (pas d’archives dans les systèmes transactionnels) ‐ les données sont détaillées et mises à jour,, ‐ le schéma utilisé pour la modélisation est le modèle d’entité‐relation (généralement en 3FN). Ceci revient à la normalisation qui est très importante pour les OLTP contrairement à OLAP pour éviter la duplication de données et pour réduire leurs tailles. 33
Opérations d’un OLTP • Insérer (Insert) : Permet d’insérer des données dans la base de données. • Mettre à jour (Update) : Permet de modifier des données. • Supprimer (Delete) : Permet de supprimer de données de la base de données. • Etablir des requêtes. • Transmettre : Assure le passage de données depuis le client vers le SID.
34
Obstacles à l’analyse dans les systèmes transactionnels (1) • Les bases de données transactionnelles sont habituellement normalisées de telle sorte que la duplication des données est à son minimum : – Assure l’intégrité des données – Simplifie la mise à jour des données • Cependant, une très forte normalisation complexifie l’analyse des données : – Nombre élevé de tables donc nombre élevé de jointures nécessaires entre les tables (performance limitée): – Temps de traitement long – Élaboration complexe des requêtes
Obstacles à l’analyse dans les systèmes transactionnels (2) • De plus, les types d’analyses servant aux processus de décision des organisations nécessitent : – Données sommaires (agrégées ou résumées) sur l’ensemble de l’organisation (provenant des différentes BD dispersées de l’organisation) – Données historiques, – Réponses rapides (requêtes surtout de type agrégatif), Besoin de systèmes dédiés à l’analyse (ex. OLAP)
Définition d’un OLAP (1) • (On‐Line Analytical Processing): catégorie d’applications informatiques , • Axées sur l’exploration et l’analyse rapide des données selon une approche multidimensionnelle à plusieurs niveaux d’agrégation et de granularité, • Utilisées pour ressortir des résultats pertinents pour le profit du décideur. • Résultats : « résumés et conclusions » obtenus par de différents algorithmes d’analyse et de datamining. • Exemple : On peut établir le résultat suivant : « Les clients qui achètent généralement de la farine et de la levure chimique achètent aussi du sucre ». ‐donc, Rayons proches: (farine, levure chimique et sucre). 37
Définition d’un OLAP (2) • Approche multidimensionnelle : – Basée sur des thèmes d’analyse (dimensions) – but: c’est plus intuitive • Plusieurs niveaux d’agrégation et de granularité : – Les données peuvent être groupées à de différents niveaux de granularité (les regroupements sont pré‐calculés, par exemple, le total des ventes pour le mois dernier calculé à partir de la somme de toutes les ventes journalières du mois). – Granularité : assurer un certain niveau de détail de données
Conditions à respecter 1. Facilité: • L’usager n’a pas à maîtriser des langages d’interrogation et des interfaces complexes • L’usager interroge directement les données, en interagissant avec celles‐ci 2. Rapidité: • OLAP exploite une dénormalisation possible des données, sous la forme d’une pré‐agrégation stockée, • L’usager devient opérationnel et aura les résultats en très peu de temps
Opérations d’un OLAP • But « naviguer » dans les hyper‐cubes multidimensionnels : • Pivoter (pivot, swap) : Permettre d’interchanger deux dimensions, Ex. visualiser les dates d’achats au lieu des pays d’origine d’un produit, • Forer (drill‐down) : Permettre de descendre dans la hiérarchie de la dimension, Ex. visualiser le nombre des ventes par mois au lieu de par année. • Remonter (drill‐up, roll‐up) : Permette de remonter dans la hiérarchie de la dimension, Ex. visualiser le nombre des ventes par type d’article au lieu de par désignation d’article. • Forer latéralement (drill‐across) : Permet de passer d’un membre de dimension à un autre membre de la même dimension, Ex. visualiser les données de décembre au lieu de celles du Novembre. 40
OLTP versus OLAP Utilisateurs Fonction Relation avec la BD Données
Usage Accès à la BD
Unité de travail Nbr d’enregistrement Utilsés/opération Nbr d’utilisateurs Taille de la BD
OLTP Client Operations journalières M-à-J Courante (pas d’hostorique), mise à jour detaillée, relationelle isolée Répété Lecture écriture, Index sur clé primaire
OLAP Décideur aide à la décision Analyse Historique, résumée, multidimensionnelle integrée, consolidée
Transaction simple Dizaines
Ad-hoc Lecture seule, Différentes analyses (pas forcément sur clé primaire) Requête complexe Millions
Milliers ou plus 100MB-GB
Centaines 100GB-TB 41
Conclusion OLTP vs OLAP • Nous pouvons supposer que: les systèmes OLTP fournissent les données aux SIO, qui seront par la suite transmises à l’entrepôt de données (c.‐à‐d., la BD du SID ), tandis que: les systèmes OLAP aident à analyser les entrepôts de données.
42