• Aucun résultat trouvé

L’´evaluation des requˆetes dans les bases de donn´ees probabilistes est un des grands challenges qui int´eressent actuellement la communaut´e scientifique. Evaluer une requˆete via l’ensemble des mondes possibles (i.e., s´emantique des requˆetes section 2.3, chapitre 2) est un probl`eme NP-hard, ceci s’explique par le fait que le nombre des instances possibles 98 1. GESTION DES BASES DE DONN ´EES PROBABILISTES

`

a travers lesquelles une requˆete est ´evalu´ee est exponentiel. Dans le but d’assurer une ´evaluation tractable des requˆetes, il est n´ecessaire de trouver des techniques d’´evaluation plus efficaces (i.e., optimales en termes de complexit´e), et dont le r´esultat est similaire `a celui obtenu via l’ensemble des mondes possibles.

Les approches d’´evaluation de requˆetes `a travers les bases de donn´ees probabilistes `a simple corr´elation (e.g., Tuple-Independant, BID, And/Xor Tree, etc) peuvent ˆetre divis´ees en deux cat´egories : ´evaluation intensionnelle, et ´evaluation extensionnelle.

L’approche intensionnelle est une m´ethode d’´evaluation de requˆetes [42] qui ´evalue ces derni`eres en termes d’´ev´enements complexes. Dans cette approche, chaque tuple ti est associ´e `a un ´ev´enement probabiliste atomique e(ti). L’´evaluation intensionnelle d’une requˆete Q est divis´ee en deux ´etapes : (i) premi`erement, elle calcule pour chaque tuple possible (i.e., tuple retourn´e) son lineage λ qui d´ecrit ses provenances. Le lineage d’un tuple est une formule propositionnelle (i.e., ´ev´enement probabiliste complexe) qui est obtenue en se basant sur les ´ev´enements des tuples initiaux et ceux des tuples interm´ediaires, ainsi que les op´erations alg´ebriques du plan de la requˆete (e.g., projection, jointure, etc) ; (ii) La deuxi`eme ´etape dans l’´evaluation intensionnelle permet de calculer la probabilit´e des tuples possibles en se basant sur leur lineage λ, i.e., la probabilit´e d’une formule propositionnelle P (λ). L’avantage de cette approche et qu’elle assure l’´evaluation correcte de n’importe quelle requˆete (i.e., les r´esultats sont en accordance avec la s´emantique de requˆetes). Cependant, il est impraticable d’utiliser cette approche pour l’´evaluation de requˆetes, et cela pour deux raisons. La premi`ere est que selon le plan de la requˆete et la taille de la base de donn´ees probabiliste, le lineage λ d’un tuple possible peut devenir tr`es large, ce qui augmente significativement la complexit´e d’ex´ecution. La deuxi`eme raison tient au fait que le calcul de la probabilit´e d’un lineage P (λ) est un probl`eme NP-complet [25]. Plusieurs approches ont ´et´e propos´ees afin d’optimiser la complexit´e li´ee au calcul de la probabilit´e d’une formule propositionnelle P r(λ). Les auteurs dans [41, 87] proposent une technique approximative qui permet de retourner pour P r(λ) un intervalle [L, U ] repr´esentant la borne inf´erieure L et la borne sup´erieure U de la probabilit´e de λ, i.e., L ≤ P r(λ) ≤ U . Ces techniques d’optimisation deviennent de plus en plus effectives dans le cas o`u l’´evaluation d’une requˆete ne n´ecessite pas des probabilit´es exactes pour les tuples retourn´es (e.g., les requˆetes T op-k).

Dans l’approche extensionnelle [25, 26, 96], le processus d’´evaluation d’une requˆete Q est enti`erement guid´e par les expressions de cette derni`ere, o`u le calcul des probabilit´es est impliqu´e dans le plan de Q. Par cons´equent, il n’est pas n´ecessaire de s´eparer l’ex´ecution de la requˆete du calcul des probabilit´es, i.e., les probabilit´es des tuples finaux sont calcul´ees dans le moteur de base de donn´ees pendant le traitement de la requˆete. Pour pouvoir cal-culer ces probabilit´es, l’approche extensionnelle ´etend les op´erateurs alg´ebriques (s´election σ, projection Π, jointure1, etc) du plan de Q en des op´erateurs alg´ebriques probabilistes (s´election probabiliste σp, projection probabiliste Πp, jointure probabiliste 1p, etc). Ces op´erateurs probabilistes s’appliquent uniquement sur des tuples ind´ependants. La s´election probabiliste σp agit comme σ, tel que les tuples s´electionn´es gardent leurs propres probabi-lit´es (i.e., P rσp(t) est ´egale `a P r(t) si t est s´electionn´e, 0 sinon) ; La projection probabiliste Πp calcule la probabilit´e d’un tuple t comme 1-(1-p1)(1-p2). . . (1-pn), o`u p1, p2,. . . ,pnsont les probabilit´es de tous les tuples dont la projection retourne t ; Tandis que dans la jointure probabiliste 1p, la probabilit´e de chaque tuple t obtenu par la jointure de deux tuples t1 et t2 (i.e., t=t1 1p t2) est ´egale `a p1×p2.

En g´en´eral, l’approche extensionnelle est consid´er´ee comment ´etant une solution ef-ficace qui n’assure l’´evaluation correcte que pour un type particulier de requˆetes i.e., l’approche extensionnelle est approximative. Lorsque les probabilit´es des outputs sont cal-cul´ees correctement (comme si nous avons ´evalu´e Q `a travers les mondes possible), le plan de la requˆete est safe. La complexit´e des requˆetes qui admettent des plans safe est polyno-mial. Cependant, pour certaines requˆetes les probabilit´es obtenues sont incorrectes. Ceci s’explique par le fait que les plans de ces requˆetes produisent des tuples interm´ediaires qui ne sont pas ind´ependants, un tel plan est appel´e unsafe. En revanche, il est pos-sible de trouver pour ce type de requˆetes des plans safe, et par cons´equent assurer une ´

evaluation correcte pour elles. Cependant, trouver pour une requˆete unsafe un plan safe est un probl`eme NP-hard.

Lorsqu’une base de donn´ees probabiliste est d´ecrite par un graphe probabiliste (i.e., corr´elation entre les tuples), le processus d’´evaluation d’une requˆete consiste `a ´etendre ce graphe probabiliste tout en cr´eant de nouvelles variables al´eatoires. Ces nouvelles va-riables correspondent aux tuples interm´ediaires ainsi qu’aux tuples r´esultant. Sen et al [107] d´efinie une alg`ebre qui permet de modifier les op´erateurs alg´ebriques du plan de la requˆete 100 1. GESTION DES BASES DE DONN ´EES PROBABILISTES

de fa¸con `a pr´eserver les corr´elations entre tous les tuples (i.e., tuples initiaux, tuples in-term´ediaires, tuples r´esultant). Les op´erateurs modifi´es permettent d’ajouter des facteurs (i.e., distributions de probabilit´es conditionnelles) au graphe probabiliste. Par exemple, pour l’op´eration projection nous ajoutons un facteur qui d´ecrit la corr´elation or ; La jointure se traduit par la corr´elation and, etc. La derni`ere ´etape consiste `a calculer les probabilit´es des tuples r´esultant, tout en basant sur le graphe probabiliste ´etendu, i.e., celui qui correspond au plan de la requˆete. La probabilit´e d’un tuple r´esultant est ´egale `

a la probabilit´e marginale de la variable al´eatoire correspondante. Plusieurs algorithmes d’inf´erence peuvent ˆetre utilis´es pour calculer efficacement la probabilit´e marginale dans un graphe probabiliste. Les auteurs dans [108] ´etendent l’algorithme d’inf´erence Variable Elimination [28] en introduisant le concept Facteur partag´e. Ce concept consiste `a fusion-ner les facteurs qui partagent entre eux certaines variables al´eatoires, ce qui permet de r´eduire le nombre de facteurs dans le graphe probabiliste, et par cons´equent optimiser le calcul des probabilit´es marginales.

Une autre fa¸con pour assurer l’´evaluation efficace des requˆetes est d’utiliser les vues mat´erialis´ees. Dans les bases de donn´ees classiques, les vues mat´erialis´ees constituent un concept tr`es puissant qui permet d’optimiser l’ex´ecution des requˆetes en se basant sur les r´esultats des requˆetes pr´ec´edentes [2, 50]. Dans le cas des bases de donn´ees probabilistes, les vues mat´erialis´ees peuvent avoir un impact consid´erable sur l’´evaluation des requˆetes [24,99]. Par exemple, dans l’approche extensionnelle, l’´evaluation d’une requˆete unsafe est un probl`eme NP-Hard. En revanche, lorsque nous r´e´ecrivons cette mˆeme requˆete en termes de vues, elle devient safe, et par cons´equent sa complexit´e d’´evaluation est polynomial. Cependant, le probl`eme majeur dans l’utilisation des vues mat´erialis´ees pour le traitement des requˆetes est comment trouver, repr´esenter, et utiliser les relations d’ind´ependance entre les tuples d’une vue. En g´en´eral, les tuples dans une vue peuvent ˆetre corr´el´es de fa¸con complexe. L’une des solutions pour r´esoudre ce probl`eme est de stocker le lineage de chaque tuple, mais celle-ci rend l’´evaluation de requˆetes moins efficace tout en complexifiant la d´efinition des vues par rapport `a la requˆete.