On the foundations for the compilation of web data queries: optimization and distributed evaluation of SPARQL. - TEL - Thèses en ligne
Thèse Année : 2018

On the foundations for the compilation of web data queries: optimization and distributed evaluation of SPARQL.

Sur la compilation des langages de requêtes pour le web des données : optimisation et évaluation distribuée de SPARQL

Louis Jachiet

Résumé

The topic of my PhD is the compilation of web data query languages. More particularly, the analysis and the distributed evaluation of a such language: sparql. My main contributions concern the evaluation of web data queries especially for recursive queries or for distributed settings. In this thesis, I introduce μ-algebra: it is a kind of relational algebra equipped with a fixpoint operator. I present its syntax, semantics, and a translation from sparql with Property Paths (a new feature of sparql allowing some form of recursion) to this μ-algebra. I then present a type system and show how μ-algebra terms can be rewritten to terms with equivalent semantics using either classical rewrite rules of the relational world or new rules that are specific to this μ-algebra. We demonstrate the correctness of these new rules that are introduced to handle the rewriting of fixpoints: they allow to push filters, joins and projections inside fixpoints or to combine several fixpoints (when some condition holds). I demonstrate how these terms could be evaluated both from a general perspective and in the specific case of a distributed evaluation. I devise a cost model for μ-algebra terms inspired by this evaluation. With this cost model and this evaluator, several terms that are semantically equivalent can be seen as various Query Execution Plans (QEP) for a given query. I show that the μ-algebra and its rewrite rules allow the reach of QEP that are more efficient than all QEP considered in other existing approaches and confirm this by an experimental comparison of several query evaluators on sparql queries with recursion. I investigate the use of an efficient distributed framework (Spark) to build a fast sparql distributed query evaluator. It is based on a fragment of μ-algebra, limited to operators that have a translation into fast Spark code. The result of this has been used to implement SparqlGX, a state of the art distributed sparql query evaluator. Finally, my last contribution concerns the estimation of the cardinality of solutions to a μ-algebra term. Such estimators are key in the optimization. Indeed, most cost models for QEP rely on such estimators and are therefore necessary to determine the most efficient QEP. I specifically consider the conjunctive query fragment of μ-algebra (which corresponds to the well-known Basic Graph Pattern fragment of sparql). I propose a new cardinality estimation based on statistics about the data and implemented the method into SparqlGX. Experiments show that this method improves the performance of SparqlGX.
Ma thèse porte sur la compilation des langages de requêtes orientés web des données. Plus particulièrement, ma thèse s’intéresse à l’analyse, l’optimisation et l’évaluation distribuée d’un tel langage : SPARQL. Ma contribution principale est l’élaboration d’une méthode nouvelle particulièrement in- téressante pour des requêtes contenant de la récursion ou dans le cadre d’une évaluation distribuée. Cette nouvelle méthode s’appuie sur un nouvel outil que nous introduisons : la μ-algèbre. C’est une variation de l’algèbre relationnelle équipée d’un opérateur de point fixe. Nous présentons sa syntaxe et sémantique ainsi qu’une traduction vers la μ-algèbre depuis SPARQL avec Property Paths (une fonctionnalité introduite dans le dernier standard SPARQL qui autorise une forme de récursion). Nous présentons ensuite un système de types et nous montrons comment les termes de la μ-algèbre peuvent être réécrits en d’autres termes (de sémantique équivalente) en utilisant soit des règles de réécriture provenant de l’algèbre relationnelle soit des règles nouvelles, spécifiques à la μ-algèbre. Nous démontrons la correction des nouvelles règles qui sont intro- duites pour réécrire les points fixes : elles permettent de pousser les filtres, les jointures ou les projections à l’intérieur des points fixes (dépendant des certaines conditions sur le terme). Nous présentons ensuite comment ces termes peuvent être évalués, d’abord de manière générale, puis en considérant le cas particulier d’une évaluation sur une plateforme distribuée. Nous présentons aussi un modèle de coût pour l’évaluation des termes. À l’aide du modèle de coût et de l’évaluateur, plusieurs termes qui sont équivalents d’un point de vue sémantiques peuvent maintenant être vus comme différentes manières d’évaluer les termes avec différents coûts estimés. Nous montrons alors que les termes qui sont considérés grâce aux nouvelles règles de réécritures que nous avons introduites, permettent une exécution plus efficace que ce qui était possible dans les autres approches existantes. Nous confirmons ce résultat théorique par une expérimentation comparant plusieurs exécuteurs sur des requêtes SPARQL contenant de la récursion. Nous avons investigué comment utiliser une plateforme de calcul distribuée (Apache Spark) pour produire un évaluateur efficace de requêtes SPARQL. Cet évaluateur s’appuie sur un fragment de la μ-algèbre, limité aux opérateurs qui ont une traduction en code Spark efficace. Le résultat de ces investigations à résultat en l’implémentation de SPAR- QLGX, un évaluateur SPARQL distribué en pointe par rapport à l’état de l’art. Pour finir, ma dernière contribution concerne l’estimation de la cardinalité des solutions à un terme de la μ-algèbre. Ces estimateurs sont particulièrement utiles pour l’optimisation. En effet, les modèles de coût reposent généralement sur de telles estimations pour choisir quel sera le terme le plus efficace parmi plusieurs termes équivalents. Pour cette estimation nous nous intéressons tout particulièrement au fragment conjonctif de la μ-algèbre (ce qui correspond au fragment bien connu Basic Graph Pattern de SPARQL). Notre nouvelle estimation de cardinalité s’appuie sur des statistiques sur les données et a été implémenté dans SPARQLGX. Nos expériences montrent que cette méthode permet de grandement accélérer l’évaluation de SPARQL sur SPARQLGX.
Fichier principal
Vignette du fichier
these-Louis-Jachiet-2018 (1).pdf (1.55 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

tel-01891444 , version 1 (09-10-2018)
tel-01891444 , version 3 (19-12-2018)
tel-01891444 , version 2 (13-11-2020)

Identifiants

  • HAL Id : tel-01891444 , version 1

Citer

Louis Jachiet. On the foundations for the compilation of web data queries: optimization and distributed evaluation of SPARQL.. Web. Communauté Université Grenoble Alpes, 2018. English. ⟨NNT : ⟩. ⟨tel-01891444v1⟩
598 Consultations
726 Téléchargements

Partager

More