Distributed Evaluation of Graph Queries using Recursive Relational Algebra
Sarah Chlyah, Pierre Genevès, Nabil Layaïda
TL;DR
This work tackles scalable evaluation of recursive graph queries by extending μ-RA to Dist-$\mu$-RA, enabling distributed execution through fixpoint splitting and stable-column partitioning. It introduces two Spark-based strategies, $\mathcal{P}_{\texttt{gld}}$ and $\mathcal{P}_{\texttt{plw}}$, and a cost-driven physical plan generator, backed by a modular architecture (Query2Mu, MuRewriter, CostEstimator, PhysicalPlanGenerator) with PostgreSQL and Spark backends. Empirical results on Yago, Uniprot, and synthetic graphs show Dist-$\mu$-RA outperforms GraphX and BigDatalog on most UCRPQ classes, especially for large intermediate results, while preserving correctness via formal fixpoint properties and data-partitioning guarantees. The approach reduces inter-node communication, broadens the practical applicability of recursive graph querying in distributed environments, and provides a principled cost model to guide plan selection. Overall, Dist-$\mu$-RA delivers significant efficiency gains for recursive graph queries and lays groundwork for broader integration with traditional RDBMS ecosystems.
Abstract
We present a system called Dist-$μ$-RA for the distributed evaluation of recursive graph queries. Dist-$μ$-RA builds on the recursive relational algebra and extends it with evaluation plans suited for the distributed setting. The goal is to offer expressivity for high-level queries while providing efficiency at scale and reducing communication costs. Experimental results on both real and synthetic graphs show the effectiveness of the proposed approach compared to existing systems.
