• Aucun résultat trouvé

Comparaison des méthodes d’optimisation basée sur des estimations

2.4 Comparaison des méthodes d’optimisation

2.4.2 Comparaison des méthodes d’optimisation basée sur des estimations

Nous présentons dans le tableau 2.1 dans la page suivante, une comparaison des mé-thodes d’optimisation basée sur des estimations en points singuliers. Nous nous appuyons sur les critères de comparaison décrits ci-dessus. Comme l’indique ce tableau, chaque mé-thode adresse le problème d’erreurs d’estimations causées par des événements spécifiques à un environnement particulier. Toutes les méthodes visent un même objectif : assurer des performances optimales d’évaluation de requêtes. Pour cela, chaque méthode propose une ou des modifications possibles d’un plan d’exécution pour corriger les sous-optimalités constatées. La majorité des méthodes contrôlent l’optimalité d’un plan par une obser-vation des statistiques lors de l’exécution. Ces statistiques sont généralement recueillies avec une matérialisation de résultats intermédiaires. Nous constatons aussi dans ce tableau que le critère centralisé des décisions de modifications est dominant. Ceci peut handica-per la capacité des méthodes d’assurer des handica-performances optimales. En effet, rappeler l’optimiseur plusieurs fois pendant l’exécution d’une requête peut engendrer un sur-coût important, d’autant plus qu’une décision de modification peut ne pas être bénéfique, i.e. modification basée sur des estimations à nouveau erronées.

La principale conclusion que nous pouvons tirer à partir de ce tableau, c’est que parmi les méthodes analysées, aucune n’est pleinement idéale pour l’ensemble des critères de com-paraison. Nous trouvons que la méthode qui répond au mieux à nos critères est la méthode proposée par Kabra et DeWitt [KD98]. Cette méthode adresse plus d’événements comparé aux autres méthodes. Elle accorde une attention particulière à la nature des statistiques à collecter, aux points de collecte et à la condition de ré-optimisation. Cependant, sa limite principale est qu’elle est totalement réactive. Elle utilise la ré-optimisation pour corriger des sous-optimalités observées. A la phase d’optimisation ou lors d’une ré-optimisation, la possibilité d’erreurs dans les estimations utilisées est ignorée. Un plan généré est es-timé optimal pour des valeurs particulières des paramètres nécessaires aux calculs des coûts. Ce principe de fonctionnement augmente le risque de sous-optimalités de plans et

de corrections requises. Plusieurs ré-optimisations d’un plan peuvent ralentir le temps de réponse, induisant ainsi des performances sous-optimales.

Méthodes Critères

MODIF EVEN MCC FC DM ENV MIND [EDNO97] ré-ordonnancement d’opérateurs indisponibilité de statistiques observation inter C D

CIE [NGl13] ré-optimisation imprécision des esti-mations observation inter C U Mid-Query Reoptimiza-tion [KD98] ré-optimisation / ré-allocation de ressources (mémoire)

imprécision des esti-mations / indisponi-bilité de statistiques

observation inter C P

POP [MRS+04]

ré-optimisation imprécision des esti-mations / indisponi-bilité de statistiques observation inter C P Tukwila [IFF+99] ré-optimisation / ré-allocation de ressources (mémoire)

imprécision des esti-mations / indisponi-bilité de statistiques / retards d’arrivée de données observation inter/ intra C/ DC D Query Scrambling [MFTU96]

ré-optimisation retards d’arrivée de données observation inter C D Continuous Query Op-timization [BJZ13] modification du degré de paral-lélisme

imprécision des esti-mations / indisponi-bilité de statistiques

observation inter C D/P

DyOpt [KBK+14]

ré-optimisation imprécision des esti-mations

observation inter C P Eddy [AH00]

ré-ordonnancement d’opérateurs

imprécision des esti-mations / indisponi-bilité de statistiques

exploration intra C U

Data Partion-ning [IHW04]

ré-optimisation imprécision des esti-mations / indisponi-bilité de statistiques

observation intra C D

Table 2.1 – Comparaison des méthodes d’optimisation basée sur des estimations en points singuliers

2.4.3 Comparaison des méthodes d’optimisation basée sur des

estimations en un ensemble de points

Dans le tableau 2.2 dans la page suivante, nous présentons une comparaison des mé-thodes d’optimisation basée sur des estimations en un ensemble de points, toujours suivant les critères décrits précédemment. Comme nous pouvons le constater à partir de ce tableau, toutes les méthodes tiennent compte de la possibilité d’erreurs d’estimations au moment de l’optimisation. Toutefois, elles ne considèrent pas toutes le contrôle d’exécutions ni la correction -si nécessaire- de plans d’exécution. Dans les méthodes qui considèrent la ré-optimisation, comme pour les méthodes de la première approche, nous constatons la dominance du critère centralisé des décisions de modifications de plans d’exécution. Nous pouvons conclure à partir de ce tableau que la méthode qui répond au mieux à nos critères est celle proposée par Babu et al. [BBD05]. Elle est dotée d’un comportement à la fois préventif et correctif. Le choix d’un plan d’exécution s’effectue avec une prise en compte d’erreurs d’estimations potentielles. Le plan généré est susceptible de four-nir des performances robustes sur un intervalle d’estimations. A l’exécution, si la valeur observée d’un paramètre jugé incertain n’est pas dans l’intervalle d’estimations utilisée, une ré-optimisation est déclenchée pour recalculer l’intervalle d’estimations pour ce pa-ramètre et regénérer un plan adéquat. La limite principale que présente cette méthode [BBD05] c’est que le calcul d’un intervalle d’estimations est basé sur des statistiques dans la méta-base. Si les statistiques requises sont indisponibles ou encore obsolètes, un inter-valle calculé risque d’être erroné. La valeur à l’exécution du paramètre en question risque de ne pas appartenir à cet intervalle. Cela peut engendrer plusieurs ré-optimisations pour recalculer l’intervalle et par conséquent, un sur-coût qui peut violer la robustesse visée. En outre, quand Rio [BBD05] échoue à trouver un plan robuste ou un ensemble de plans interchangeables sur l’intervalle d’estimations utilisé, Babu et al. [BBD05] proposent de sélectionner le plan estimé optimal en se basant sur des estimations singulières des para-mètres coûts, comme dans [MRS+04]. L’incertitude des estimations n’est plus considérée. Le plan généré est estimé optimal pour des conditions d’exécution spécifiques. La

robus-tesse n’est plus en vigueur. Le risque de sous-optimalités de plans générés et de sur-coûts dus à des ré-optimisations éventuelles de plans augmente.

Méthodes Critères

MODIF EVEN MCC FC DM ENV LEC [CHG02] aucun effet imprécision des

esti-mations

aucun effet aucun effet

C U

Robust Query Optimizer [BC05]

aucun effet imprécision des esti-mations

aucun effet aucun effet

C U

PAO [TK15] ré-optimisation imprécision des esti-mations

observation inter/ intra

C U

RIO [BBD05] ré-optimisation imprécision des esti-mations / indisponi-bilité de statistiques observation inter/ intra C U Minmax Regret [AHW15a, AHW15b]

aucun effet imprécision des esti-mations

aucun effet aucun effet C U Dynamic Query Eva-luation plans [CG94] ré-optimisation indisponibilité de statistiques observation inter C U SEER [ABD+10, DDH08]

aucun effet indisponibilité de statistiques

aucun effet aucun effet C U Plan bou-quet [DNH14, DH14, DH16] ré-optimisation indisponibilité de statistiques observation inter C U

Table 2.2 – Comparaison des méthodes d’optimisation basée sur des estimations en un ensemble de points