用基于小波的压缩直方图实现二维谓词选择率估计的方法技术

技术编号:2918479 阅读:466 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及用基于小波的压缩直方图实现二维谓词选择率估计的方法。方法分为对数据库中的数据进行统计和选择率估计两个阶段,其中:第一阶段包括以下步骤:1)数据采样,2)提取最频繁值,3)构造数据分布矩阵,4)小波分解,5)滤波存储,第二阶段包括以下步骤:6)重构数据分布矩阵,7)选择率估计。本发明专利技术使用小波技术对原始的数据分布矩阵进行有损压缩,从而使得二维数据的联合分布存储成为可能,在使用时,再将压缩过的数据分布矩阵恢复,从而进行二维选择率的估计。并且,本发明专利技术在小波分解前提取了最频繁值进行单独存储,因此使用小波技术压缩的数据损失被大大降低。本发明专利技术是一种时间换空间的方法,在不增加巨大时间开销的前提下,使用较少的存储空间保存了二维数据的联合分布,从而为二维查询提供准确的选择率估计。

【技术实现步骤摘要】

本专利技术涉及一种估计存储数据分布的技术,具体地说,是涉及一种用基于小波 的压縮直方图实现二维谓词选择率估计的方法。
技术介绍
数据库的很多功能都需要准确的谓词选择率估计,特别是査询优化器,其需要 使用谓词的选择率进行代价估计,从而选择代价最低的计划。从最早的关系数据库管理系统(RDBMS)开始,查询优化就是困扰数据库的一 个难题。选择率通常被用来估计符合査询条件的结果行数,而谓词选择率通常可以 从统计信息的直方图得到。数据库的统计信息记录着数据库对象(表、索引等)的 行数、大小、分布特征等信息。当提交到数据库的查询要执行时,数据库査询优化 器根据数据库对象上的统计信息进行代价估计,寻求最佳的执行计划。如果没有统 计信息可用或者统计信息陈旧,可能会造成数据库按照错误的存取路径读取数据, 生成相对来说不是最优的存取方案,按照不是最佳的执行计划运行,从而造成执行 效率的低下。传统方法是使用直方图存储数据的分布特征来提供选择率估计的依据。到目前 为止,各商业数据库先后使用了等宽(Equal-width)直方图、等高(Equal-height) 直方图、最大差异(Maxdiff)直方图、压縮(Compressed)直方图等直方图技术。 如,Oracle数据库目前采用的是等高直方图技术,SQL Server数据库使用的是Maxdiff 直方图技术,而DB2数据库使用的是Compressed直方图技术。这些直方图技术都是 一维直方图技术,它可以提供准确的一维査询选择率估计。但是对于多维查询,这 些一维直方图所提供的选择率估计常常是不准确的。这是因为,对于现实的数据库 数据,各个属性之间往往是存在某种联系的,而通过一维直方图进行多维选择率估 计是基于属性独立性假设的,而这种假设在现实中往往是很少存在的。多维直方图是对一维直方图的扩充,但是多维直方图的存储和构造代价都极高, 因此各大商业数据库都不采取多维直方图技术,而宁愿使用基于独立性假设的一维 直方图技术。目前,有一种方法希望通过使用多维数据的区别值个数对使用基于独 立性假设的一维直方图技术所得到的多维选择率进行修正,从而得到较为准确的多 维选择率,但是这种方法的修正结果是总是对使用基于独立性假设的一维直方图技 术所得到的多维选择率进行了一定的放大,因此,有时候这种方法能取得较好的效 果,但是有时候修正的结果会更加偏离实际结果,造成更严重的优化差错。
技术实现思路
本专利技术的目的是提供一种用基于小波的压縮直方图实现二维谓词选择率估计的 方法,与基于属性独立性假设的一维直方图技术相比,该方法所得到的选择率估计 值更准确、可靠。为实现上述目的,本专利技术采用以下技术方案一种用基于小波的压縮直方图实现二维谓词选择率估计的方法,它分为两个阶 段,第一阶段是对数据库中的数据进行统计,第二阶段是用户査询时的选择率估计, 其中第一阶段包括以下步骤1) 数据采样对待创建二维统计信息的关系进行随机采样,并获取二维统计信息所涉及的属 性的属性值,从而构成创建统计信息所基于的二维数据集合,2) 提取最频繁值MCV计算二维数据集中的所有不同数据的数目和每一个数据出现的次数,将出现次 数超过平均次数的数据作为二维最频繁值单独存储在统计信息中,其余的数据作为 下一步骤中的数据分布矩阵的输入,3) 构造数据分布矩阵构造一个用来存储数据的分布特征的整型矩阵,矩阵的每一维代表数据库属性的一维,矩阵的大小视每一维的数据分布范围而定,对步骤2)输入的数据逐条按照各维的属性值所在的坐标区域进行分发,确定矩阵的每一个坐标区域的数据分布量,4) 小波分解对步骤3)中构造的数据分布矩阵,按每一维顺序进行Haar小波分解,得到一 个新的矩阵,5) 滤波存储对小波分解后得到的矩阵进行过滤,按照数据库的存储能力选取若干个绝对值 最大的小波系数,记录该小波系数的值和该小波系数在数据分布矩阵中的坐标位置, 它们和步骤2)提取的最频繁值一起构成了基于小波的压縮直方图,将压縮直方图及 其必要的标识信息一起作为统计信息存储,第二阶段包括以下步骤6) 重构数据分布矩阵当用户提交一条査询语句的时候,首先按照统计信息的标识信息查找与査询语 句所涉及的属性相匹配的统计信息,然后按照Haar小波分解过程的逆过程对存储的 统计信息进行逆分解,重构出数据分布矩阵,7) 选择率估计当得到一个多维范围查询语句之后,首先从重构的数据分布矩阵中计算符合该 查询条件的选择率,然后计算最频繁值中符合查询条件的选择率,査询语句的选择率就等于这两个选择率之和。 本专利技术具有以下优点-本专利技术使用小波技术对原始的数据分布矩阵进行有损压缩,从而使得二维数据 的联合分布存储成为可能,在使用时,再将压縮过的数据分布矩阵恢复,从而进行 二维选择率的估计。并且,本专利技术在小波分解前提取了最频繁值进行单独存储,因 此使用小波技术压缩的数据损失被大大降低。本专利技术由于使用了 MCV的单独存储技术,对于二维等值查询条件,可获得相当 准确的选择率估计结果,与不使用MCV的小波技术相比,二维等值査询的准确性平 均提高20%以上。本专利技术是一种时间换空间的方法,在不增加巨大时间开销的前提下,本专利技术使 用较少的存储空间保存了二维数据的联合分布,从而为二维査询提供准确的选择率 估计。使用本专利技术的方法所获得二维谓词选择率估计比使用基于属性独立性假设的两 个一维直方图所获得的选择率估计要准确,尤其是两列属性之间存在函数依赖的情 况,使用本专利技术的方法所得的结果与实际结果的误差在40%以下,而使用基于属性 独立性假设的两个一维直方图所得的结果与实际结果的误差超过100%。本专利技术通过用基于小波的压縮直方图得到的二维谓词选择率估计准确、可靠, 克服了使用一维直方图进行多维选择率估计的不准确性,且与二维直方图技术相比, 本专利技术所需的存储和构造代价较低。附图说明图l是实现本专利技术的流程图2是从数据分布矩阵计算选择率的示意图3是进行数据分发之后构造的数据分布矩阵;图4是对数据分布矩阵进行二维Haar小波分解之后的矩阵;图5是根据查询条件重构之后得到的数据分布图。具体实施例方式如图1所示,本专利技术分为两个阶段,第一阶段是对数据库中的数据进行统计, 存储为统计信息,用于以后的査询优化,第二阶段是用户查询时的选择率估计。 第一阶段的具体步骤如下步骤一数据采样采样是从总体获取一部分样本,使这个样本能够描述总体的特征。对待创建二 维统计信息的关系进行随机采样,并获取二维统计信息所涉及的属性的属性值,从 而构成创建统计信息所基于的二维数据集合。步骤二提取最频繁值MCV (Most Common Value)首先对待创建统计信息的两维属性固定一个维数顺序,对二维数据集中的数据 按照固定好的维数顺序进行排序,然后,按照排序顺序计算所有不同的数据数目和 每一个数据出现的次数,将出现次数超过平均次数25%的数据作为二维MCV单独 存储在统计信息中,其余的数据作为下一步骤中的数据分布矩阵的输入。所有数据 出现的次数之和除以数据数就是平均次数。步骤三构造数据分布矩阵构造一个整型矩阵,用来存储数据的分布特征。矩阵的每一维代表数据库属性 的一维,矩阵的大小视每一维的数据分布范围而定,例如可以根据该属性的一维直 方图的大小确定矩阵在该维的大本文档来自技高网
...

【技术保护点】
一种用基于小波的压缩直方图实现二维谓词选择率估计的方法,其特征在于:它分为两个阶段,第一阶段是对数据库中的数据进行统计,第二阶段是用户查询时的选择率估计,其中:第一阶段包括以下步骤:1)数据采样对待创建二维统计信息的 关系进行随机采样,并获取二维统计信息所涉及的属性的属性值,从而构成创建统计信息所基于的二维数据集合,2)提取最频繁值计算二维数据集中的所有不同数据的数目和每一个数据出现的次数,将出现次数超过平均次数的数据作为二维最频繁值单独 存储在统计信息中,其余的数据作为下一步骤中的数据分布矩阵的输入,3)构造数据分布矩阵构造一个用来存储数据的分布特征的整型矩阵,矩阵的每一维代表数据库属性的一维,矩阵的大小视每一维的数据分布范围而定,对步骤2)输入的数据逐条按 照各维的属性值所在的坐标区域进行分发,确定矩阵的每一个坐标区域的数据分布量,4)小波分解对步骤3)中构造的数据分布矩阵,按每一维顺序进行Haar小波分解,得到一个新的矩阵,5)滤波存储对小波分解后得到的矩阵进 行过滤,按照数据库的存储能力选取若干个绝对值最大的小波系数,记录该小波系数的值和该小波系数在数据分布矩阵中的坐标位置,它们和步骤2)提取的最频繁值一起构成了基于小波的压缩直方图,将压缩直方图及其必要的标识信息一起作为统计信息存储,第 二阶段包括以下步骤:6)重构数据分布矩阵当用户提交一条查询语句的时候,首先按照统计信息的标识信息查找与查询语句所涉及的属性相匹配的统计信息,然后按照Haar小波分解过程的逆过程对存储的统计信息进行逆分解,重构出数据分布矩阵, 7)选择率估计当得到一个多维范围查询语句之后,首先从重构的数据分布矩阵中计算符合该查询条件的选择率,然后计算最频繁值中符合查询条件的选择率,查询语句的选择率就等于这两个选择率之和。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李阳王冰冰蒋志勇何清法乔典孟勃荣高鹏顾云苏赵殿奎徐岩
申请(专利权)人:北京神舟航天软件技术有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1