Вы находитесь на странице: 1из 15

Modles de Cot pour la Slection de Vues Matrialises

dans le Nuage, Application aux Services Amazon EC2 et S3


Romain Perriot

, Jrmy Pfeifer

, Laurent dOrazio

,
Bruno Bachelet

, Sandro Bimonte

, Jrme Darmont

Clermont Universit, CNRS, Universit Blaise Pascal, LIMOS UMR 6158


nom.prenom@univ-bpclermont.fr

IRSTEA, UR TSCF, Clermont-Ferrand


sandro.bimonte@irstea.fr

ERIC Lyon 2, Universit de Lyon


jerome.darmont@univ-lyon2.fr
Rsum. La performance des entrepts de donnes est classiquement assure
grce des structures comme les index ou les vues matrialises. Dans ce con-
texte, des modles de cot permettent de slectionner un ensemble pertinent de
ce type de structures. Toutefois, cette slection devient plus complexe dans les
nuages informatiques, car en plus des temps de rponse, il faut simultanment
optimiser le cot montaire. Nous proposons dans cet article de nouveaux mo-
dles de cot intgrant le paiement la demande en vigueur dans les nuages. Sur
la base de ces modles, nous dnissons un problme doptimisation consistant
slectionner, parmi des vues candidates, celles matrialiser pour minimiser le
cot dinterrogation et de maintenance, ainsi que le temps de rponse pour une
charge de requtes donne. Dans un premier temps, nous optimisons les deux
critres sparment : le temps est optimis sous contrainte de cot et vice versa.
Notre proposition est ensuite valide de manire exprimentale.
1 Introduction
Linformatique dans le nuage (cloud computing), sous limpulsion dentreprises comme
Google, Microsoft et Amazon, suscite une attention particulire. Ce paradigme permet un accs
la demande des ressources congurables pouvant tre rapidement mises disposition avec
une maintenance minimale. Selon un modle de facturation lutilisation, les clients ne payent
que pour les ressources (stockage et calcul) quils utilisent. Les performances dans les nuages
reposent gnralement sur lutilisation dun grand nombre dinstances avec un paralllisme
transparent pour lutilisateur.
Les entrepts de donnes et les systmes OLAP (On-Line Analytical Processing) repr-
sentent des technologies daide la dcision qui permettent lanalyse en ligne de gros volumes
de donnes. Ces technologies reposent sur des techniques doptimisation comme des index, des
caches ou encore des modles logiques dnormaliss qui permettent lanalyse multidimension-
nelle (agrgations sur plusieurs axes danalyse) des donnes tout en garantissant des bonnes
Modles de Cot pour Vues Matrialises dans Amazon EC2 et S3
performances. Si classiquement, les entrepts de donnes sont grs au sein de lorganisation
qui les exploitent, avec larrive des nuages, ces organisations ont tendance dployer leurs
outils danalyse au sein des nuages pour proter de leur puissance de calcul et de stockage, et
liminer les cots de maintenance.
Dans cet article, nous nous intressons aux problmatiques lies aux vues matrialises et
leur impact sur le modle de facturation lutilisation des nuages. Les vues matrialises
permettent de stocker physiquement des rsultats de requtes pertinentes et frquentes an de
rduire les temps de rponse. Un des principaux ds consiste slectionner les vues matria-
liser. Traditionnellement, les critres utiliss pour la slection comprennent principalement le
stockage et les cots de maintenance Aouiche et Darmont (2009); Baril et Bellahsene (2003).
Dans le nuage, le stockage est virtuellement inni, permettant de stocker toutes les vues. Ce-
pendant, chaque vue matrialise implique un cot de stockage supplmentaire. Le problme
doptimisation des performances revient alors trouver un compromis entre temps de rponse
et cots, et dpend des besoins dun utilisateur particulier. une extrmit du spectre, les utili-
sateurs sous une contrainte budgtaire forte peuvent accepter des temps de rponse importants,
alors qu lautre extrmit, les utilisateurs peuvent ne pas tenir compte des cots sils ont
besoin dune rponse trs rapide.
Nous abordons le problme doptimisation multicritre de slection dun ensemble de vues
matrialiser an doptimiser la fois le cot budgtaire du stockage et de linterrogation dun
entrept de donnes dans le nuage, ainsi que le temps de rponse global. Pour atteindre cet
objectif, notre principale contribution est la conception de modles de cot pour le stockage,
la maintenance et linterrogation des vues matrialises dans le nuage. Cet article tend notre
prcdente proposition Nguyen et al. (2012) selon trois directions. Dabord, il propose des
modles de cots plus exibles qui peuvent tre appliqus diffrents fournisseurs, mme
si dans cet article nous nous focalisons sur certains services Amazon. Ensuite, il introduit
une nouvelle formulation qui permet de rsoudre ce problme doptimisation en utilisant des
solveurs du type CPLEX
1
. Enn, notre solution est valide avec le banc dessais Star Schema
Benchmark ONeil et al. (2009).
Cet article est organis de la manire suivante. La Section 2 prsente le contexte de notre
travail. Les Sections 3 et 4 dnissent les modles de cot pour la gestion de donnes dans
les nuages et les vues matrialises, respectivement. La Section 5 dcrit le problme dopti-
misation bas sur ces modles de cot. La Section 6 prsente les expriences que nous avons
menes pour valider notre solution. La Section 7 positionne notre travail par rapport ltat de
lart. Enn, la Section 8 conclut cet article et nonce des pistes de recherche future.
2 Motivations
Pour dnir les motivations du travail, cette section dcrit les tarications de services Ama-
zon et dnit la problmatique de la slection des vues matrialises dans le nuage.
2.1 Tarications dans les nuages
Les fournisseurs de services dans le nuage (ou CSP pour Cloud Service Providers) mettent
disposition un ensemble de ressources telles que du matriel (processeurs, stockage, rseaux),
1. IBM ILOG CPLEX Optimizer : http ://www.ibm.com/ software/integration/optimization/cplex-optimizer/
R. Perriot et al.
des plateformes de dveloppement et des services. Il existe de nombreux CSP sur le march,
tels quAmazon, Google ou Microsoft. Chaque CSP propose diffrents services et des tarica-
tions varies. Ce travail se limite un modle simpli, mais sufsamment reprsentatif, com-
prenant les lments communment facturs, savoir le processeur, le stockage et la consom-
mation de bande passante
2
. Ce modle est en particulier conforme aux services EC2 et S3
offerts par Amazon, qui seront utiliss comme paramtres du modle. Les tarifs proposs par
EC2 et S3 sont en particulier utiliss dans les diffrents exemples. Il est galement important
de noter que les valeurs mentionnes dans les exemples sont celles obtenues avec le systme
danalyse de donnes Pig Olston et al. (2008). Cependant, la solution que nous proposons est
indpendante du systme et peut donc tre utilise avec dautres outils.
Amazon Elastic Compute Cloud (EC2)
3
met disposition des ressources de calcul. Dif-
frentes congurations dinstances peuvent tre loues (micro, extra small, small, large, extra
large, etc.) diffrents prix, comme le montre la Table 1(a). Par exemple, le prix pour une ins-
tance small (correspondant une machine avec 1,7 Go RAM, 1 unit de calcul EC2, 160 Go
de stockage local) avec Linux est de 0,06 $ par heure.
La consommation de bande passante est facture en fonction du volume de donnes (Table
1(b)). Chez Amazon, les transferts de donnes en entre sont gratuits, alors que le cot de la
rcupration de donnes varie en fonction de la quantit de donnes.
Amazon S3
4
propose un stockage global ne dpendant pas du nombre dinstances (contrai-
rement par exemple Amazon EBS) dont le tarif varie en fonction du volume de donnes
(Table 1(c)) permettant ainsi des conomies dchelle (le prix payer diminue lorsque le vo-
lume de donnes augmente).
2.2 Problmatique
Type Prix
/heure
Micro 0,02 $
Small 0,06 $
Medium 0,12 $
Large 0,24 $
Extra large 0,48 $
(a) Instances EC2
Volume de donnes Prix /mois
Donnes entrantes
Toutes les donnes Gratuit
Donnes sortantes
Premier Go Gratuit
Jusqu 10 To 0,12 $ /Go
40 To suivants 0,09 $ /Go
100 To suivants 0,07 $ /Go
(b) Bande passante
Volume Prix /mois
Premier To 0,095 $ /Go
49 To suivants 0,080 $ /Go
450 To suivants 0,070 $ /Go
(c) Stockage S3
FIG. 1 Tarication Amazon.
Nous supposons disposer dun ensemble de vues candidates la matrialisation qui ont
t prselectionnes laide de mthodes existantes de slection de vues (par exemple Baril
et Bellahsene (2003)). Lobjectif de ce travail est de choisir les meilleures vues au regard du
modle de facturation lutilisation propos par les CSP, en considrant ainsi des contraintes
budgtaires avant la matrialisation. Les perspectives de recherche que nous avons considrent
2. Des travaux futurs devraient permettre de proposer un canevas gnrique visant considrer les diffrents CSP.
3. Amazon EC2 : http ://aws.amazon.com/ec2/
4. Amazon S3 : http ://aws.amazon.com/s3/
Modles de Cot pour Vues Matrialises dans Amazon EC2 et S3
en particulier lextension des algorithmes de slection existants prenant en compte les aspects
conomiques, an de fournir un processus uniforme.
3 Modles de tarication dans un nuage
Cette section prsente des modles de cot gnraux pour la gestion de donnes dans un
nuage, cest--dire sans considrer lutilisation de vues matrialises. Avec le nuage, des utili-
sateurs louent des ressources un CSP pour excuter des applications. Les cots sont gnra-
lement lis la consommation de bande passante pour le transfert des donnes en entre et la
rcupration des rsultats, ainsi que le temps de traitement des applications.
Soit C
c
la somme des cots de calcul, C
s
la somme des cots de stockage et C
t
la somme
des cots de transfert de donnes. Ainsi le cot total C de la gestion de donnes dans le nuage
est :
C = C
c
+C
s
+C
t
. (1)
Dnissons les paramtres gnraux et les fonctions que nous utilisons pour exprimer nos
modles de cot (Table 1). Soit Q = {Q
i
}
i=1..n
Q
la charge, cest--dire lensemble des re-
qutes excuter, et A = {A
i
}
i=1..n
Q
les rponses ces requtes. La frquence des requtes
est considre par le fait quune requte peut apparatre plusieurs fois dans la charge Q. Len-
semble de donnes complet est not D. La fonction s(X) retourne la taille en Go de X, par
exemple s(A
i
) est la taille de la rponse A
i
. La fonction t(X) retourne le temps de stockage
de X, par exemple t(D) est le temps de stockage de la base D dans le nuage.
Paramtre Description
Q = {Q
i
}
i=1..n
Q
Charge, requtes excuter
A = {A
i
}
i=1..n
Q
Rponses aux requtes
D = {D
k
}
k=1..n
D
Ensemble de donnes
IC = {IC
j
}
j=1..n
IC
Conguration des instances
s(X) Taille en Go de X
t(X) Temps de stockage de X
TAB. 1 Paramtres gnraux
3.1 Fonctions linaires par morceaux
FIG. 2 Fonction linaire par morceaux
R. Perriot et al.
Certains cots (les cots de transfert et de stockage, notamment) sont des fonctions li-
naires par morceaux. Dans la suite de larticle, nous dnissons une fonction de cot C(x)
linaire par morceaux comme une fonction qui peut tre dcompose en segments (Figure 2).
Chaque segment e reprsente C(x) dans un intervalle des valeurs dentres [x
e
; x
e+1
[ et
est caractris par une pente a
e
et un cot initial b
e
= C(x
e
). Considrant un segment e tel
que x [x
e
; x
e+1
[, C(x) = c
e
(x) = a
e
(x x
e
) + b
e
. La fonction linaire par morceaux
C(x) est donc exprime comme suit :
C(x) = c
e
(s(x))
= a
e
(x x
e
) +b
e
avec e tel que x
e
x < x
e+1
.
(2)
3.2 Cot de transfert
Le cot de transfert de donnes C
t
dpend de la taille des donnes envoyes, cest--dire
les requtes Q
i
et lensemble de donnes D (incluant lensemble initial et les donnes addi-
tionnelles ventuellement insres), et de la taille des donnes reues, cest--dire les rponses
A
i
aux requtes. Le cot peut tre dcompos en un cot de transfert montant C

t
et un cot
de transfert descendant C
+
t
:
C
t
(D, Q, A) = C

t
(D, Q) +C
+
t
(A). (3)
Notons quAmazon EC2 ne facture pas le transfert de donnes montant, donc les requtes et
lensemble de donnes peuvent tre ignors pour linstant. En consquence, le cot de transfert
de donnes peut tre rduit C
+
t
(A) et dpend donc uniquement de A :
C
t
(A) = C
+
t
(A). (4)
La facturation dAmazon EC2 est variable. Elle est nulle pour le premier Go. Ensuite, elle
devient 0,12 $ par Go jusqu 10 To, 0,09 $ par Go jusqu 40 To et ainsi de suite (Section 2.1).
La fonction de cot C
t
dune telle politique de facturation est une fonction linaire par mor-
ceaux (Formule 2).
Exemple 1 Avec 10 Go de consommation de bande passante, x
2
s(A) < x
3
, donc le cot
de transfert de donnes est calcul laide du segment 2 de la fonction : C
t
(A) = c
2
(s(A)) =
0, 12 (10 1) + 0 = 1, 08 $.
3.3 Cot de calcul
Le cot de calcul C
c
dpend de la charge Q, de la conguration IC des instances de calcul,
cest--dire le type (micro, small, medium, etc.) et le nombre de nuds utiliss : C
c
(Q, IC).
Amazon associe un prix chaque type dinstance. Chaque instance peut proposer des per-
formances variables (par rapport son nombre de curs, sa mmoire vive, etc.) et donc des
cots diffrents. Le fournisseur calcule ensuite le prix payer par instance comme le produit
du temps dutilisation par le prix pour chaque instance. Finalement, il additionne les rsultats
pour toutes les instances alloues.
Supposons maintenant que les requtes sont excutes sur une conguration dinstances
IC compose de n
IC
instances de calcul IC
j
: IC = {IC
j
}
j=1..n
IC
. Le cot de location de
Modles de Cot pour Vues Matrialises dans Amazon EC2 et S3
linstance IC
j
est not c
c
(IC
j
). Le temps de traitement dune requte Q
i
sur une instance IC
j
est not t(Q
i
, IC
j
). Ainsi, le cot de traitement de lensemble des requtes Q = {Q
i
}
i=1..n
Q
peut tre exprim par la fonction suivante :
C
c
(Q, IC) =
n
Q

i=1
n
IC

j=1
t(Q
i
, IC
j
) c
c
(IC
j
). (5)
Exemple 2 Considrons que la charge Q = {Q
1
} est traite en 50 heures sur deux instances
de type "small" dAmazon EC2. Ainsi, le cot de traitement est : C
c
(Q, IC) = t(Q
1
, IC
1
)
c
c
(IC
1
) + t(Q
1
, IC
2
) c
c
(IC
2
) = 50 0, 06 + 50 0, 06 = 6 $.
3.4 Cot de stockage
Le cot de stockage C
s
dpend de la taille et du temps de stockage de lensemble de
donnes complet D, et de la conguration des instances IC : C
s
(D, IC).
Le temps de stockage t(D) de lensemble de donnes D peut tre divis en priodes telles
que t(D) =
n
D

k=1
t(D
k
), o D
k
reprsente lensemble de donnes complet pour la priode k.
Dans chaque priode k, la taille s(D
k
) des donnes stockes est xe. Le cot total de stockage
est donc la somme des prix payer pour chaque priode :
C
s
(D, IC) =
n
D

k=1
C
s
(D
k
, IC). (6)
La tarication dAmazon S3 est variable. Elle est de 0.14 $ par Go pour le premier To.
Ensuite, elle devient 0.125 $ par Go jusqu 450 To et ainsi de suite (Section 2.1). Contraire-
ment Amazon EBS, le tarif dAmazon S3 est indpendant du nombre dinstances EC2. Cette
facturation c
s
est une fonction linaire par morceaux (Formule 2) et le cot de stockage peut
tre exprim comme suit :
C
s
(D, IC) =
n
D

k=1
c
s
(s(D
k
)) t(D
k
) (7)
Exemple 3 Avec Amazon S3 (Table 1(c) pour la tarication) et deux instances EC2 de type
"small", on considre que 0.5 To (512 Go) de donnes ont t stockes pendant 12 mois. Au
dbut du 8
me
mois, on insre 2 To (2048 Go) de nouvelles donnes dans le nuage. Ainsi, nous
avons deux priodes, et cause de leur volume de donnes, le segment 1 de la fonction de cot
est considr pour la priode 1, et le segment 2 pour la priode 2. Le cot de stockage complet
est : C
s
(D, IC) = c
1
(s(D
1
)) t(D
1
) + c
2
(s(D
2
)) t(D
2
) = (a
1
(s(D
1
) x
1
) + b
1
)
t(D
1
) +(a
2
(s(D
2
) x
2
) +b
2
) t(D
2
) = (0, 095 (512 0) +0) 7 +(0, 08 ((512 +
2048) 1024) + 1024 0, 095) 5 = 1441, 28 $.
4 Cot de la matrialisation de vues dans un nuage
Cette section prsente des modles de cot pour la matrialisation de vues dans le nuage,
en sappuyant sur les modles de cot dvelopps dans la Section 3. Nous supposons ici que
R. Perriot et al.
les requtes sont excutes sur un nombre constant n
IC
dinstances de calcul identiques IC
0
(IC
j
= IC
0
, j = 1..n
IC
). Dans de futurs travaux, nous devrons considrer le processus
dvaluation sur de multiples instances variables.
Soit V
cand
= {V
k
}
k=1..n
V
lensemble des vues candidates la matrialisation fourni par
une technique existante de slection de vues (Section 2.2). Dans cette section, nous supposons
que les vues matrialiser ont t slectionnes ct client, produisant un ensemble nal de
vues V V
cand
qui sont matrialises dans le nuage. Le problme de choisir le meilleur
ensemble de vues V partir de V
cand
en sappuyant sur les modles de cot prsents ici sera
trait dans la Section 6.
Il est important de noter que la matrialisation tant ralise dans le nuage, les cots de
transfert dus la matrialisation sont nuls. En consquence, le cot total de transfert de donnes
C
t
nest pas impact et reste exprim par la formule 3.
4.1 Cot de calcul
Utiliser les vues matrialises implique de modier le modle du cot de calcul, ds lors
que le traitement des requtes exploite les vues matrialises et que les vues doivent tre ma-
trialises et maintenues. Le cot de calcul C
c
dpend maintenant de V : C
c
(Q, V, IC).
En appliquant le modle de tarication dAmazon, et en considrant quon utilise dans le
nuage un nombre constant dinstances de calcul identiques
5
, la Formule 5 devient alors :
C
c
(Q, V, IC) = T(Q, V ) c
c
(IC
0
) n
IC
. (8)
T(Q, V ) est le temps total de calcul, ce qui correspond la somme du temps T
proc
(Q, V )
de traitement des requtes de la charge Q en utilisant lensemble V de vues matrialises, du
temps T
mat
(V ) de matrialisation de ces vues, et du temps T
maint
(V ) pour leur maintenance.
En consquence, ce temps peut tre exprim comme :
T(Q, V ) = T
proc
(Q, V ) +T
mat
(V ) +T
maint
(V ). (9)
Pour matrialiser une vue, la requte associe doit tre excute, ce qui doit tre pay dans
le nuage. Notons t
mat
(V
k
) le temps pour matrialiser la vue V
k
. Le temps total de matralisa-
tion est :
T
mat
(V ) =

V
k
V
t
mat
(V
k
). (10)
Le cot de la maintenance des vues matrialises est directement proportionnel au temps
requis pour mettre jour les vues matrialises quand elles sont impactes par des modica-
tions des donnes source. A noter que nous considrons que linterrogation et la maintenance
ne se produisent pas au mme moment. Par exemple, les requtes sont poses pendant la jour-
ne et la maintenance est ralise pendant la nuit. Soit t
maint
(V
k
) le temps de maintenance de
la vue V
k
, le temps total pour la maintenance de V est :
T
maint
(V ) =

V
k
V
t
maint
(V
k
). (11)
Quand les vues matrialises sont utilises, le temps de traitement des requtes est dni
par deux paramtres : la charge des requtes Q et lensemble des vues matrialises V . Les
5. Considrer un nombre variable dinstances est en dehors du champ dtude de cet article et fera lobjet de futurs
travaux.
Modles de Cot pour Vues Matrialises dans Amazon EC2 et S3
requtes peuvent utiliser le contenu des vues matrialises au lieu de recalculer leur rsultat.
A noter que nous considrons une charge Q xe, une charge variable est laisse pour de futurs
travaux. Comme les vues sont gnralement matrialises en fonction dune charge donne et
que la ntre est xe, alors V est galement xe. Soit t(Q
i
, V ) le temps de traitement de la
requte Q
i
en exploitant lensemble de vues matrialises V , le temps total de traitement de Q
laide de V est alors :
T
proc
(Q, V ) =
n
Q

i=1
t(Q
i
, V ). (12)
4.2 Cot de stockage
Utiliser les vues matrialises na pas dimpact sur le modle du cot de stockage tel quil
est prsent par les Formules 6 et 7. Exploiter les vues matrialises pour amliorer les per-
formances des requtes implique de stocker ces vues dans le nuage et de payer le cot corres-
pondant. En consquence, certaines donnes sont dupliques. Dans ce cas, la taille de D + V ,
cest--dire s(D) +

V
k
V
s(V
k
), est utilise la place de la taille s(D) de D seule pour la fac-
turation. Ainsi, le modle du cot de stockage dpendant de D et V peut tre exprim comme
suit :
C
s
(D, V, IC) = C
s
(D +V, IC). (13)
A noter que nous supposons que les donnes originales et les vues matrialises sont sto-
cke pendant toute la priode de stockage considre.
Exemple 4 Avec Amazon S3, lensemble de donnes de 0,5 To est stock pendant une anne,
et la taille des donnes dupliques par la matrialisation des vues est 50 Go. En outre, aucune
donne nest insre pendant la priode considre. Ainsi, nous avons une seule priode, et le
cot de stockage est C
s
(D, V, IC) = (512 + 50) 0.095 12 = 641 $.
5 Optimiser la matrialisation de vues dans le nuage
Dans cette section, nous tudions comment slectionner les vues matrialiser dans le but
damliorer la performance des requtes avec un minimum de surcot de stockage. Nous d-
nissons des problmes doptimisation pour slectionner le meilleur ensemble de vues matria-
lises en exploitant les modles de cot introduits la section 4. Ces problmes sont exprims
ici comme des programmes linaires avec des variables continues et discrtes qui peuvent tre
rsolus efcacement en utilisant un solveur de programmation entire mixte (MIP) tel que
CPLEX.
5.1 Objectifs doptimisation
A partir des ides de Kllapi et al. (2011), nous proposons trois problmes doptimisation,
nots MV
1
MV
3
, avec diffrents objectifs pour satisfaire les besoins et les contraintes des
utilisateurs.
R. Perriot et al.
Problme MV
1
: trouver un ensemble de vues V qui minimise le temps de rponse T
proc
avec une limite de budget C
max
sur le cot total C.
(MV
1
)

minimiser T
proc
avec C C
max
et les contraintes qui dnissent :
- le modle de cot
- la slection des vues
(14)
Problme MV
2
: trouver un ensemble de vues V qui minimise le cot total C avec une
limite T
max
sur le temps de rponse T
proc
.
(MV
2
)

minimiser C
avec T
proc
T
max
et les contraintes qui dnissent :
- le modle de cot
- la slection des vues
(15)
Rsoudre le problme doptimisation multicritre (cest--dire minimiser la fois C et
T
proc
) nest pas directement trait dans cet article, car cela ncessite des techniques dopti-
misation spciques (Coello et al. (2007)) qui diffrent des techniques doptimisation mono-
critre. Il nest pas possible de fournir une solution qui optimise les deux objectifs la fois.
Cependant, des solutions non domines peuvent tre trouves (des solutions de la frontire de
Pareto), cest--dire des solutions qui ne peuvent pas tre amliores sur lun des objectifs sans
empirer lautre objectif, Ehrgott (2005). Le modle prsent ici est totalement valide pour une
optimisation multicritre, en retirant les limites sur le budget et le temps de rponse.
Nanmoins, dans le but de percevoir la nature des solutions qui visent optimiser les deux
objectifs, nous proposons doptimiser le problme MV
3
suivant, o un coefcient indique
limportance relative du critre de temps de rponse par rapport au critre de cot. Un tel
coefcient doit tre x par le gestionnaire de lentrept de donnes.
Problme MV
3
: trouver un ensemble de vues V qui est un compromis entre un temps de
rponse T
proc
minimum et un cot total C minimum.
(MV
3
)

minimiser T
proc
+ (1 ) C
avec les contraintes qui dnissent :
- le modle de cot
- la slection des vues
(16)
5.2 Programme linaire
Dans le but de slectionner un ensemble de vues V matrialiser, nous utilisons un algo-
rithme existant tel que celui de Baril et Bellahsene (2003) qui permet dobtenir un ensemble de
vues candidates pour la matrialisation V
cand
= {V
k
}
k=1..n
V
. Dans une premire tape, nous
posons des hypothses sur V
cand
. Notamment, pour dterminer le gain apport par lutilisation
dune vue ou plusieurs vues pour une requte donne, nous devons soit connatre sufsamment
de dtails sur le fonctionnement du nuage pour exprimer analytiquement ce gain, soit raliser
des expriences pour le mesurer ou lvaluer.
Modles de Cot pour Vues Matrialises dans Amazon EC2 et S3
Par simplication, nous supposons ici que chaque requte Q
i
peut utiliser une seule vue
parmi lensemble des vues candidates, autrement dit, pour chaque requte Q
i
, il y a un en-
semble V
i
V de vues candidates, et pas plus dune vue dans cet ensemble ne doit tre
slectionne pour la requte Q
i
. Dans de futurs travaux, nous pourrons considrer les vues
candidates dune requte Q
i
comme tant un ensemble V
i
=

V
ij

j=1..n
i
qui contient n
i
ensembles de vues candidats V
ij
V . Il sagira alors de choisir un ensemble de vues V
ij
pour une requte Q
i
au lieu dune seule vue.
Le problme doptimisation doit slectionner au mieux une vue V
k
pour chaque requte
Q
i
. Dans ce but, des variables de dcision x
ik
sont introduites : x
ik
= 1 si la requte Q
i
utilise
la vue V
k
, et x
ik
= 0 sinon. Soit g
ik
le gain sur le temps de rponse dune requte Q
i
en
utilisant la vue V
k
. Les gains sont considrs constants dans ce problme, autrement dit, ils ont
t mesurs ou estims en amont ( partir dexpriences, de statistiques ou de modles). Le
temps de rponse de la requte Q
i
en utilisant les vues est exprim comme suit :
t(Q
i
, V ) = t
i

n
V

k=1
g
ik
x
ik
, (17)
o t
i
est le temps de rponse de la requte Q
i
sans utiliser aucune vue, et en supposant quil
ny a pas plus dune vue slectionne pour la requte Q
i
. Ce dernier point est garanti par les
contraintes suivantes :
n
V

k=1
x
ik
1, i = 1..n
Q
. (18)
Des variables de dcision x
k
sont galement introduites pour dterminer si une vue V
k
est
matrialise : x
k
= 1 si la vue V
k
est matrialise, et x
k
= 0 sinon. Une vue V
k
est matrialise
si elle est utilise par au moins une requte (quand il existe au moins une requte Q
i
telle que
x
ik
= 1), ce qui sexprime par les contraintes suivantes :
x
ik
x
k
, i = 1..n
Q
, k = 1..n
V
. (19)
En outre, il nest pas ncessaire de matrialiser V
k
si elle nest pas utilise du tout, ce qui
sexprime par les contraintes suivantes :
x
k

n
Q

i=1
x
ik
, k = 1..n
V
. (20)
Comme pour les gains sur les temps de rponse, les temps de matrialisation et de mainte-
nance (t
mat
(V
k
) et t
maint
(V
k
)) sont estims en amont. Ces temps doivent tre considrs pour
une vue V
k
uniquement si celle-ci est matrialise :
T
mat
(V ) =
n
V

k=1
t
mat
(V
k
) x
k
,
T
maint
(V ) =
n
V

k=1
t
maint
(V
k
) x
k
.
(21)
Tant que nous supposons quil ny a pas de donnes insres dans lentrept durant son
exploitation, nous pouvons considrer une seule priode de longueur t(D) pour le stockage.
R. Perriot et al.
La taille S de ces donnes et son cot de stockage sont exprims comme suit, avec c
s
la
fonction du cot de stockage (nous supposons quelle est linaire par morceaux ; Section 3.4) :
S = s(D) +
n
V

k=1
s(V
k
) x
k
,
C
s
(D, V, IC) = c
s
(S) t(D),
(22)
Notons que le cot de transfert C
t
nest pas impact par la slection des vues. Il sagit
dune valeur constante dans le problme doptimisation et reste exprime par la Formule 3.
En rsum, le problme doptimisation complet, par exemple MV
1
(MV
2
et MV
3
tant trs
similaires), est nalement exprim comme suit
6
:
MV
1

minimiser T
proc
=
n
Q

i=1

t
i

n
V

k=1
g
ik
x
ik

avec C = C
c
+ C
t
+ C
s
C
max
C
s
= c
s
(S) t(D)
C
c
= (T
proc
+ T
mat
+ T
maint
) c
c
(IC
0
) n
IC
S = s(D) +
n
V

k=1
s(V
k
) x
k
n
V

k=1
x
ik
1, i = 1..n
Q
T
mat
=
n
V

k=1
t
mat
(V
k
) x
k
x
ik
x
k
, i = 1..n
Q
, k = 1..n
V
T
maint
=
n
V

k=1
t
maint
(V
k
) x
k
x
k

n
Q

i=1
x
ik
, k = 1..n
V
x
ik
{0, 1}, i = 1..n
Q
, k = 1..n
V
x
k
{0, 1}, k = 1..n
V
(23)
A noter que nous avons tabli que c
s
est linaire par morceaux. Elle peut donc tre refor-
mule avec des contraintes linaires sur des variables continues et discrtes Chen et al. (2010).
6 Validation exprimentale
Des exprimentations ont t menes an de valider lutilisation des modles de cot pour
atteindre les diffrents objectifs. Cette section dcrit lenvironnement exprimental utilis et
les rsultats obtenus. Les expriences ont t ralises la fois dans le nuage et ct client.
Lensemble des donnes et des vues matrialises est stock dans le nuage et les requtes sont
traites dans le nuage. Les algorithmes de slection des vues sont excuts ct client. Lide
est en effet de slectionner les vues du ct du client et de les matrialiser dans le nuage.
6.1 Environnement exprimental
Les expriences ont t menes sur une grappe compose de 20 machines virtuelles avec
8 Go de disque dur, 2 Go de RAM et 1 vCPU. Larchitecture physique correspond douze
6. Pour des raisons de claret, la notation est simplie : les paramtres Q, D, V et IC ont t masqus.
Modles de Cot pour Vues Matrialises dans Amazon EC2 et S3
quadri-pros 800MHz avec 96 Go de RAM. Toutes les machines disposent de Hadoop (ver-
sion 0.20.2)
7
et Pig (version 0.9.1) Olston et al. (2008). La conguration du client na pas
dincidence sur les rsultats prsents. Cest pourquoi il nest pas pertinent de la dtailler.
Il existe deux faons principales pour gnrer des charges de travail an de tester ce type
de conguration. La premire est lutilisation de traces relles. Cette approche permet gn-
ralement de fournir une bonne approximation pour des cas rels dutilisation. Cependant, une
trace ne reprsente quun cas particulier et ne permet souvent pas de reprsenter la ralit
dans sa globalit. De plus, si lobjectif principal est de comprendre pourquoi une solution est
adapte un contexte donn, lutilisation de trace sera insufsante pour mettre en lumire les
mcanismes en action. La seconde approche correspond lutilisation dune charge de travail
synthtique. Linconvnient principal dune telle solution provient de sa nature articielle. Ce-
pendant, cela permet de jouer sur les congurations. Ainsi, si des traces sont disponibles, il est
possible de les utiliser pour choisir le modle et son calibrage. Le choix du modle est trs im-
portant pour offrir une bonne reprsentation du contexte cibl. Notre but est de mettre en avant
lintrt de notre approche pour les entrepts de donnes. Cest pourquoi nous avons choisi
dutiliser le banc dessais Star Schema Benchmark ONeil et al. (2009) (version 2.1.8.18). Les
requtes sont crites en Pig Latin et sont excutes par le compilateur Pig en terme de tches
MapReduce Dean et Ghemawat (2008) via une grappe Hadoop.
6.2 Rsultats exprimentaux
Nous avons test les scnarios MV
1
, MV
2
et MV
3
dcrits dans la Section 5.1 laide dun
jeu de donnes de 5.5 Go et les tarications dAmazon S3 et EC2. Les mesures sont ralises
selon des paramtres variables. Le premier paramtre est la priode dexprimentation, donne
en mois et allant de 1 24. Le deuxime paramtre est la frquence du banc dessais, autrement
dit le nombre de fois o le banc est excut pendant la priode tudie, donn en nombre
dexcutions par semaine et allant de 1 5. Le troisime paramtre est le nombre de nuds
utiliss pour valuer les requtes, allant de 5 20. Une exprience type xe deux des paramtres
en faisant varier le dernier. Les valeurs xes utilises pour la priode dexprimentation, la
frquence de la charge de travail et le nombre de nuds sont respectivement 12, 4 et 10.
La gure 3 prsente les rsultats obtenus. Ces rsultats dmontrent clairement que notre
approche permet de slectionner des vues qui amliorent considrablement la fois le temps
de rponse et le prix payer. En effet, le temps de rponse est diminu denviron un facteur 2
(par exemple, avec une frquence gale 4 fois par semaine, pendant 12 mois et sur une grappe
de 10 nuds, le temps de rponse est de 20 heures avec des vues matrialises, alors quil
correspond 42 heures quand les vues matrialises sont ignores) et le cot est jusqu deux
fois moins important (par exemple, pour une frquence gale 4 fois par semaine, pendant 12
mois et sur une grappe de 10 nuds, le cot avec vues est de 22 $, alors que celui sans vue est
de 32 $).
Notre solution permet donc datteindre lobjectif x. Quand le but est de rduire le cot,
lensemble des vues matrialiser permet de payer le minimum. Quand lobjectif est la per-
formance, cet ensemble conduit au temps de rponse minimum. Il convient cependant de noter
que dans le contexte propos, les objectifs ne sont pas rellement contradictoires. Ainsi, la
diffrence entre le cot et le temps nest relativement pas majeure (environ 10 % pour le cot
7. Hadoop : http ://hadoop.apache.org/
R. Perriot et al.
et 5 % pour le temps). Cependant, ces objectifs peuvent conduire la matrialisation de vues
diffrentes, dont limpact ne serait pas si ngligeable trs grande chelle, o un gain de 5
10 % se mesure en milliers de dollars et en heures de calcul.
(a) Cot en fonction de la priode (b) Temps en fonction de la priode (c) Cot en fonction de la frquence
(d) Temps en fonction de la frquence (e) Cot en fonction des nuds (f) Temps en fonction des nuds
FIG. 3 Rsultats exprimentaux.
7 tat de lart et positionnement
Nous prsentons dans cette section les travaux relatifs aux diffrents domaines abords
dans cet article : loptimisation de laccs aux donnes grce aux vues matrialises et les
modles de cots conus pour les systmes distribus grande chelle.
Dans le nuage, la question de la performance est majoritairement gre via llasticit en
terme de puissance de calcul. Pour autant, les techniques doptimisation des performances bien
connues dans le domaine des bases de donnes, comme la matrialisation de vues, peuvent
galement tre mises prot pour abaisser le cot global. De nombreuses approches ont t
proposes pour slectionner Yang et al. (1997); Mami et Bellahsene (2012) et maintenir Ceri
et Widom (1991); Zhou et al. (2007); Luo et al. (2003); Agrawal et al. (2009) les vues ma-
trialises, que ce soit dans les bases de donnes transactionnelles, spciquement dans les
entrepts de donnes ou mme sur le Web. Nos modles de cot visent tendre ces stratgies
en y incluant le modle conomique de paiement la demande des nuages informatiques, an
de trouver le meilleur compromis cot de stockage (vues matrialises comprises) / cot de
calcul.
Les modles de cots existants dans ce domaine traitent lordonnancement de ux de don-
nes en fonction du cot montaire et du temps dexcution de leur traitement Kllapi et al.
(2011), lamortissement du cot des structures de donnes pour assurer la viabilit conomique
du fournisseur de service Kantere et al. (2011) ainsi que dautres techniques doptimisation des
performances Upadhyaya et al. (2012). Dautres modles de cot ont t dvelopps pour des
applications spciques, notamment en astronomie. Dans ce domaine, des expriences de si-
Modles de Cot pour Vues Matrialises dans Amazon EC2 et S3
mulation ont montr quun bon compromis entre stockage de structures doptimisation et puis-
sance de calcul permet de rduire le cot global de traitement des donnes dans le nuage (en
loccurrence, la solution gratuite dAmazon) sans amoindrir les performances Deelman et al.
(2008). Notre travail vient en complment de ces modles et sen diffrencie de deux manires
principales. Premirement, nous considrons un modle de facturation sufsamment n, qui
est mme de reprsenter ceux de tous les fournisseurs de service. Deuximement, notre pro-
position sappuie sur un modle dtaill du processus doptimisation menant la slection des
vues matrialises. Elle est galement indpendante de toute application particulire.
8 Conclusion
Cet article propose une approche pour amliorer la gestion des donnes dans les nuages
laide des vues matrialises. Nos contributions principales sont de nouveaux modles de
cots qui compltent les modles de cots des vues matrialises existants avec la facturation
lutilisation des nuages. Ensuite, nous exploitons ces modles dans un processus doptimisation
qui fournit un compromis entre lamlioration des performances lie la matrialisation et les
contraintes budgtaires. Nos premires exprimentations dmontrent lintrt de lapproche.
Ce travail ouvre de nombreuses perspectives : (i) enrichir les modles pour palier les limites
nonces (instances multiples variables, etc.) ; (ii) tester les modles avec dautres tarications ;
(iii) intgrer les modles dans les algorithmes de slection de vues existants et comparer les dif-
frentes solutions ; (iv) prendre en compte dautres techniques doptimisation (index, caches,
etc.) ; (v) valider nos propositions plus grande chelle et pour dautres requtes (se prtant fa-
cilement ou non au paralllisme) ; et (vi) proposer des algorithmes plus rapides que les solveurs
MIP pour la rsolution des problmes doptimisation (e.g. mtaheuristiques).
Remerciements
Ce travail est nanc par les projets SYSEO (ANR-10-TECSAN-005-01) et GOD (STIC-
Asie-2012). Nous tenons remercier Thi Van Anh Ngyen et les membres dERIC, de lIrstea
et du LIMOS.
Rfrences
Agrawal, P., A. Silberstein, B. F. Cooper, U. Srivastava, et R. Ramakrishnan (2009). Asynchro-
nous view maintenance for vlsd databases. In SIGMOD, Providence, USA, pp. 179192.
Aouiche, K. et J. Darmont (2009). Data mining-based materialized view and index selection
in data warehouses. JIIS 33(1), 6593.
Baril, X. et Z. Bellahsene (2003). Selection of materialized views : A cost-based approach. In
CAISE, pp. 665680.
Ceri, S. et J. Widom (1991). Deriving production rules for incremental view maintenance. In
VLDB, pp. 577589.
Chen, D.-S., R. G. Batson, et Y. Dang (2010). Applied Integer Programming : Modeling and
Solution. John Wiley and Sons.
R. Perriot et al.
Coello, C. A. C., G. B. Lamont, et D. A. V. Veldhuisen (2007). Evolutionary Algorithms for
Solving Multi-Objective Problems. Springer.
Dean, J. et S. Ghemawat (2008). Mapreduce : simplied data processing on large clusters.
Communications of the ACM 51(1), 107113.
Deelman, E., G. Singh, M. Livny, G. B. Berriman, et J. Good (2008). The cost of doing science
on the cloud : the montage example. In SC, pp. 50.
Ehrgott, M. (2005). Multicriteria Optimization. Springer.
Kantere, V., D. Dash, G. Gratsias, et A. Ailamaki (2011). Predicting cost amortization for
query services. In SIGMOD, pp. 325336.
Kllapi, H., E. Sitaridi, M. M. Tsangaris, et Y. E. Ioannidis (2011). Schedule optimization for
data processing ows on the cloud. In SIGMOD, pp. 289300.
Luo, G., J. F. Naughton, C. J. Ellmann, et M. Watzke (2003). A comparison of three methods
for join view maintenance in parallel rdbms. In ICDE, pp. 177188.
Mami, I. et Z. Bellahsene (2012). A survey of view selection methods. SIGMOD Record 41(1),
2029.
Nguyen, T.-V.-A., S. Bimonte, L. dOrazio, et J. Darmont (2012). Cost models for view mate-
rialization in the cloud. In EDBT Workshops, pp. 4754.
Olston, C., B. Reed, U. Srivastava, R. Kumar, et A. Tomkins (2008). Pig latin : a not-so-foreign
language for data processing. In SIGMOD, pp. 10991110.
ONeil, P. E., E. J. ONeil, X. Chen, et S. Revilak (2009). The star schema benchmark and
augmented fact table indexing. In TPCTC, pp. 237252.
Upadhyaya, P., M. Balazinska, et D. Suciu (2012). How to price shared optimizations in the
cloud. PVLDB 5(6), 562573.
Yang, J., K. Karlapalem, et Q. Li (1997). Algorithms for materialized view design in data
warehousing environment. In VLDB, pp. 136145.
Zhou, J., P.-. Larson, et H. G. Elmongui (2007). Lazy maintenance of materialized views. In
VLDB, pp. 231242.
Summary
Data warehouses performance is usually achieved through physical data structures such as
indexes or materialized views. In such a context, several cost models enable to select a relevant
set of these structures. Nevertheless, this selection becomes more complex in the cloud. Indeed,
the criterion to optimize is at least two-dimensional, with the monetary cost balancing the
overall query response time. This paper introduces new cost models that t into the pay-as-
you-go paradigm of cloud computing. Based on these cost models, an optimization problem is
dened to nd, among candidate views, those to be materialized to minimize both the overall
cost of using and maintaining the database in a cloud and the total response time to a given set
of queries. First, we optimize the two objectives separately: one criterion is optimized under a
bounding constraint on the other one. Our proposal is validated through experiments.

Вам также может понравиться