A Simple Algorithm for Worst-Case Optimal Join and Sampling
Florent Capelli, Oliver Irwin, Sylvain Salvati

TL;DR
This paper introduces a simple branch and bound algorithm that achieves worst-case optimality for join queries and can be adapted for efficient uniform sampling of answers, improving understanding of join processing.
Contribution
The paper presents an elementary algorithm with a straightforward analysis for worst-case optimal joins and sampling, unifying recent results in a modular and accessible manner.
Findings
Achieves worst-case optimal join processing on certain database classes.
Enables efficient uniform sampling of join answers based on upper bound estimates.
Provides a simple, modular framework recovering recent advanced results.
Abstract
We present an elementary branch and bound algorithm with a simple analysis of why it achieves worstcase optimality for join queries on classes of databases defined respectively by cardinality or acyclic degree constraints. We then show that if one is given a reasonable way for recursively estimating upper bounds on the number of answers of the join queries, our algorithm can be turned into algorithm for uniformly sampling answers with expected running time where is the upper bound, is the actual number of answers and ignores polylogarithmic factors. Our approach recovers recent results on worstcase optimal join algorithm and sampling in a modular, clean and elementary way.
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.
