Algorithm Support for Graph Databases, Done Right
Daan de Graaf, Robert Brijder, Soham Chakraborty, George Fletcher, Bram van de Wall, Nikolay Yakovets

TL;DR
GraphAlg is a domain-specific language that enables expressive, efficient graph algorithms within graph databases, reducing complexity and improving performance compared to existing solutions.
Contribution
Introduces GraphAlg, a linear algebra-based DSL for graph algorithms that integrates seamlessly with query engines, enhancing expressiveness and performance.
Findings
Significant reduction in code complexity compared to SQL/Python and Pregel.
Achieves excellent performance on LDBC Graphalytics benchmarks.
Demonstrates that graph databases can unify queries and analytics.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGraph Theory and Algorithms · Advanced Database Systems and Queries · Advanced Graph Neural Networks
