English

Optimizing Recursive Queries with Program Synthesis

Databases 2022-02-22 v1

Abstract

Most work on query optimization has concentrated on loop-free queries. However, data science and machine learning workloads today typically involve recursive or iterative computation. In this work, we propose a novel framework for optimizing recursive queries using methods from program synthesis. In particular, we introduce a simple yet powerful optimization rule called the "FGH-rule" which aims to find a faster way to evaluate a recursive program. The solution is found by making use of powerful tools, such as a program synthesizer, an SMT-solver, and an equality saturation system. We demonstrate the strength of the optimization by showing that the FGH-rule can lead to speedups up to 4 orders of magnitude on three, already optimized Datalog systems.

Keywords

Cite

@article{arxiv.2202.10390,
  title  = {Optimizing Recursive Queries with Program Synthesis},
  author = {Yisu Remy Wang and Mahmoud Abo Khamis and Hung Q. Ngo and Reinhard Pichler and Dan Suciu},
  journal= {arXiv preprint arXiv:2202.10390},
  year   = {2022}
}