sigmod2013论文笔记:CS2:A New Database Synopsis for Query Estimation

来源:互联网 发布:淘宝服务中心在哪 编辑:程序博客网 时间:2024/06/15 07:34

基于关联抽样的查询估计

CS2:A New Database Synopsis for Query Estimation


摘要

本文提出了一种基于数据库统计汇总信息的关联抽要视图。对选择、连接查询提供快速、精确的结果集估计。与传统方法仅依赖于简单随机抽样的方法不同,这里的抽样选取那些保持连接相关性的元组,同时能够节约存储空间。提出了一种新的统计抽样方法——逆向抽样;设计了一种强大的逆向估计器,充分利用关联元组进行结果集估计。理论证明了此法是无偏的。实验证明此方法是快速有效的。在相同的空间预算条件下,CS2能够快速构建和推导估计结果。

1、 简介

一般的查询优化,依赖于大量的统计信息和特定的前提假设。

但是可能面对如下几个问题:

l  统计信息缺失

l  假设不准确

l  占用大量额外空间

如何快速、准确的构建数据库的摘要视图,刻画数据库结果的轮廓,方便估计呢?

已经有一下集中方法:

l  直方图:适合低维度查询,属性个数比较少的时候,一旦维度增加,维护和存储将非常困难。

l  采样:估计误差比较大,采样元组不具有相关性。或者只是从结果中随机抽要,在原有关系中,不具有代表性。即使相关,也只考虑了满足星型连接的情况;或者只限于外码连接,还要额外的存储。

l  构建基于查询的数据库摘要,例如TuG方法,但是该方法,过分依赖于分簇,并且构建复杂。

直方图方法不如采样方法和摘要方法精确;采样的方法又只局限于外码连接,还需要额外的保存摘要;TuG方法过分依赖于分簇,构建过程复杂。

本文的贡献在于构建一种简单、简洁、精确的数据库摘要。先对两种摘要进行却别:

l  基于连接结果采样的摘要:从连接结果抽样;假设没有悬挂元组;

l  基于连接相关关系采样的摘要:从连接关系中,抽取可以连接的相关元组

允许考虑悬挂元组,只取一次即可。

实验表明,上述2种摘要的方法比TUG的方法精确,而且快速;关联抽样的方法,简单、精确,并且适合多种连接和任意选择操作。

2 、预备知识

²  连接图

²  查询Q的连接图

²  连接关系

²  连接元组

²  源关系、非源关系、采样关系、采样元组

²  关联关系、关联元组

²  关联采样摘要

²  抽样顺序图

²  简单关联抽样

3、关联抽样摘要的构建

一般的采样

u  采样元组过于独立,相互之间缺少关联

u  导致大量累积误差

关联抽样

u  从连接关系中抽样,保持了连接关系和连接相关性

u  降低了估计得误差

u  文献【10】算法实现关联抽样摘要的定期更新

关联摘要构建时,最好采用以下原则:

u  从many-to-one关系采样,以减少样本空间

n  One-to-many 会使样本空间骤增,例如下图中,如果以学生为抽样关系,一个学生样本,会产生许多选课元组和他有关系。从而样本空间会突然增大。

u  仅保存关联元组的连接属性,或者一些经常会出现在选择条件、连接条件中的属性,以减少样本存储空间大小。

4、查询估计

u  重点研究等值连接和查询的结果估计

u  本节考虑的是无回路的连接关系图

u  假定没有悬挂元组

u  4.2.3会讨论悬挂元组在非源查询估计中的情况


(待续)



 

 

 


0 0