  Despite decades of research on approximate query processing (AQP), our
understanding of sample-based joins has remained limited and, to some extent,
even superficial. The common belief in the community is that joining random
samples is futile. This belief is largely based on an early result showing that
the join of two uniform samples is not an independent sample of the original
join, and that it leads to quadratically fewer output tuples. However,
unfortunately, this result has little applicability to the key questions
practitioners face. For example, the success metric is often the final
approximation's accuracy, rather than output cardinality. Moreover, there are
many non-uniform sampling strategies that one can employ. Is sampling for joins
still futile in all of these settings? If not, what is the best sampling
strategy in each case? To the best of our knowledge, there is no formal study
answering these questions.
  This paper aims to improve our understanding of sample-based joins and offer
a guideline for practitioners building and using real-world AQP systems. We
study limitations of offline samples in approximating join queries: given an
offline sampling budget, how well can one approximate the join of two tables?
We answer this question for two success metrics: output size and estimator
variance. We show that maximizing output size is easy, while there is an
information-theoretical lower bound on the lowest variance achievable by any
sampling strategy. We then define a hybrid sampling scheme that captures all
combinations of stratified, universe, and Bernoulli sampling, and show that
this scheme with our optimal parameters achieves the theoretical lower bound
within a constant factor. Since computing these optimal parameters requires
shuffling statistics across the network, we also propose a decentralized
variant where each node acts autonomously using minimal statistics.
