OLAP - LabUnix

publicité
OLAP
Équipe:
Johanne Lavoie
Giovanni Malizia
Présenté le 26 avril 2004
Prof. : Robert Godin
Cours : INF7115
Session : Hiver 2004
Plan de présentation










Survol
Problématiques
Approches OLAP
Amélioration de la performance
Processus de sélection des vues à matérialiser
Hiérarchies des attributs
Contexte étudié
 Cadre du treillis
 Algorithmes glouton
 Modèle de coût
Produits commerciaux
Conclusion
Références
2
Survol

Introduit en 1993 par E.F. Codd
Utilisation pour l’aide à la décision

Utilisateurs OLAP autonomes

Différents types : MOLAP, ROLAP, HOLAP, DOLAP

Étroitement lié aux entrepôts de données

Performance inacceptable sur un environnement opérationnel

3
Défis




Croissance constante des données
Complexité des requêtes
Temps de réponse
Coûts
Le dilemme
Quelles vues doit-on matérialiser pour
optimiser le temps de réponse,
minimiser l’espace disque occupé et
diminuer les coûts ?
4
Approche MOLAP
Les données sont nettoyées, agrégées dans des dimensions
multiples
 Les données sont emmagasinées dans des rangées
multidimensionnelles
 Pré compilation des rangées d'organisation et de données qui
peuvent être consultées directement et plus rapidement
 Joints déjà fait
 Vue multidimensionnelle directe des données
 Facilité d'utilisation

Crystal decisions, « Compound OLAP. An OLAP Architecture for the Real World », 2001, p.1-15
5
Approche ROLAP
Données volatiles
 Données agrégées et emmagasinées avec les bases de
données relationnelles
 Manipulation de requêtes complexes
 Interface multidimensionnelle aux données relationnelles
 Intégration possible à des BDs relationnelles existantes
 Jointures au moment de la requête Requête utilisant SQL

Crystal decisions, « Compound OLAP. An OLAP Architecture for the Real World », 2001, p.1-15
6
Amélioration de la performance

Optimisateurs de requêtes
Techniques d’évaluation de requête

Stratégies d’indexation




Index « bit-map »
Index de jointures
Alternatives pour la matérialisation des vues (cubes)



Toutes les vues
Aucune vue
Quelques vues (une partie du cube)
7
Processus de sélection des vues à matérialiser
Ensemble des requêtes
Vues candidates
Contrainte de ressource
Algorithme de sélection
Modèle de coût
Vues matérialisées
sélectionnées
Bellatreche, Ladjel, Techniques d’optimisation des requêtes dans les data warehouses, Laboratoire
d’Informatique Scientifique et Industrielle, 2003, http://www.lisi.ensma.fr/
8
Hiérarchies des attributs
Deux types d’opérations couramment utilisées pendant les requêtes :
Le pliage (roll up) et le dépliage (drill down)
Période
Jour
Semaine
X
X
Aucun
Mois
Année
Jours du mois (1-31)
Semaines du mois (1-5)
Jours du mois (1-31)
Jan.
Avr.
Déc.
Année
Harinarayan, Venky, Rajaraman, Anand, Ullman, Jeffrey, D., « Implementing Data Cubes Efficiently », Proceedings of the
1996 ACM SIGMOD international conference on Management of Data, p.205-216, ISSN:0163-5808
9
Contexte étudié
Cadre de treillis
pfc 6M
pc 6M
pf 0,8M
fc 6M
p 0,2M
f 0,1M
c 0,1M
Modèle de coût
none 1
Vues possibles
1
2
3
Algorithme glouton
Taille / Temps
Espace / Temps
10
Cadre de treillis
Cadre de treillis
pfc 6M
pc 6M
pf 0,8M
fc 6M
p 0,2M
f 0,1M
c 0,1M
none 1
Vues possibles
11
Treillis des 8 vues TPC-D
Huit (8) vues possibles
1. Pièce, fournisseur, client (6M)
2. Pièce, client (6M)
3. Pièce, fournisseur (0,8M)
pc 6M
4. Fournisseur, client (6M)
5. Pièce (0,2M)
p 0,2M
6. Fournisseur (0,01M)
7. Client (0,1M)
8. None (1)
Total: 19.1M
pfc 6M
pf 0,8M
fc 6M
f 0,1M
c 0,1M
none 1
p = pièce, f = fournisseur, c = client
Total: 7.1M
12
Treillis composé de dimensions hiérarchiques
cp 6M
Combinaison de deux
dimensions hiérarchiques
M
cs 5
n
Pays
Aucun
+
Taille
Type
Aucun
,1
c0
M
p5
Pièce
Client
ct 5,99 M
n
p
2
s1
7
t3
50
50 25
n
2M
0,
s 50
n
M
50
1
t
c = client
n = par pays
p = pièce
s = taille
t = type de pièce
none 1
Harinarayan, Venky, Rajaraman, Anand, Ullman, Jeffrey, D., « Implementing Data Cubes Efficiently », Proceedings
of the 1996 ACM SIGMOD international conference on Management of Data, p.205-216, ISSN:0163-5808
13
Avantages du treillis composé

Fournit un cadre pour évaluer les dimensions hiérarchiques

Améliore la modélisation des requêtes communes entre les
utilisateurs

Indique dans quel ordre matérialiser les vues

Réduction de l’accès aux données sources
14
Contexte étudié
Cadre de treillis
pfc 6M
pc 6M
pf 0,8M
fc 6M
p 0,2M
f 0,1M
c 0,1M
Modèle de coût
none 1
Vues possibles
1
2
3
Algorithme glouton
Taille / Temps
Espace / Temps
15
Algorithme glouton
Algorithme glouton
Espace / Temps
16
Déroulement de l’algorithme glouton (greedy)

La vue haut niveau est matérialisée

Sélection des vues additionnelles à matérialiser, une à une,
jusqu’à l’atteinte du coût total choisie

À chaque étape, choisir la vue non matérialisée, avec les
bénéfices les plus avantageux
17
Résultats de l’algorithme glouton
cp 6M
ct 5,99 M
M
cs 5
c = client
n = par pays
p = pièce
s = taille
t = type de pièce
n
,1
c0
M
p5
n
p
2
s1
n
M
7
t3
50
Numéro
1
2
3
4
5
6
7
8
9
10
11
12
Sélection
cp
ns
nt
c
p
cs
np
ct
t
n
s
aucune
Bénéfice Temps total Espace total
infinit
72M
6M
24M
48M
6M
12M
36M
6M
5,9M
30,1M
6,1M
5,8M
24,3M
6,3M
1M
23,3M
11,3M
1M
22,3M
16,3M
0,01M
22,3M
22,3M
petit
22,3M
22,3M
petit
22,3M
22,3M
petit
22,3M
22,3M
petit
22,3M
22,3M
50 25
n
2M
,
0
50
1
t
Temps
Espace
s 50
none 1
Nombre de vues
18
Contexte étudié
Cadre de treillis
pfc 6M
pc 6M
pf 0,8M
fc 6M
p 0,2M
f 0,1M
c 0,1M
Modèle de coût
none 1
Vues possibles
1
2
3
Algorithme glouton
Taille / Temps
Espace / Temps
19
Modèle de Coût
Modèle de Coût
1 2
3
Taille / Temps
20
Rappel: Treillis des 8 vues TPC-D
Huit (8) vues possibles
1. Pièce, fournisseur, client (6M)
2. Pièce, client (6M)
3. Pièce, fournisseur (0,8M)
4. Fournisseur, client (6M)
5. Pièce (0,2M)
6. Fournisseur (0,01M)
7. Client (0,1M)
8. None (1)
21
Modèle linéaire de coût
T=m*S+c
(T) temps d’exécution
 (S) taille d’une vue
 (c) coût fixe
 (m) ratio du temps de requête/taille de la vue

Source
Une cellule seulement
6. Vue – fournisseur
3. Vue – pièce, fournisseur
1. Vue – pièce, fournisseur, client
Taille (S)
Temps (sec.)
Ratio
1
2,07
Non applicable
10 000
2,38
,000031
800 000
20,77
,000023
6 000 000
226,23
,000037
Temps de réponse de la requête par rapport à la taille de la vue
2,38 – 2,07 = (0,31)/10000 = ,000031
Harinarayan, Venky, Rajaraman, Anand, Ullman, Jeffrey, D., « Implementing Data Cubes Efficiently », Proceedings of the
1996 ACM SIGMOD international conference on Management of Data, p.205-216, ISSN:0163-5808
22
Produits commerciaux
23
Catégorisation
Multi-pass SQL
Multidimensional server engine
Client multidimensional engine
ROLAP
MOLAP
Cartesis Magnitude
MicroStrategy
Crystal Holos (ROLAP mode)
SAS CFO Vision
Hyperion Essbase
Crystal Holos
Longview Khalix
Comshare Decision
Speedware Media/MR
Hyperion Essbase
Microsoft Analysis Services
Oracle Express
Oracle Express (ROLAP mode)
Oracle OLAP Option AW
Oracle OLAP Option (ROLAP mode)Gentia
Pilot Analysis Server
Microsoft Analysis Services
WhiteLight
PowerPlay Enterprise Server
Pilot Analysis Server
Applix TM1
Oracle Discoverer
Comshare FDC
Dimensional Insight
Hyperion Enterprise
Hyperion Pillar
DOLAP
Hyperion Intelligence
BusinessObjects
Cognos PowerPlay
Personal Express
TM1 Perspectives
http://www.olapreport.com/Architectures.htm#Matrix
24
Tendance de part du marché
http://www.olapreport.com/market.htm
25
Résultats TPC
Produit
Version
QphH
Prix /
QphH
Oracle
Enterprise Edition
v9.2.0.2.0
34,492
141.00 $
US
IBM DB2
UDB 7.2
22,361
253.00 $
US
5,199
120.00 $
US
Microsoft
Server 2003
SQL Server Enterprise Edition
2000
64 bit
Résultats des essais à 1,000 GB
Réf.: www.tpc.org
26
Conclusion



La distribution de l’espace disque entre les vues et les
index
L’algorithme glouton considère seulement la contrainte de
l’espace disque et exclut l’utilisation des index par les vues
Le découplage de la maintenance des vues dans l’entrepôt
de données par rapport aux mises à jour constantes des
données sources
27
Références
Ullman, Jeffrey D., « Efficient Implementation of Data Cubes Via Materialized Views », KDD Proceedings,
1996, p.386-388
Harinarayan, Venky, Rajaraman, Anand, Ullman, Jeffrey, D., « Implementing Data Cubes Efficiently »,
Proceedings of the 1996 ACM SIGMOD international conference on Management of Data, p.205-216,
ISSN:0163-5808
Gupta, Ashish, Mumick, Inderpal Singh, Ross, Kenneth A., « Adapting Materialized Views after Redefinition »,
ACM SIGMOD Conference, 1995, p.211-222
Goldstein, Jonathan, Larson, Per-Åke, « Optimizing Queries Using Materialized Views: A Practical, Scalable
Solution », ACM SIGMOD Conference, 2001, Vol. 2 No. 3, 1999, p.331-342
Gupta, Himanshu, « Selection of Views to Materialized in a Data Warehouse », Proceedings of 23rd VLDB
Conference, Athens, Greece 1997, p.1-15
Gupta, Himanshu, Mumick, Inderpal Singh, « Selection of Views to Materialize Under a Maintenance Cost
Constraint », Proceeding of the 7th International Conference on Database Theory, 1999, p. 453-470
Bellatreche, Ladjel, Techniques d’optimisation des requêtes dans les data warehouses, Laboratoire
d’Informatique Scientifique et Industrielle, 2003, http://www.lisi.ensma.fr/
28
29
Diapositives d'appui
30
Autres algorithmes
Algorithme
Description
ECA (Eager Compensating
Algorithm)
Adresse le découplage de vues avec les données sources
VRDS (View Relevance Driven
Selection)
Sélection d’un ensemble de vues à matérialiser dans un
contexte espace / coûts
ILGA (Inner Level Greedy
Algorithm)
Optimisation de GA initiale par une comparaison itérative
des combinaisons possibles des vues et des indexes
ITGA (Inverted Tree Greedy
Algorithm)
Utilise un arbre inversé pour le comparer au GA initiale et
l’optimiser
GIA (Greedy Interchange
Algorithm)
Utilise la solution généré par le GA et l’optimise en
remplaçant une à une la vue déjà sélectionnée par une vue
pas encore sélectionné
31
Tendances de recherche




OLAP Stream Data
Cube Iceberg
Cube-H
Cube Étoile (Star cubing)
32
Techniques d’indexages
Produit
Arbre B Bitmap Jointure
Oracle 9i
Oui
Oui
Oui
IBM DB2 Universal Database 7.2
Oui
Oui
Oui
MySQL 4.0
Oui
Non
Oui
Sybase Adaptive Server Enterprise 12.5
Oui
Non
Non
Microsoft SQL Server 2000 SP2
Oui
Non
Oui
http://common.ziffdavisinternet.com/download/0/1387/ExtendedFeatures_SQL.xls
33
Téléchargement