thesis

Optimisation de requêtes XQuery imbriquées

Defense date:

Jan. 1, 2009

Edit

Disciplines:

Authors:

Abstract EN:

We study in this thesis the optimization of XQuery evaluation in XML databases. As our general approach, we introduce techniques that exploit minimization opportunities on complex XQuery expressions, that involve composition-style nesting and schema information. Based on a large subset of XQuery, we describe rule-based algorithms that rewrite a query by recursively pruning the subexpressions whose results are not needed for the evaluation of the query. Given an input XQuery expression, our techniques will output a simplified yet equivalent XQuery expression. They are thus readily usable as an optimization module in any existing XQuery processor. In practice, our algorithms can drastically impact query evaluation time in various settings such as view-based query answering and access control, or query-by-example interfaces. We demonstrate by experiments the impact of our rewriting approach on query evaluation costs and we prove formally its correctness. We have given also extensions to our solution in order to take into account information about data schema (DTD), to extend the algorithm to other XQuery fragments and to refine the pruning analysis to simplify further the expressions.

Abstract FR:

Dans cette thèse nous étudions l'optimisation de l'évaluation des requêtes XQuery dans les bases de données XML. Dans notre approche, nous introduisons une nouvelle technique qui exploite des possibilités de minimisation qui peuvent apparaître dans le cas des requêtes imbriquées. Plus précisément, nous proposons un algorithme de réécriture qui minimise les expressions des requêtes dans lesquelles des résultats intermédiaires sont jugés inutiles au calcul du résultat final. Les sous-expressions générant ces résultats intermédiaires sont élaguées. Notre algorithme est présenté sous forme de règles de réécriture. Il permet d'élaguer récursivement les sous-expressions inutiles, et peut ainsi gérer plusieurs niveaux d'imbrication. Il prend en entrée une expression XQuery et retourne en sortie une expression minimisée et équivalente à la première. Nous montrons l'efficacité de notre algorithme par les résultats des expériences que nous avons menées, et nous prouvons formellement l'équivalence entre la requête initiale et celle obtenue à la suite du processus d'élagage. Nous donnons aussi des extensions pour notre algorithme afin de prendre en compte des informations sur le schéma des données (DTD), étendre l'élagage à d'autre ensemble de requête de XQuery, et affiner l'analyse pour simplifier d'avantage les requêtes.