Perfect and Maximum Randomness in Stratified Sampling over Joins
  Supporting sampling in the presence of joins is an important problem in data analysis, but is inherently challenging due to the need to avoid correlation between output tuples. Current solutions provide either correlated or non-correlated samples. Sampling might not always be feasible in the non-correlated sampling-based approaches -- the sample size or intermediate data size might be exceedingly large. On the other hand, a correlated sample may not be representative of the join. This paper presents a \emph{unified} strategy towards join sampling, while considering sample correlation every step of the way. We provide two key contributions. First, in the case where a \emph{correlated} sample is \emph{acceptable}, we provide techniques, for all join types, to sample base relations so that their join is \emph{as random as possible}. Second, in the case where a correlated sample is \emph{not acceptable}, we provide enhancements to the state-of-the-art algorithms to reduce their execution time and intermediate data size. 
Niranjan Kamat, Arnab Nandi
cs.DB