Académique Documents
Professionnel Documents
Culture Documents
DataWareHouse et NoSQL
Introduction
Thierry Hamon
Bureau H202
Institut Galil�e - Universit� Paris 13
&
LIMSI-CNRS
hamon@limsi.fr
https://perso.limsi.fr/hamon/Teaching/P13/BDA-INFO2-2018-2019/
INFO2 – BDA
1/69
Sources des transparents
2/69
Introduction
en 2000 :
entre 1 et 2 ExaOctets par année (1 Eo = 220 To)
90% électronique
taux de croissance annuel de 50 %
en 2003 : 5 Eo en 2002, 92% électronique
Lyman&Varian, 2003 (http://groups.ischool.berkeley.edu/archive/
how-much-info-2003/execsum.htm)
3/69
BD → ED
4/69
BD → ED
Introduction
Avant les entrepôts de données/Data Warehouses
5/69
BD → ED
Introduction
Read, Select
Insert, Update, Delete
Ressources externes
(file system, ftp, www, ...)
6/69
BD → ED
Introduction
Les applications interrogent les données avec, par exemple,
le langage SQL (Select)
et les mettent à jour par l’intermédiaire des opérations
Insert, Update et Delete
qui constituent des transactions.
7/69
BD → ED
Introduction
Données volumineuses & Besoins nouveaux
Vers les entrepôts de données
8/69
BD → ED
Introduction
Vers les entrepôts de données
Remarques
9/69
BD → ED
Introduction
Vers les entrepôts de données
Remarques
10/69
BD → ED
Introduction
11/69
BD → ED
Introduction
Définition rapide d’un Data Warehouse
12/69
BD → ED
Extraire
Sources externes
Nettoyer
Transformer
Utiliser
Charger (Load)
Intégrer
Rafraichir
Entrepot de données OLAP
Maintenir
BD opérationnelles
13/69
BD → ED
Introduction
14/69
BD → ED
Entrepôt de données
récolte, stockage et gestion efficace des gros volumes de
données
OLAP
requêtes interactives complexes sur ces volumes
Data mining (fouille de données)
extraction automatique de propriétés cachées
données → information → connaissances
15/69
BD → ED
Analyse OLAP
(On-Line Analytical processing)
Techniques OLAP :
apparition en recherche dans les années 70
mais développement dans les années 90 dans l’industrie
Réalisation de synthèses, d’analyses et de la consolidation
dynamique de données multidimensionnelles
Manière la plus naturelle d’exploiter un ED étant donné son
organisation multidimensionnelle
16/69
BD vs. DWH
Introduction : Comparaison
Pourquoi pas des SGBDs pour les entrepôts de données ?
les 2 systèmes sont performants
SGBD : calibré pour l’OLTP ; méthodes d’accès index,
contrôle de concurrence, reprise
Entrepôt : calibré pour l’OLAP ; requêtes OLAP complexes,
vue dimensionnelle, consolidation
Fonctions et données différentes
Données manquantes : l’aide à la décision (AD) a besoin des
données historiques qui ne se trouvent pas dans les BD
opérationnelles
Consolidation : l’AD a besoin de données consolidées
(agrégats) alors qu’elles sont brutes dans les BD
opérationnelles
17/69
BD vs. DWH
Introduction : Comparaison
SGBD hétérogènes vs. Entrepôts de données
Traditionnellement, l’intégration de BD hétérogènes se fait par
le biais de
Wrappers/médiateurs au dessus des BD hétérogènes
Approches orientées requêtes
Quand une requête est posée sur un site client, un
métadictionnaire est utilisé pour la traduire en plusieurs
requêtes appropriées à chacune des BD. Le résultat est
l’intégration de réponses partielles
L’exécution des requêtes demande donc beaucoup de
ressources
Entrepôts de données : approche orientée mise à jour
les informations sont intégrées et stockées pour une
interrogation directe
Plus efficace en coût d’exécution des requêtes
18/69
BD vs. DWH
Introduction : Comparaison
19/69
BD vs. DWH
Introduction : Comparaison
20/69
BD vs. DWH
Architecture du DWH
Architecture Multi-tiers
Data select
Dictionnaire de (requetes)
OLAP SERVER
Méta−données
100
0
Oracle Express 011
100
11
MVS (TSO, DB2 ...)
Business Objects
(rapports, analyses)
E(xtract)
T(ransform)
L(oad) DataWareHouse
111
0
0
100
00
11
UNIX (Oracle, ...) Oracle 9i (Olap)
SAS
(Datamining)
111
0
000
100
11
Windows (SQL Server, Data Marts
Excel, ...)
21/69
BD vs. DWH
Pays Trimestre
Catégorie
Produit
Ville Mois
Semaine
Produit
Magasin Jour
Mois
22/69
Applications
Domaines d’application
23/69
Applications
Domaines d’application
Informatique décisionnelle
Entrepôt de données
Outils de veille stratégique et de recueil d’information
(intelligence économique)
Aide aux décideurs pour prendre les bonnes décisions sur la
base des données disponibles
Exemples :
Quels sont les 5 produits les plus vendus pour chaque
sous-catégorie de produits qui représente plus de 20% des
ventes dans sa catégorie de produits ?
Quelle est la priorité d’expédition et quel est le revenu brut
potentiel des commandes de livres qui ont les 10 plus grandes
recettes brutes parmi les commandes qui n’avaient pas encore
été expédiées ?
24/69
Applications
Applications
25/69
Applications
26/69
Applications
Exemple d’application
Domaine bancaire
Un des premiers utilisateurs des ED
Regroupement des informations relatives à un client pour une
demande de crédit
Lors de la commercialisation d’un nouveau produit :
Mailing ciblés rapidement élaborés à partir de toutes les
informations disponibles sur un client
Recherche de fraudes sur les cartes de crédit :
Mémorisation des mouvements et contrôles a posteriori, pour
détecter les comportements suspects
Échanges d’actions et de conseils de courtages
Déterminer des tendances de marchés grâce à :
la mémorisation de l’historique
une exploitation par des outils décisionnels avancés
27/69
Définition d’un DWH
28/69
Définition d’un DWH
BD1
Target DataBase
Load
DataWareHouse
Ressources externes
(file system, ftp, www, ...)
29/69
Définition d’un DWH
Architecture du DWH
Architecture Multi-tiers
Data select
Dictionnaire de (requetes)
OLAP SERVER
Méta−données
100
0
Oracle Express 011
100
11
MVS (TSO, DB2 ...)
Business Objects
(rapports, analyses)
E(xtract)
T(ransform)
L(oad) DataWareHouse
111
0
0
100
00
11
UNIX (Oracle, ...) Oracle 9i (Olap)
SAS
(Datamining)
111
0
000
100
11
Windows (SQL Server, Data Marts
Excel, ...)
30/69
Définition d’un DWH
Opérations
Extraction (Extraction) : Ces opérations permettent de filtrer les
données à partir de données sources (BD, fichiers, sites web...) dans
des BD temporaires.
Transformation (Transformation) : Ces opérations permettent de
transformer les données extraites dans un format uniforme.
Les conflits entre les modèles, les schémas et les données sont
résolus durant cette phase.
Chargement (Load) : Ces opérations permettent de charger les
données transformées dans la BD cible.
La BD cible est souvent implantée avec un SGBD relationnel-objet.
Agrégat et Groupement (Agregating and Grouping) : La BD cible
doit permettre de stocker les données opérationnelles et les données
issues de calculs.
31/69
Architecture
Architecture
Objectifs :
regrouper les données sources
concevoir le schéma de l’entrepôt
remplir l’entrepôt
maintenir l’entrepôt
32/69
Architecture fonctionnelle
33/69
Architecture fonctionnelle
Entrepôts de données
Collecte l’ensemble de l’information utile aux décideurs à partir
des sources de données (BD opérationnelle, BD externes, ...)
Centralisation de l’information décisionnelle
Garantie de l’intégration des données extraites et de leur
pérennité dans le temps
Magasins de données
Orientés sujet
Aide efficace aux processus OLAP
Extraction d’une partie des données utiles :
pour une classe d’utilisateurs ou
pour un besoin d’analyse spécifique
34/69
Architecture fonctionnelle
Dictionnaire et méta-données
35/69
Données sources
Données sources
Les données des entreprises sont généralement :
Surabondantes
Eparpillées
Peu structurées pour l’analyse
Modifiées quotidiennement
Problème : Prise de décision difficile
Solution : Utilisation d’outils et de techniques visant à préparer les
données pour l’analyse Data warehousing
Il s’agit d’une technique visant à extraire des données de
différentes sources afin de les intégrer selon des formats
plus adaptés à l’analyse et la prise de décision
→ Problématique d’intégration et définition de wrappers
36/69
Données sources
37/69
Alimentation de l’ED
38/69
Alimentation de l’ED
4 étapes :
1 Sélection des données sources
2 Extraction des données
3 Nettoyage et Transformation
4 Chargement
39/69
Alimentation de l’ED
40/69
Alimentation de l’ED
Transformation
41/69
Alimentation de l’ED
Transformation
42/69
Alimentation de l’ED
Opération :
risquant d’être assez longue
plutôt mécanique
la moins complexe
Mais il est nécessaire de définir et mettre en place :
des stratégies pour assurer de bonnes conditions à sa
réalisation
une politique de rafraîchissement
43/69
Alimentation de l’ED
44/69
Alimentation de l’ED
Préparation à la restitution
Agrégation
Calcul de vues agrégées
Définition des indexes
Stockage dans le CDW
Personnalisation
Construction de magasin de données (Data Marts)
Construction de cubes de données
Construction des présentations demandées par les utilisateurs
45/69
Modélisation
Modélisation multidimensionnelle
Lien direct entre les analyses décisionnelles (OLAP) et une
modélisation de l’information conceptuelle :
proche de la perception qu’en a l’analyste
basée sur une vision multidimensionnelle des données
Modèle multidimensitionnel : les données sont vues comme des
data cubes
Un cube de dimension n est dit un cuboïde
Le treillis des cuboïdes d’un entrepôt de données forme un
data cube
La modélisation multidimensionnelle a donné naissance aux
concepts de fait et de dimension (Kimball 1996)
46/69
Modélisation
Cube de données
47/69
Modélisation
48/69
Modélisation
Cube de données
49/69
Modélisation
Concept de fait
Un fait :
modélisation du sujet de l’analyse
Mesures correspondant aux informations de l’activité analysée
Mesures numériques, généralement valorisées de façon
continue. On peut
les additionner
les dénombrer
calculer le minimum, le maximum ou la moyenne
Exemple : le fait de Vente peut être constitué des mesures
d’activités suivantes :
quantité de produits vendus
montant total des ventes
50/69
Modélisation
Concept de dimension
Axes ou perspectives caractérisant es mesures de l’activité d’un fait
Une dimension :
modélisation un axe d’analyse
nécessité pour chaque dimension, de définir ses différents
niveaux de détail
→ Définition de une (ou plusieurs) hiérarchie(s) de paramètres
se compose de paramètres correspondant aux informations
faisant varier les mesures de l’activité
Dans l’exemple précédent :
Analyse du fait Vente suivant différentes perspectives correspondant
à trois dimensions :
la dimension Temps
la dimension Geographie
la dimension Categorie
51/69
Bilan
Conclusion et perspectives
52/69
Bilan
Plus loin...
Big data warehouses
Volume
Optimisation/parallélisation des agrégations
OLAP dans un cloud
Variété
Nouveaux modèles multidimensionnels et opérateurs
d’agrégation
Entrepôts NoSQL
Vélocité
Travailler en mémoire : problème de l’explosion dimensionnelle
Fonctions d’oubli
Véracité
Qualité des données sources
Sécurité des données entreposées
53/69
NoSQL
NoSQL
54/69
NoSQL
55/69
NoSQL
Introduction
Constats :
De plus en plus de donnnées disponibles ou à manipuler
très grandes plateformes
applications Web (Google, Facebook, Twitter, Amazon, ...)
Nécessite de la gestion des données de manière distribuée
Le respect des propriétés ACID (Atomicité, Cohérence,
Isolation et Durabilité) n’est pas possible dans un
environnement distribué
Aussi, manipulation
de données complexes, hétérogènes, non structurées
de très grands volumes de données (Big Data)
56/69
NoSQL
57/69
NoSQL
w3resource.com/mongodb/nosql.php
58/69
NoSQL
59/69
NoSQL
NoSQL
Définition de systèmes « NoSQL » (not only SQL)
Pour répondre à l’augmentation du volume de donnnées à
traiter :
Spécialisation des systèmes
Systèmes sur mesure
Pas d’utilisation de SQL comme langage de requête
Généralement des modèles de données différents :
Modèle Document
Modèle Colonne
Modèle clé/valeur
Modèle Graphe
→ Théorème CAP (Cohérence, Disponibilité, Pannes)
(Brewer, 2000)
60/69
NoSQL
Théorème CAP
w3resource.com/mongodb/nosql.php
61/69
NoSQL
Systèmes NoSQL
62/69
NoSQL
SGBD NoSQL
Définition
63/69
NoSQL
SGBD NoSQL
Simplification en renonçant aux fonctionnalités classiques des
SGBDR :
Redondance (via réplication)
Pas forcément de schéma normalisé, initialement voire à terme
Pas de tables mais des collections
Rarement du SQL mais API simple ou langage spécialisé
Pas forcément de jointure mais multiplication des requêtes,
cache/réplication/données non normalisées, données imbriquées
Transactions pas forcément ACID mais plutôt BASE
Résisitance aux pannes (P) s’impose pour un système distribué :
AP (accepte de recevoir des données éventuellement
incohérentes)
CP (attendre que les données soient cohérentes)
64/69
NoSQL
SGBD NoSQL
Gestion des mégadonnées (big data) du web, des objets connectés,
etc.
Structure des données hétérogène et évolutive
Données complexes et pas toujours renseignées
Environnement distribué : données répliquées et accédées d’un peu
partout (dans le monde), traitement répartis
Techniques de partionnement des BD : sharding, hachage cohérent
(consistent hashing)
Contrôle de concurrence multi-version (Multi-Version Concurrency
Control MVCC)
Adaptation du protocole Paxos
Performances linéaires avec la montée en charge (les requêtes
obtiennent toujours aussi rapidement une réponse)
65/69
NoSQL
Classification de systèmes
66/69
Fondements des systèmes NoSQL
67/69
Fondements des systèmes NoSQL
Conclusion
68/69
Fondements des systèmes NoSQL
Conclusion
69/69