la fragmentation dans les entrepôts de données : une approche basée sur les algorithmes...
Post on 17-Jan-2016
69 Views
Preview:
DESCRIPTION
TRANSCRIPT
Laboratoire d’Informatique Scientifique et IndustrielleÉcole Nationale Supérieure de Mécanique et d’Aérotechnique
1, avenue Clément Ader - BP 40109 - 86961 Futuroscope cedex - France
La fragmentation dans les entrepôts de données :
une approche basée sur les algorithmes génétiques
Ladjel BellatrecheLISI/ENSMA - Université de Poitiers bellatre@ensma.fr
Kamel BoukhalfaLGP U. Laghouat - ALGERIEk.boukhalfa@mail.lagh-univ.dz
ED
A’0
5
2
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Contexte
• Optimiser les requêtes de jointure en étoile (star join query):
– Plusieurs opérations de jointure suivies par des opérations de sélection
• Techniques d’optimisation :
– Vues matérialisées
– Index– Fragmentation (Oracle)
Exemple de création d’une table fragmentée horizontalement (tuples): CREATE TABLE sales (acct_no NUMBER(5),
acct_name CHAR(30), amount_of_sale NUMBER(6), week_no INTEGER)
PARTITION BY RANGE (week_no)(PARTITION sales1 VALUES LESS THAN (4) TABLESPACE ts0, PARTITION sales2 VALUES LESS THAN (8) TABLESPACE ts1, . . . PARTITION sales13 VALUES LESS THAN (52) TABLESPACE ts12)
– Traitement parallèleINT
RO
DU
CT
ION
3
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Une classification de techniques d’optimisation
Techniques d’optimisation
Structures non redondantes
Traitement
parallèleFragmentation
Index Vues matérialisées
Mono-index
Index binaireArbre B
Multi-index
Index de jointure
Structures redondantes
- Espace de stockage- Coût de maintenance
Horizontale Verticale
4
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Plan
• Problème de sélection de schéma de
fragmentation
• Un algorithme génétique de sélection
• Expérimentations
• Conclusion et perspectivesPL
AN
5
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Comment fragmenter un entrepôt ?
Fragmentation horizontale est bien adaptée aux entrepôts de données relationnels
• Méthode :– Décomposer une (des) table(s) de dimensions en utilisant
les prédicats de sélection définis dans les requêtes fréquentes
Fragmentation virtuelle ou physique
– Décomposer la table des faits en fonction des schémas de fragmentation des tables de dimensions
Fragmentation horizontale dérivée
6
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
ExempleCLIENT1
30 < Age 40
VENTE1
VENTE4
VENTE2
VENTE3
PRODUIT
TEMPS
CLIENT2
CLIENT3
CLIENT4
Age 18
18 < Age 30
Age > 40
Optimisation des requêtes de jointure Parallélisme Utilisation des structures redondantes sur un schéma fragmenté
N = Mi
- Mi : le nombre de fragments de la table de dimension Di
- k : nombre de tables de dimensions fragmentées
k
I =1
– CLIENT : 50 fragments sur l’attribut “Etat” – TEMPS : 48 fragments sur l’attribut “Mois”– PRODUIT : 100 fragments sur l’attribut "type de produit".
N=: 50 × 48 × 100 = 240 000 fragments de la table des faits
Impossibilité de gérer et maintenir ce grand nombre de fragments
7
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Problème de sélection de schéma de fragmentation
• Entrées :
– Schéma en étoile S (F, D1, D2, …, Dk)
– Ensemble de requêtes fréquentes Q
– Contrainte de maintenance : nombre maximal de fragments de la table des faits
• Sortie :– Ensemble de sous-schémas en étoile minimisant le coût
d’exécution de requêtes et satisfaisant la contrainte de maintenance
8
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Algorithme génétique
Extraction de prédicatsde fragmentation
Génération des sous domaines
Codage des individus
Sélection
Croisement
Mutation
Requêtesfréquentes
Modèle decoût
- Fréquence d’accès- Facteurs de sélectivité
Fonction d’évaluation
9
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Codage
Sexe Gamme Saison
F M T A P E A H
1 2 1 2 1 2 2 1
F1: Sexe =‘F’ & Gamme = ‘T’ & Saison = ‘P’ or ‘H’
F2: Sexe =‘F’ & Gamme = ‘T’ & Saison = ‘E’ or ‘A’
F3: Sexe = ‘F’ & Gamme = ‘A’ & Saison = ‘P’ or ‘H’
F4: Sexe = ‘F’ & Gamme = ‘A’ & Saison = ‘E’ or ‘A’
F5: Sexe = ‘M’ & Gamme = ‘T’ & Saison = ‘P’ or ‘H’
F6: Sexe = ‘M’ & Gamme = ‘T’ & Saison = ‘E’ or ‘A’
F7: Sexe = ‘M’ & Gamme = ‘A’ & Saison = ‘P’ or ‘H’
F8: Sexe = ‘M’ & Gamme = ‘A’ & Saison = ‘E’ or ‘A’
Trois attributs de fragmentation : Client.Sexe, Produit.Gamme,
Temps.SaisonDomaines des attributs de fragmentation :
Codage d’un individu :
Clauses définissant les fragments de la table des faits :
Client : 2 fragmentsProduit : 2 fragmentsSaison : 2 fragments
10
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
1 2 1 1 1 2 3 41 1 1 2 1 2 2 3
1 2 1 1 1 1 2 2
1 2 1 2 1 2 3 3
0.60.520.330.450.65
EvaluationSexe Gamme Saison Sélection
11001
12345
Croisement
5 21 5
1 21 1 1 2 1 1 1 1
1 2 1 1 1 2 1 11 1 1 2 1 1 3 4
Sélection & croisement
Croisement de l'individu 1 avec le 5
1 1 2 1 1 1 12 1 1 1 2 3 4
11
11
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
1 2 1 1 1 2 1 11 1 1 2 1 1 3 4 0.72
0.45
Evaluation
Gamme = ‘T’ & Saison = ‘P’ or ‘E’ Gamme = ‘T’ & Saison = ‘A’ Gamme = ‘T’ & Saison = ‘H’ Gamme = ‘A’ & Saison = ‘P’ or ‘E’ Gamme= ‘A’ & Saison = ‘A’ Gamme = ‘A’ & Saison = ‘H’
Schéma final de fragmentation
Attribut Sexe n’est pas pris en considération dans le processus de fragmentation
12
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Expérimentation (I)
Customer_level Product_level Channel_level Time_level UnitsSold DollarSales DollarCost
Actvars
Store_level Retailer_level
CustlevelCode_level Class_level Group_level Family_level Line_level Division_level
Prodlevel
Base_level all_level
Chanlevel
TidYear_level Quarter_level Month_level
Timelevel
24786000 9
9000
24
900
EX
PE
RIM
EN
TA
TIO
N
Taux de croisement : 70%
Taux de mutation : 30% -----> 6%
Nombre total de générations : 1500
Nombre d’individus par génération : 40
• Modèle de coût calculant le nombre d’E/S• Tables de dimensions stockées en mémoire
13
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Expérimentation (II)
0
50000
100000
150000
200000
250000
300000
350000
E/S
2 3 4 5 6 7 8 9
nombre d'attributs
RNU
RU
EX
PE
RIM
EN
TA
TIO
N
Effet du nombre d’attributs de fragmentation sur la performance
RU
RNU
Sans Fragmentation
0
100000
200000
300000
400000
500000
E/S
Effet du type de la répartition sur la performance
14
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Expérimentation (III)E
XP
ER
IME
NT
AT
ION
0
2000
4000
6000
8000
10000
12000
14000
500 1000 2000 3000 4000 5000 6000 7000 8000
RNU
RU
Effet du seuil sur la performance
0
20000
40000
60000
80000
100000
120000
140000
160000
1 2 3 4
E/S par rapport au nombre de tables de dimension fragmentées
RNU
RU
15
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Expérimentation (V)Seuil: 50 - Résultat : 48 fragments
Code_level 0 1 2 0 3 Fragments Prodlevel
Group_level 0 1 2 Fragments Prodlevel
Family_level 1 2 0 2 3 4 Fragments Prodlevel
Line_level 0 0 1 Fragment Prodlevel
Division_level 1 1 0 0 2 Fragments Prodlevel
Year_level 0 0 1 Fragment Timelevel
Month_level 5 10 7 4 10 2 4 0 3 7 4 2 7 Fragments Timelevel
Retailer_level 1 1 1 2 2 Fragments Custlevel
All_level 1 0 2 0 2 3 Fragments Chanlevel
Seuil: 2000 - Résultat : 2016 fragments
EX
PE
RIM
EN
TA
TIO
N
Code_level 0 0 0 0 1 Fragment Prodlevel
Group_level 0 0 1 Fragment Prodlevel
Family_level 2 2 3 3 3 2 Fragments Prodlevel
Line_level 0 0 1 Fragment Prodlevel
Division_level 2 1 2 2 2 Fragments Prodlevel
Year_level 0 0 1 Fragment Timelevel
Month_level 1 7 7 10 0 6 7 9 6 6 7 7 6 Fragments Timelevel
Retailer_level 0 0 0 0 1 Fragment Custlevel
All_level 3 3 3 2 2 2 Fragments Chanlevel
16
Ladjel Bellatreche - Kamel BoukhalfaEDA’05 - LYON
Conclusion & perspective
• Problème de sélection d’un schéma de
fragmentation
• Algorithme génétique de sélection
• Évaluation de notre approche
Paramétrage de l’algorithme génétique
(auto-administration d’un entrepôt)
Application du même algorithme pour la
sélection des index de jointure binaire
CO
NC
LU
SIO
N
top related