Algorithm Support for Graph Databases, Done Right
By: Daan de Graaf , Robert Brijder , Soham Chakraborty and more
Potential Business Impact:
Lets computers analyze networks faster and easier.
Graph database query languages cannot express algorithms like PageRank, forcing costly data wrangling, while existing solutions such as algorithm libraries, vertex-centric APIs, and recursive CTEs lack the necessary combination of expressiveness, performance, and usability. We present GraphAlg: a domain-specific language for graph algorithms that compiles to relational algebra, enabling seamless integration with query processing pipelines. Built on linear algebra foundations, GraphAlg provides intuitive matrix operations that are amenable to aggressive optimization including sparsity analysis, loop-invariant code motion, and in-place aggregation. Our implementation in AvantGraph demonstrates significant code complexity reduction compared to SQL/Python and Pregel while achieving excellent performance on LDBC Graphalytics benchmarks. GraphAlg establishes that graph databases can serve as unified platforms for both queries and analytics.
Similar Papers
Towards General-Purpose Data Discovery: A Programming Languages Approach
Databases
Finds hidden information in data faster.
Relational Algebras for Subset Selection and Optimisation
Databases
Lets computers find best answers from huge data.
Survey: Graph Databases
Databases
Helps computers understand connected information faster.