Cours BI
Cours BI
2023/2024
Chapitre 1
Définition de la BI
Objectifs de la BI
Fonctionnement d’une plateforme BI
Technologies de la BI
Composantes de la BI
Caractéristiques de la BI
Les avantages de la BI
Les principaux fournisseurs
Introduction
Problématique
Grande quantité d’information:
Avec l’introduction et utilisation des applications informatiques les entreprises ont commencé à
automatiser le processus de collecte de données, et l’information commençait à s’accumuler.
Organisation de ces données:
L’organisation pose un problème en raison d’un manque d’infrastructure de stockage et
d’incompatibilité entre les différents systèmes.
Analyse:
L’analyse de données était pénible et demandait un temps considérable, et elle était réservée pour
observer les tendances à long terme.
Décision:
Les décisions cruciales reposaient sur l’intuition
Introduction
Problématique (suite)
Situation: Données d’une entreprise:
On suppose qu’il existe une grande quantité de données d’une entreprise et qui sont stockées dans
les bases de données dispersées, déstructurée et hétérogènes
Coté dirigeants:
Comment faire pour analyser toutes ces informations et dans un temps raisonnable?
Comment faire pour que cette analyse soit sur différentes périodes?
En général, les décideurs n’ont besoin que seulement des faits importants ( sans entrer trop dans les détails)
pour les aider à prendre leurs décisions.
Définition
Solution
Faire appel à l’informatique décisionnelle: souvent appelée BI: Business Intelligence et
anciennement appelé DSS: Decision Support System
Définition de l’informatique décisionnelle (BI)
L’informatique décisionnelle (en anglais: BI pour Business Intelligence) est l’informatique à
usage des décideurs et des dirigeants des entreprises. Elle désigne les moyens, les outils et
les méthodes permettant de collecter, consolider, modéliser et restituer les données,
matérielles ou immatérielles, d’une entreprise en vue d’offrir une aide à la décision et de
permettre à un décideur d’avoir une vue d’ensemble de l’activité traitée
Historique
Résumé:
L’informatique décisionnelle réside dans la manipulation et l’extraction d’information
pertinente à partir d’un volume de données gigantesque.
Les outils décisionnels permettent d’analyser, d’extrapoler et de rapporter des
données.
Certains outils modernes permettent aux utilisateurs d’effectuer des croisements de
données et de faire des recherches poussées sur un secteur d’activité particulier.
Processus de l’Informatique
décisionnelle
Savoir
Structuration
analyse,
Présentation
B Information
I Collecte et consolidation
Données
Sources externes, fichiers plats,
ERP, CRM
Processus de l’Informatique
décisionnelle
ETL:
Exemple d’outils: éditeurs/ solutions
Microsoft / SQL Server Integration Services (SSIS)
Oracle / Oracle Warehouse Builder (OWB)
Oracle / Sunopsis Data Conductor
Oracle / Oracle data Integrator (ODI)
Talend / Open Studio
Pentaho / Pentaho data integration
Pentaho / Kettle
SAS / SAS Entreprise ETL Server
SAP / BusinessObjects Data Integrator
Cognos-IBM / Cognos DecisionStream (Data Manager)
Informatica / Power Center
Informatica / Power Exchange
Hevo
Technologies de l’Informatique
décisionnelle
Data Warehouse
DataMart
o Le terme Datamart (magasin de données) désigne un sous-ensemble du Data Warehouse
contenant les données du datawarehouse pour un secteur particulier de l’entreprise
( département, direction, service, gamme de production, etc.)
o On parle ainsi par exemple de Datamart Marketing, Datamart Commercial, …
o Un datawarehouse peut contenir plusieurs Datamarts
o Il peut être défini comme la version « allégée » du Datawarehouse.
o Plutôt que de viser l’universalité des thèmes, le Datamarts se focalise sur un sujet, un thème ou un métier.
Technologies de l’Informatique
décisionnelle
Data Warehouse
Plan
Introduction
Représentation multidimensionnelle
Implémentation d’un Datawarehouse
Modélisation: étoile et flocon
Conception d’un Datawarehouse
BI
Objectifs
Transformer un système d’information orienté production en un système décisionnel
Exemples; opérations orientées production
Gestion des commandes
Gestion de stocks
Gestion des clients et fournisseurs
Gestion des ressources humaines
…
Exemples: opérations orientées décision
Meilleur client par régions dans une période
Evolution de la part du marché d’un produit
Nombre d’employés d’une entreprise par garde, par classe d’âge, par sexe, par affectation, par spécialité, …
Nombre de ventes par vendeur, par région, par mois
Nombre de ventes par vendeur, par fournisseur, par mois
Data Warehouse
Définition de Bill Inmon (1996)
« Le Data Warehouse est une collection de données orientées sujet, intégrées, non volatiles et
historiées, organisées pour le support d’un processus d’aide à la décision »
Orientées sujet: thèmes par activités majeures
Intégrées: divers sources de données
Non volatiles: ne pas supprimer les données du DW
Historiées: trace des données, suivre l’évolution des indicateurs.
Données intégrées Données non volatiles
Orientées sujet
delete charger
Productio Données Productio
n Produit n
Données
Client update
Données Données
Vente Vente Vente
Client Client
Données
Employés Employés
Vendeur
Insert accéder
Données BD DW Données BD DW Données BD DW
Base de données transactionnelle
VS Entrepôt de données
Sachant que un Datawarehouse est généralement une base de données
Base de données: Data base Entrepôt de données: Datawarehouse
Utilisé pour traitement transactionnel en ligne (OLTP). Utilisé pour traitement analytique en ligne (OLAP). Les
Les données sont manipulées par des utilisateurs finaux données historiées sont lues par les utilisateurs qui
(end-users) prennent les décisions.
Les tables et les jointures sont complexes car elles sont Les tableaux et les jointures sont simples car ils sont dé-
normalisées (pour SGBD). Ceci est pour réduire la normalisés. Ceci est pour réduire le temps de réponse
redondance des données et ainsi réduire l’espace de des requêtes d’analyse.
stockage.
La conception d’une base de données relationnelle est La conception d’un Datawarehouse est basée sur une
basée sur le modèle entité association modélisation multidimensionnelle des données (par des
entités)
Optimisé pour les opérations d’écriture ( insertion et Optimisé pour les opérations de lecture
mise à jour)
Moins performant pour les requêtes d’analyse Haute performance pour les requêtes analytiques
Base de données transactionnelle
VS Entrepôt de données
OLTP VS OLAP
On peut diviser les systèmes informatiques en transactionnel (OLTP) et analytique
(OLAP).
Les systèmes OLTP fournissent des données comme sources pour les Datawarehouse,
tandis que les systèmes OLAP aident à les analyser.
Base de données transactionnelle
VS Entrepôt de données
T-Vente T-Magasin
ID Id-Produit Date Qte PrixVente Id_Mag ID Enseigne Adresse Ville Dept
T-Vente T-Magasin
ID Id-Produit Date Qte PrixVente Id_Mag ID Enseigne Adresse Ville Dept
o Donner la requétes pour calculer le montant total par ville et par produit
o SELECT ville, Designation, sum(qte*prixvente) FROM T_Vente, T_Produit, T_Magasin WHERE T_Produit.ID = T_Vente.ID AND
T_Vente.Id_Mag = T_magasin.ID GROUP BY ville, Designation
o Donner les requetes pour calculer le montant total par région et par catégorie
o Le SELECT region, categorie, sum(qte*prixvente) FROM T_vente, T_produit, T_magasin, T_dep2reg, T_natcat WHERE T_produit/ID =
vente.ID AND vente.ID_Mag = magasin.ID AND T_produit.nature = T_nat2cat.nature and T_magasi.dept = T_dep2reg.dept GROUP
BY region, catégorie
Type de requêtes
Pour aider les décideurs, les données sous forme tabulaire ne permet pas un traitement
orienté sujet (thématique)
Utiliser une représentation multidimensionnelle OLAP ( ventes par vendeur, par date, par
région, par ville, …)
Pour opter pour les OLAP
Disposer d’une structure de stockage adaptée à l’OLAP, permettant de représenter les données dans
plusieurs dimensions, manipuler les données facilement et efficacement.
Représentation
multidimensionnelle
Représenter des données d’un Data Warehouse sous forme multidimensionnelle:
« Cube »
Est Ouest Centre
Produit Région Vente
Ecrous 50 60 110
Ecrou Est 50 Représentation par thématique
vis 70 80 90
Ecrou Ouest 60
boulons 120 10 20
Ecrou centre 110
joints 50 40 70
vis Est 70 Date
Multidimensionnelle
vis Ouest 80 sous forme d’un cube
Ecrou vi boulon joint
vis Centre 90
s
boulon Est 120 janvier
boulon Ouest 10
boulon Centre 20 février
joint Est 50 Mars
joint Ouest 40
Est
joint Centre 70 Center Type de produi
Région Ouest
Représentation
multidimensionnelle
C’est quoi?
Un sujet, un thème, ou un axe (attributs)
Exemple: Clients, produits, temps, géo-localisation,…
Contiennent des membres organisés en hiérarchie:
Granularités différentes
Exemple: Dimension Temps: année- semestre-mois-jour
Identifiées par une clé primaire
Remarque
Une dimension temps est obligatoire dans tout modèle
Les tables de dimension
Modification des données des tables de dimensions:
Changement d’adresse d’un client ou fournisseur
Changement du l’état matrimondial de quelqu’un
Un produit peut changer de noms
…
3 choix sont possibles:
Ecrasement de l’ancienne valeur
Pas d’intérêt à suivre les situations passées
Utiliser en cas d’erreur
Versionnement
Ajouter un attribut de version et qu’on doit utiliser pour étendre la clé primaire
Semi-additif
Niveau de stock, solde (valeurs instantanées)
Nombre de transactions de clients
Non-additif
Schémas de modélisation d’un DW
Tables de dimension:
Dimensions sont directement reliées à la table de faits, qui contient les données à analyser
Table de fait:
Contient des « mesures », des champs ( numériques pour la plupart) qui seront utilisés pour les
analyses:
Exemple: Montant des ventes nettes, les quantités vendues, les kilomètres parcourus, les
quantités en pré commande, etc.
Relié aux dimensions par des relations (1,n)
Modèle en étoile
Tables de dimensions:
Remarques:
Contiennent les éléments utilisés par les décideurs pour voir la table de faits.
Exemple:
Extraire; les montants de vente par vendeur, par client
Extraire le kilométrage pour un vendeur, pour un client donnée (pour voir si ce client est rentable)
Calculer le cout de revient d’un produit par rapport aux activités des vendeurs, etc.
Même granularité des tables de dimensions et de faits
Chaque ligne de la table de faits doit avoir une relation avec chacune des tables de dimensions
Les dimensions ne sont liées qu’aux tables de faites et vice-versa
Modèle en flocon de neige
C’est quoi:
Une variante de modélisation en étoile
La modélisation en flocon est adoptée pour des raisons de performances.
En effet des dimensions de plusieurs millions de lignes peuvent poser des problèmes de lenteur lors de
l’exploitation des données
Principe
Le principe de la modélisation en flocon est de créer des hiérarchies de dimensions, de telle
manière à avoir moins de lignes par dimensions
Remarques
L’utiliser dans le cas ou on a la relation (1-1000)
Conception d’un datawarehouse
Données:
Relever les identificateurs; poser des questions aux décideurs
Question: que voulez vous analyser?
Réponse: Montant des ventes, quantité commandée, nombre de visites, kilométrage,
Question: Quels sont vos critères d’analyse?
Réponse: par date, vendeur, produit, zone géographique, client, …
Question: jusqu’à quel niveau de détail voulez vous aller?
Réponses:
Date: Années, mois, jours, heures
Zones géographique; pays, province, ville, quartier
Conception d’un datawarehouse
Analyse (suite)
Objectif: analyser les activités des représentants
Recueil des identificateurs prélevés lors de la phase d’analyse
Analyse (suite)
Objectif: analyser les activités des représentants
Remarques
o Dimension temps est toujours présente
o Le modèle est construit utilisant un ETL
o Il faut connaitre en avance:
o D’où provient chaque champs?
o Comment transite l’information?
o Où trouver l’information voulue?
Conception d’un datawarehouse
Dimension
vendeur Dimension-
Modèle en étoile Géographie
ID-Vendeur
Nom ID-Géo
Dimension Prénom Pays
Temps Salaire Ville
ID-Temps Date-Embauche Province
Année … …
Mois
Semaine
Jour
Fait-Analyse-
Représentant
Dimension-
Dimension-Client ID-Analyse Produit
ID-Client ID-Dim-Temps
ID-Produit
Nom ID-Dim-client
Nom
Adresse ID-Dim-Produit
Prix
Ressource ID-Dim-Géo
Catégorie
… ID-Dim-Vendeur
Groupe
…
…
Conception d’un datawarehouse
Exercice
Objectif: modéliser l’entrepôt de données des ventes d’une entreprise commerciale en se basant sur les informations
suivantes
Les produits sont regroupés par familles de produits
Une vente correspond à un produit et un seul; la vente est effectuée par l’un des vendeurs du service de vente
spécialisé dans le produit.
L’entrepot de données doit pouvoir fournir le chiffre d’affaires de ventes d’un produit, par date, client, et
vendeur, ainsi que toutes les sommations possibles de chiffre d’affaires
Les tables sont;
o Famille: code_famille, designation, prix
o Produit: code_produit, code_famille
o Client: code_client, nom
o Vente: date, code_produit, code_client, code_vendeur, montant_de_vente
o Vendeur: code_vendeur, nom, code_service
o Date: semaine, mois, année
o Service: code_service, nom_service, Id_responsable
Identifier les dimensions, table de fait et mesures
Conception d’un datawarehouse
Modèle en étoile
Inconvénient: dans le cas ou une dimension va contenir un nombre très élevé d’enregistrement
Exemple:
Dimension « Produit »: Pour chaque produit nous avons plusieurs catégories
Augmentation de la taille des données
Modèle en flocon de neige
Ajouter une autre dimension « catégorie » liée à la dimension « Produit »
Conception d’un datawarehouse
Dimension
Dimension-
vendeur
Modèle en flocon de neige Géographie
ID-Vendeur
ID-Géo
Nom
Dimension Pays
Prénom
Temps Ville
Salaire
Province
ID-Temps Date-Embauche
…
Année …
Mois
Semaine
Jour
Fait-Analyse-
Représentant Dimension- Dimension-
Dimension-Client ID-Analyse Produit Catégorie
ID-Client ID-Dim-Temps ID-Produit ID-Catégorie
Nom ID-Dim-client Nom Nom
Adresse ID-Dim-Produit Prix Description
Ressource ID-Dim-Géo Id_DimCatégo
… ID-Dim-Vendeur Groupe
… …
Chapitre 3
Switch (Permutation) :
Manipulation des cubes
Split (Décomposition) :
Manipulation des cubes
Extraction du cube : cette opération consiste à extraire du cube un bloc de données correspondant
à un croisement entre plusieurs dimensions. Ce bloc permet alors de recalculer plus facilement le
cube. On distingue 2 types d’opération d’extraction de données du cube, le SLICING et le DICING.
Le SLICING consiste à extraire les mesures correspondant à une certaine dimension en s’appuyant
sur un critère de valeur. (on applique un filtre pour une seule valeur d’une dimension)
L’opération de sélection :
la sélection est similaire l’extraction, à la seule différence que la sélection navigue
simplement à travers les dimensions du cube, sans le partitionner. Les opérations de
sélection sont des réponses à des requêtes, alors que l’extraction sort un bloc du cube. Les
opérations de SLICING et DICING sont également des opérations de sélection. La sélection
permet également de naviguer selon les niveaux de profondeur d’information ou
de « zoomer » sur des sur une ou plusieurs dimensions précises. 3 opérations de sélections
permettent de naviguer dans le cube : le DRILL UP (roll-up), qui permet de voir la
synthèse des informations en fonction d’une dimension, le DRILL DOWN (roll-down), qui
permet de voir la synthèse des informations à un niveau de profondeur très bas, et
le DRILL TROUGH, qui permet d’accéder au détail élémentaire des informations
lorsqu’elles ne sont pas totalisées
Manipulation des cubes
Jointure :
Opérations entre cubes
Union :
Caractéristiques d’une technologie
OLAP
Gérer le stockage des données dans plusieurs dimensions est très compliqué d’un point
de vue conceptuel. C’est pourquoi il est difficile de caractériser une technologie OLAP.
Mais d’une façon générale, on s’accorde pour dire qu’une technologie peut être qualifiée
d’OLAP si elle respecte au moins 5 conditions, qu’on regroupe sur le sigle FASMI – Fast
Analysis of Shared Multidimensionnel Information
Caractéristiques d’une technologie
OLAP
FAST (Rapide) : cette caractéristique signifie que le système vise à fournir des réponses aux utilisateurs
avec une latence inférieure ou égale à 5 secondes. En effet, des études menées aux pays-bas ont montré
que les utilisateurs considèrent qu’un traitement de Reporting a échoué si les résultats ne sont pas affichés
dans les 30 secondes. Toute technologie qui se dit de type OLAP doit donc fournir des performances
suffisamment élevées pour répondre aux requêtes des utilisateurs dans les 5 secondes ;
ANALYSIS (Analyse) : cette caractéristique signifie que la technologie est capable d’effectuer des calculs
statistiques et des calculs d’agrégation pour répondre aux besoins métiers des utilisateurs. De plus,
l’interface graphique qu’il fournit pour les requêtes est suffisamment intuitive pour les utilisateurs ;
SHARED (partagé) : la technologie OLAP implémente des mécanismes de sécurité jusqu’au niveau de la
cellule du cube pour garantir la confidentialité, et garantir le verrouillage en cas d’utilisation concurrente ;
MULTIDIMENSIONAL (multidimensionnel) : cette caractéristique est la fondation d’une technologie OLAP.
Toute technologie OLAP offre une vue multidimensionnelle des données, nécessaire pour l’analyse
décisionnelle des données ;
INFORMATION (information) : Cette caractéristique fait référence à la quantité de données qui peut être
stockée et agrégée par la technologie OLAP ;
Caractéristiques d’une technologie
OLAP
Le principal problème posé par les structures de données multidimensionnelles est leur
nature peu dense, et très éparse. De très nombreuses cellules sont vides, les données
ne sont pas distribuées uniformément dans tout l’espace multidimensionnel, elles sont
concentrées en groupes dans des espaces-temps où les événements métier occurrent le
plus souvent. Ce problème rend le stockage et le traitement des données du cube plus
complexe. Théoriquement, la réponse à ce problème prend plusieurs formes, qui
aboutissent à plusieurs technologies OLAP.
OLAP: stockage
3 options s’appliquent au stockage des données en structure multidimensionnelle. Attention,
lorsque nous parlons de stockage ici, nous parlons de persistance des données, les données sont
persistées dans le moteur OLAP comme elles le seraient dans un SGBD, du moins au moins pour la
durée d’une session, et pas simplement le temps d’exécution d’’une requête. Il y’a trois options
pour le stockage du cube. Soit celui-ci est stocké sous forme d’une base de données relationnelle,
soit sous forme de base de données multidimensionnelle ou soit sous forme de fichier client :
Stockage sous forme d’une base de données relationnelle : dans ce cas les données sont
dénormalisées et stockées suivant un schéma en étoile dans un SGBD relationnel ;
Stockage sous forme d’une base de données multidimensionnelle : dans ce cas, les
données actives sont stockées dans une base multidimensionnelle dans un serveur. Dans la
majorité des cas, la base multidimensionnelle est persistée sur le disque dur, dans d’autres cas,
la base est montée en mémoire RAM pour une plus grande performance ;
Stockage sous forme de fichiers clients : dans ce cas, les données les plus utilisées sont
extraites et enregistrées dans un ensemble de fichiers de petite taille et persistés sur des
machines clientes.
OLAP: Traitement
Au même titre qu’il y’a 3 options possibles pour le stockage des données en OLAP, les 3 options sont
disponibles pour le traitement des données. Par contre c’est important de noter que les calculs
multidimensionnels ne sont en général pas effectués là où les données sont stockées : le SQL, un serveur
multidimensionnel et un client multidimensionnel :
Le SQL : le SQL est utilisé comme moyen de traitement si le cube est stocké dans SGBDR. Le problème
avec le SQL c’est qu’il n’est pas adapté à la définition des requêtes multidimensionnelles, du coup la
performance en prend un sacré coup !
Un serveur multidimensionnel : dans le cas où le cube est stocké sous forme d’une base
multidimensionnelle, un moteur de calcul multidimensionnel séparé de la base multidimensionnel et
utilisant son propre serveur est requis pour le traitement, dans ce cas, un langage spécifique est
nécessaire pour définir les requêtes multidimensionnelles. Bien qu’il n’y’ait pas un langage standard
définir les requêtes multidimensionnelles, on note sur le marche la présence des langages comme le
MDX (Multi Dimensional eXpression) de Microsoft ;
Un client multidimensionnel : dans le cas où les extraits des données du cube sont stockés dans des
fichiers client (c’est-à-dire des fichiers persistés dans l’ordinateur de l’utilisateur métier), un moteur de
calcul multidimensionnel dont l’hôte est la machine de l’utilisateur final est requis. Cette option n’est
envisageable également que sous l’hypothèse que les utilisateurs finaux possèdent des ordinateurs
suffisamment puissants pour effectuer des calculs multidimensionnels directement sur leur poste.
OLAP: Technologies
Avec l’explosion du volume et de la variété des données qui caractérise le Big Data, l’approche
la plus appropriée pour le traitement et le stockage de données consiste à utiliser le cluster
computing. Avec cette approche, le traitement des données est distribué et parallélisé entre les
nœuds d’un cluster. Du coup, la multidimensionnalité propre aux requêtes décisionnelles est
gérée facilement grâce aux nœuds de calcul du cluster et il n’y’a pas nécessité de L’OLAP au
sens strict du terme.
Les solutions décisionnelles du Big Data tournent toutes autour de 3 stratégies : Moteurs
Hadoop, moteur natif Hadoop ou SGDB MPP. Le tableau ci-après les résume très bien
Solutions OLAP du Big Data
Processus de l’Informatique
décisionnelle