从查询选择度计算数据分布
数据结构与算法
2024-01-12 v1 数据库
摘要
给定集合Z={(R1,s1),…,(Rn,sn)},其中每个Ri是ℜd中的一个范围(如矩形或球),si∈[0,1]表示其选择度。目标是计算一个小规模的离散数据分布D={(q1,w1),…,(qm,wm)},其中qj∈ℜd,wj∈[0,1](1≤j≤m),且∑1≤j≤mwj=1,使得D与Z最一致,即最小化errp(D,Z)=n1∑i=1n∣si−∑j=1mwj⋅1(qj∈Ri)∣p。在数据库场景中,Z对应于某表上的一组范围查询负载及其观测到的选择度(即返回元组的比例),D可作为紧凑模型,用于在不访问底层内容的情况下近似表内数据分布。本文给出了该问题的上界和下界。特别地,我们证明了从选择度查询寻找最佳数据分布的问题是NP完全的。在正面结果方面,我们描述了一个蒙特卡洛算法,可在O((n+δ−d)δ−2polylog)时间内构造一个规模为O(δ−2)的离散分布D~,使得errp(D~,Z)≤minDerrp(D,Z)+δ(对p=1,2,∞),其中最小值取遍所有离散分布。我们还建立了条件性下界,强烈表明相对近似的不可行性以及加法近似中指数维度依赖的不可消除性。这意味着对我们的算法进行显著改进的可能性不大。
引用
@article{arxiv.2401.06047,
title = {Computing Data Distribution from Query Selectivities},
author = {Pankaj K. Agarwal and Rahul Raychaudhury and Stavros Sintos and Jun Yang},
journal= {arXiv preprint arXiv:2401.06047},
year = {2024}
}