Faculté des Sciences et Techniques de Tanger
Département Génie Informatique
Cycle Ingénieur
Logiciel et Système Informatique
Informatique Décisionnelle et data mining
INFORMATIQUE DECISIONNELLE
Informatique Désisionnelle
DataWareHouse et Analyse OLAP
1
Contextes économique et informationnel actuel
Contexte économique
Mondialisation de l'économie, Concurrence accrue, Besoin dʼinformations
pour prises de décisions de plus en plus rapides
Contexte informationnel
Décentralisation des données, données volumineuses (méga-data) et
difficulté d'accès à l'information
Traitement et analyse de l’information: enjeu stratégique dʼentreprise, une
source de performance et de compétitivité
Contexte informatique
Puissance de calcul croissante
Capacité de stockage croissante
Bases de données de plus en plus importantes
SGBD de plus en plus performants (parallélisme, …)
Ouverture sur le Web, …
3
Informatique Décisionnelle/Business Intelligence
Les systèmes de ID/BI sont utilisés par les décideurs pour
obtenir
une connaissance approfondie de l'entreprise et de définir
et de soutenir leurs stratégies d'affaires, par exemple :
– améliorer la performance de lʼentreprise,
– acquérir un avantage concurrentiel,
– Identifier des secteurs d’activité critiques
– répondre plus rapidement aux changements,
– augmenter la rentabilité (coûts, bénéfices),
– d’une façon générale la création de valeur ajoutée de l'entreprise
2
BI/ID
Collecter les données internes et externes et les transformer en informations,
analysées pour prendre de meilleures décisions et améliorer la performance
de l’entreprise.
Le Business Intelligence restitue une vision cohérente du fonctionnement de
l’organisation :
Assurer la cohérence entre les objectifs stratégiques (décisions) et les actions
du management opérationnel
Fournir une vision prospective : mesurer la performance de la stratégie
choisie et agir en conséquence
Modéliser le business
5
Les étapes historiques importantes
1958 : Utilisation pour la première fois du terme « Business Intelligence »
par Hans Peter Luhn un Informaticien d’IBM.
1992 : Bill Inmon, publie «Building the Data Warehouse» . 1st Edition.
Wiley and Sons.
2000 : Ralph Kimball, publie «A Dimensional Modeling Manifesto».
3
L’informatique décisionnelle
DSS pour Decision Support System
L’informatique décisionnelle est un des domaines techniques de la
Business Intelligence.
Re fédérer les données pour que l’utilisateur puisse récupérer celles qui
l’intéresse dans son langage métier.
Applications
• Banque: comportement (Chèques, cartes de crédit, attribution et
remboursement de crédit), profils
• Entreprises de fabrication: gestion des commandes,
• Assurance: analyse des demandes, détection de la fraude
• Télécommunication: analyse des appels, désabonnement
• Service public: analyse de l'utilisation
• Santé: analyse et évaluation des services
• ...
8
4
Exemple
Clients bancaires avec un prêt
x: "mauvais" clients ayant des paiements périodiques à la banque après la date
d'échéance
9 o: «bons» clients respectant la date d'échéance du paiement périodique
SID Vs SIO : Données
OLTP (Online Transactional OLAP (Online Analytical
Processing) Processing)
Nécessaire au Utilisée pour analyser le
fonctionnement de fonctionnement de
l ’organisme (entreprise par ex) l ’organisme (entreprise par ex)
Normalisé Souvent agrégées
En règle générale non Le temps est fondamental
Historisées
Maintenant Passé
10
5
SID Vs SIO : Données
• OLTP :
– Les ventes par catégorie et par mois :
Mois /Catégorie Nettoyage Alimentation Vêtement Papeterie
Janvier 200.000 150.000 180.000 50.000
Février 180.000 140.000 250.000 55.000
Mars 220.000 155.000 100.000 48.000
…
• OLAP :
– Les ventes par catégorie, par magasin , par vendeur et par mois
11
Système d'
d'Info. de Production
Orientation : Gestion Système d'
d'Info. Décisionnel
Orientation : Pilotage
BD
BD
Fournisseurs
Flux de Clients
données
externes
BD
Compta
Entrepôt de
BD
DRH
Données
BD
Magasins
BD
Marketing BD
Produits
6
13
Données Information Connaissance
14
7
Composantes d’un SID
Alimentation du DataWareHouse (ETL),
DataWareHouse, DataMart
Restitution des données : Pilotage ou Requêtage,
Analyse des Données:Statistiques, Datamining
Résultats: Reporting, Interface Utilisateur, dashboards, visualization
d’information, portail
Applications: management de la performance, CRM, Portfolio
management, etc
15
Architecture d'un système décisionnel
Outil Entrepôts de données Bases dédiées
Sources
de Données d’alimentation
Requêteur
Pilotage
DM Requêteur
ORACL
Sources de Données
E DataMart Pilotage
Bases de données
DW
H
Requêteur
SYBASE DataWareHouse
Pilotage Extract DM
DM Phase de Restitution
ORACL
E
DWH
Transform
Cubes
DM Data Mining
Cube
Excel
Load
Phase d’Analyse
16 Phase d’Alimentation
Phase de Modélisation
8
Gestion de projet décisionnel
17
Phase de Modélisation
18
9
DataWareHouse
L’entrepôt de données est un système transversal, qui
complète les systèmes opérationnels.
Contient de grandes quantités de données
– provenant de diverses sources,
– sauvées sous un schéma de données unique, et
– résidant à un endroit unique
Construit par:
– Nettoyage, transformation, intégration, chargement et
rafraîchissement périodiques des données
19
DataWareHouse - DataMart
Un DataWareHouse est un entrepôt de données :
Organisées suivant des thèmes précis (clients, activités, …) associés aux
différentes structures fonctionnelle de l’entreprise.
Non volatiles (non modifiables), essentiellement utilisées en interrogation
(consultation)
Integrées : les données résultent de lʼintégration de données provenant de
différentes sources pouvant être hétérogènes
Historisées Organisés suivant une chronologie historique
Un DataMart : magazin de données:
Versions simplifiées, car plus ciblées, des entrepôts des données
20
10
Processus général de construction et exploitation
dʼun ED
Processus en 3 phases :
1 - Construction de la BD décisionnelle
Modélisation conceptuelle des données multiformes et multi-sources
Conception de lʼentrepôt de données
Alimentation de lʼentrepôt (extraire, nettoyer, transformer, charger)
Stockage physique des données
2 - Sélection des données à analyser
Besoins dʼanalyse de lʼutilisateur
Datamarts (Magasins de données)
Cubes multidimensionnels
Tableaux ou tables bidimensionnels
3 - Analyse des données
Stastiques et reporting, OLAP, Data Mining
21
Le modèle multidimensionnel
Le modèle multidimensionnel est la combinaison de tables de
dimensions et de faits.
Le fait est le sujet de l’analyse. Il est formé de mesures, généralement numériques,
renseignées de manière continue. Ces mesures permettent de résumer un grand
nombre d’enregistrements des données sources en quelques-uns.
Une mesure est une quantité intéressante que l'on souhaite observer, par exemple:
montant des ventes, quantité de produit vendus,…
Le fait est analysé selon des perspectives, nommées dimensions. Chacune contient
une structure hiérarchique (niveaux). Une hiérarchie est composée de niveaux
("levels") correspondant à un des attributs de la base de données
la dimension « temps », par exemple, pourrait être divisée en années, trimestres,
mois, semaines, jours…
la dimension Store" est composée des niveaux "Country", "State", "City",
"Store_Name"
22
11
Schéma dʼune BD multidimensionnelle
Un schéma = modèle logique définissant une
BD multidimensionnelle ainsi que les structures associées :
cubes, dimensions, hiérarchies, niveaux et membres (valeurs)
Il donne aussi la source des données représentées dans le modèle logique
Il est en général en étoile, se traduit par un ensemble de tables relationnelles
Composants majeurs d’un schéma :
cube = collection de dimensions et de mesures dans un domaine particulier.
dimension = attribut, ou ensemble d'attributs, à travers lesquels sont
observées les mesures
mesure = quantité intéressante, quʼon souhaite observer (Ex : montant des
ventes,
…)
23
Implantation classique: Modèle en étoile
Le schéma en étoile contient 2 types de tables:
Tables de faits:
• Contiennent des colonnes des faits à analyser (mesures);
• Contiennent des clés étrangères vers les tables de dimension.
Tables de dimension:
• Décrivent les attributs des dimensions de l'analyse;
• Décrivent les niveaux de granularité de ces dimensions.
Granularité / Finesse des Faits - Niveau de détail de représentation
24
12
Modèle en étoile
•Au centre la table des faits
•Les dimensions comme autant de branches à l'étoile.
•Les branches de l'étoile sont des relations de 1 à plusieurs
•La table des faits est énorme contrairement aux tables des dimensions
25
Modèle en étoile
26
13
Modèle en flocon
Raffinement du schéma étoile avec des tables normalisées par dimensions
27
Modèle en flocon
28
14
Modèle en constellation
29
Exemple: Prix Festivals de Cinéma
Schéma en étoile
30
15
Exemple: Prix Festivals de Cinéma
Table de dimension
•Awards
31
Exemple: Prix Festivals de Cinéma
Table de dimension
•Award categories
32
16
Exemple: Prix Festivals de Cinéma
Table de dimension
•Year
33
Exemple: Prix Festivals de Cinéma
Table de dimension
•Movie
34
17
Exemple: Prix Festivals de Cinéma
Table de dimension
•Winners(names)
35
Exemple: Prix Festivals de Cinéma
Table de Fait
•AwardCollectionFact
36
18
OLAP & BD multi-dimensionnelles
En informatique, et plus particulièrement dans le domaine des
bases de données, le traitement analytique en ligne (online
analytical processing, OLAP) est un type d’application
informatique orientée vers l’analyse sur-le-champ d’informations
selon plusieurs axes, dans le but d’obtenir des rapports de
synthèse
37
OLAP & BD multi-dimensionnelles
•Les bases de données opérationnelles relationnelles ne sont pas adaptées à l'OLAP car
les tables représentent une vue aplatie de structures naturellement multi-
dimensionnelles.
•Non seulement perte de performances mais aussi nécessité pour les utilisateurs de
savoir comment trouver les liens entre les tables pour recréer la vue multi-
dimensionnelle.
•Il est donc nécessaire de disposer d'une structure de stockage adaptée à l'OLAP, i.e.
permettant de
•visualiser les données dans plusieurs dimensions naturelles,
•de pouvoir définir et ajouter des dimensions facilement
•de manipuler les données ainsi représentées facilement et efficacement.
Bases de données multi-dimensionnelles ("Cube")
38
19
BD multidimensionnelle = hyper-cube
•Les axes sont appelés dimensions définies par l'utilisateur
•Les points dans l'espace (cellules) contiennent des mesures
•Les opérateurs sur le cube sont algébriques (retournent un cube) et peuvent ainsi être combinés
VENTES
M Clio
OD mesures
EL
E Jaguar
Tutu
Tata
Espace Titi
Toto
bleu blanc rouge
COULEUR dimensions
39 Base de données multi-dimensionnelle = "super-tableur"
Cube multidimensionnel
40
20
Cube multidimensionnel
Gamme
Dimension Produit
Produit
Ventes
Magasin Ville Région Pays
Mois Dimension Géographie
Trimestre
Dimension Temps
Année
41
Cube multidimensionnel
42
21
La navigation dans un hypercube
Les outils du monde décisionnel offrent des possibilités de « navigation »
dans les différentes dimensions du cube ou de l'hypercube :
le drill down ou le forage avant : « zoomer » roll-down sur une dimension (par
exemple d'éclater les années en 4 trimestres pour avoir une vision plus fine, ou de
passer du pays aux différentes régions),
le drill up ou le forage arrière (aussi appelé "roll-up") : c'est l'opération inverse
qui permet d'« agréger » les composantes de l'un des axes (par exemple de
regrouper les mois en trimestre, ou de totaliser les différentes régions pour avoir
le total par pays),
slicing , scoping: autorise l’extraction d’une tranche (Sélection d’une
dimension pour passer `a un sous-cube), d’un bloc d’informations (Sélection de
deux ou plusieurs dimensions). Il s’agit d’une sélection classique
43 Rotate, swap : permet d’interchanger deux dimensions
Représentation d’un cube
44
22
Langage de requêtes
, OLAP utilise aussi des langages de requêtes semblable à SQL
pour les bases de donnés mais orienté tableur,
L’inconvénient est qu’il n’y a pas de langage universel.
Néanmoins, on peut distinguer deux tendances :
MDX de l’anglais Multidimensional Expressions intégré à
Microsoft SQL Server 2005.
OLAP DML (Data Manipulation Langage) intégré à Oracle 10g.
45
Comparaison entre SQL et MDX
MDX est fait pour naviguer dans les bases multidimensionnelles et
pour exécuter des requêtes sur tous leurs objets (dimensions,
hiérarchies, niveaux, membres et cellules) afin d'obtenir
(simplement) une représentation sous forme de tableaux croisés.
La syntaxe de MDX ressemble à celle de SQL par ses mots clé
SELECT, FROM, WHERE,
Mais leurs sémantiques sont différentes :
- SQL construit des vues relationnelles
-MDX construits des vues multidimensionnelles des données
46
23
Comparaison entre SQL et MDX
Relationnel (SQL) Multidimensionnel (MDX)
Table Cube
Colonne (chaine de Niveau (Level)
caractère ou valeur
numérique)
plusieurs colonnes liées ou Dimension
une table de dimension
Colonne (discrète ou Mesure (Measure)
numérique)
Valeur dans une colonne et Membre de dimension
une ligne particulière de la (Dimension member)
47 table
Structure générale d’une requête :
SQL : SELECT column1, column2, …, columnn FROM table
MDX : SELECT axis1 ON COLUMNS, axis2 ON ROWS FROM cube
FROM spécifie la source de données
– En SQL : une ou plusieurs tables
– En MDX : un cube
SELECT indique les résultats que l’on souhaite récupérer par la requête :
En SQL :
– Une vue des données en 2 dimensions.
– Lignes (rows) et colonnes (columns), les lignes ont la même structure définie par les
colonnes
En MDX :
– Nombre quelconque de dimensions pour former les résultats de la requête
48 – Terme d’axe pour éviter confusion avec les dimensions du cube
24
Requête MDX
49
Requête MDX
50
25
DatawareHouse/Cube
51
Exemple Requête MDX
52
26
Requête MDX: Membre
Un membre = une instance d'un niveau d’une dimension,
[2012]
[Time].[2012]
[Product].[Food]
[Product].[Food].[Baked Goods]
[Product].[All Products].[Food].[Baked Goods]
Utilisations de membres dans des requêtes simples :
SELECT [Time].[2012] ON COLUMNS
FROM [Sales]
SELECT [Product].[Food] ON COLUMNS
FROM [Sales]
SELECT [Product].[Food].[Baked Goods] ON COLUMNS
53 FROM [Sales]
Requête MDX: Tuple
Un tuple = suite de membres entre parenthèses séparés par une
virgule:
Ex : ( [Time].[2012] , [Product].[Food] )
on peut omettre les parenthèses si on a un tuple avec un seul membre.
Un tuple permet d’identifier une ou plusieurs cellules dans un cube situées à
l’intersection de ses membres :
SELECT ( [Time].[2012], [Product].[Food] ) ON COLUMNS
FROM [Sales]
SELECT ( [Product].[All Products].[Food].[Baked Goods], [2012] )
ON COLUMNS
FROM [Sales]
54
27
Requête MDX: Tuple
Dans un tuple, les mesures sont traitées comme une dimension
particulière, nommée [Measures] :
SELECT
(
[Measures].[Unit Sales], [Product].[All Products].[Food].[Baked Goods]
)
ON COLUMNS
FROM [Sales]
55
Requête MDX: Set
Un set = un ensemble ordonné de tuples définit sur une même dimension
Un set commence par une accolade "{", dans laquelle sont énumérés les
tuples séparés par des virgules, et se termine par une accolade appariée
"}"
SELECT
{ ([Measures].[Unit Sales], [Product].[All Products].[Food].[Baked Goods]),
([Measures].[Store Sales], [Product].[All Products].[Food].[Baked Goods])
}
ON COLUMNS
FROM [Sales]
ce set contient :
• 2 mesures différentes (Units sales et Store Sales) et
56 • le même membre (Baked Goods) :
28
TPs
S’initier au moteur OLAP open-source Mondrian, et son interface
graphique Jpivot
[Link]
57
29