On the Optimization of Recursive Relational Queries: Application to Graph Queries
Résumé
Graph databases have received a lot of attention as they are particularly
useful in many applications such as social networks, life sciences and the
semantic web. Various languages have emerged to query graph databases, many of
which embed forms of recursion which reveal essential for navigating in
graphs. The relational model has benefited from a huge body of research in
the last half century and that is why many graph databases rely on techniques of relational query engines. Since its
introduction, the relational model has seen various attempts to extend it with
recursion and it is now possible to use recursion in several SQL or Datalog
based database systems. The optimization of recursive queries remains,
however, a challenge. We propose mu-RA, a variation of the Relational
Algebra equipped with a fixpoint operator for expressing recursive relational
queries. mu-RA can notably express unions of conjunctive regular path
queries. Leveraging the fact that this fixpoint operator makes recursive terms
more amenable to algebraic transformations, we propose new rewrite rules.
These rules makes it possible to generate new query execution plans, that
cannot be obtained with previous approaches. We present the syntax and
semantics of mu-RA, and the rewriting rules that we specifically devised to
tackle the optimization of recursive queries. We report on practical
experiments that show that the newly generated plans can provide significant
performance improvements for evaluating recursive queries over graphs.
Domaines
WebOrigine | Fichiers éditeurs autorisés sur une archive ouverte |
---|
Loading...