(论文阅读-优化器)Selectivity Estimation Without the Attribute Value Independence Assumption

本文探讨了在数据库管理系统中,如何通过多维直方图和奇异值分解技术来准确估计涉及多个属性的查询结果集大小,尤其是在属性值不独立的情况下。传统的一维直方图假设被证明不适用,作者提出了新的多维直方图分类和SVD方法,对比了各种方法的优缺点和与独立推断的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

摘要

一、简介

二、问题公式

2.1 数据分布

2.2 属性值独立

2.3 查询结果集大小估计

三、直方图

四、属性值独立假设(AVI)

五、多维直方图(MHIST)

六、奇异值分解

七、实验评价

八、总结


摘要

一个包含相同relation中多个属性的查询结果size取决于这些属性的联合数据分布joint data distribution,即,所有属性值组合的频次。为了简化对属性大小的估计,大多数商业系统会假设属性值是互相独立的,并仅针对独立的属性来维护统计数据(通常是直方图)。在实际场景中,这个假设几乎都是错误的,因此估计的结果会非常不准确。在本文中,我们针对高效近似(多维)联合数据分布提出了两个主要可选方案。

  1. 使用多维直方图

  2. 使用基于线性代数的奇异值分解(SVD)技术

大量的实验证明了这两种方法的优点和缺点,以及与独立推定相比两者的优点。

一、简介

数据库关系系统(DBMS)中的多个组件都需要针对opeartor结果size(或是selectivities)的合理准确的估计。Cost-based query optimizer使用这些信息来推断后续operator,或最终整个query execution plans的costs。同样滴,query profilers使用它们来为用户提供快速的反馈,作为一种方法,可以在实际执行查询之前检测某些形式的语义错误。Selectivity估计通常依赖于数据库内容的一些近似知识。

对于涉及一个relation中的单个属性的查询,它的结果size依赖于数据库中这个属性的数据分布。近似单属性数据分布的建议技术方案包括基于histogram直方图的技术(采用均匀分布假设是它们中的一个特例)、采样参数技术(?)。直方图的主要优势在于它几乎不需要运行时开销,而且不要求数据满足概率分布或是多项式,并且,在大多数真实场景的数据库中,有一些直方图可以产生低误差的估计,同时占用相当小的空间(在catalog中大约100 bytes)。因此,直方图是实践中最常用的统计形式(例如,它们被用在DB2、Informix、Ingres、Microsoft、Oracle、Sybase中),并在文献中得到了广泛的研究。我们自己的早期工作已经产生了一种分类法,既包括旧的直方图,也包括几种新的直方图,其中一些新直方图的准确率远远高于前者。

对于涉及到同一个relation中的两个或是多个属性的查询来说,它的结果集大小取决于这些属性的联合数据分布,即,数据库中这些属性组合值的频率。由于这些分布的多维性,并且有大量这样的属性组合值,联合分布的直接近似值会更复杂和昂贵。在实践中,大多数的商业DBMSs会采纳属性值独立假设。在这个假设下,一个relation中的单个属性的数据分布之间互相独立,并且联合数据分布可以从个体分布中派生(用一维直方图近似)。

不幸的是,真实数据很少会满足属性值独立假设。例如,函数依赖关系(functional dependencies)与假设完全相反。此外,还存在一些中间场景。例如,在Employee relation中,salary属性强依赖于age属性是非常自然的(例如,更高/更低的salaries通常会和older/younger age相关)。在这种场景下使用属性值独立假设会导致非常不准确的联合数据分布的近似,进而会导致不准确的查询结果集大小推断和DBMS性能的毁灭性代价。我们意识到只有一种方法可以替代这一假设,即构造多维等深度直方图。但是,根据新的和更准确的直方图类,这种建议似乎是有限的,而且为划分二维空间而提出的启发式技术往往无效。

受到上述问题推动,我们研究了几种相对准确的近似联合数据分布的方法。本文包含了这些努力的结果,并作出了如下贡献:

  1. 我们以前的以为分类法中的所有直方图都被推广为多维。我们引入的新直方图类别被证明在获取联合数据分布方面比传统的等深直方图更准确。

  2. 在满足各种数学约束的情况下,提供了一种将多维空间划分为给定数量的分区的新技术。该技术与基于Hilbert-numbering的技术并对Muralikrisbna和Dewitt的技术进行了概括,结果表明,该技术可产生明显更好的多维图。

  3. 线性代数中的奇异值分解(Singular Value Decomposition,SVD)技术被引入作为一种用少量独立数据分布来近似二维联合数据分布的技术。

大量的实验证明了各种方法的优点和缺点,以及与独立假设相比的好处。

二、问题公式

我们提供了在一个relation中的一组实数或是整数值属性Xi(i = 1..n)上下文中的定义。这些定义可以通过首先将其域中的值转换为浮点数来扩展到非数值属性。

2.1 数据分布

属性Xi的值集合Vi是Xi在relation R中中出现的值的集合。我们定义 Vi = { vi(k): 1≤k≤Di },其中当k<j时vi(k) < vi(j)。vi(k) 的扩展 si(k) 定义为 si(k) = vi(k +

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值