当前位置: 首页 > 专利查询>微软公司专利>正文

物化外联接视图的维护制造技术

技术编号:2917583 阅读:312 留言:0更新日期:2012-04-11 18:40
维护数据库中用于查询优化的物化视图。该体系结构提供用于增量式地维护具有多个外联接和聚合外联接视图的视图的第一个实际算法。具有内联接、一侧外联接和全外联接加上顶部的可任选聚合的物化视图可由基于将视图定义转换成联接析取范式并利用数据库约束来降低维护开销的步骤来构造增量式维护表达式的算法来处理。系统包括用于创建包括外联接的物化视图定义的视图创建组件、用于将外联接视图表达式转换成范式的转换组件、以及用于更新与物化视图定义相关联的所存储的物化视图结果的维护组件。

【技术实现步骤摘要】
【国外来华专利技术】背景随着因特网的出现,大量数据正变得更易于为大量用户访问,不论是在内部公司环境中还是在诸如基于web的数据库等公众场所中。从而,随着用户的数目,并因此查询的数目和复杂性持续增加,对这样的系统施加了更高效且性能驱动的要求。作为一个示例,在关系型数据库管理系统中,通过比较数据,诸如帐号和名字来创建数据(或文件)之间的关系。正进行比较的数据和结果可按照表的形式来构造。联接(join)过程包括基于某种条件将一个表(或文件)中的记录与另一个表(或文件)中的记录进行匹配,并创建包括来自正联接的表的数据的第三表。在一个示例中,Order(定单)表可与Customer(顾客)表联接以便为购买了特定产品的所有顾客创建第三表。联接默认类型的联接是内联接,内联接只要各自来自每一输入表的两个记录满足匹配条件时就产生结果记录。考虑将载货与收据匹配的另一示例。联接会产生已接收的载货的表但省略还未接收的载货。反之,外联接可创建每一载货的表,而无论它是否被接收到。所接收的项目的数据被附连到载货。空(或空值)域将附连到没有收据的载货。物化视图,也被称为索引视图,是用于加速数据库查询的处理的机制。物化视图是可用于计算查询的一部分或全部的预先计算出的结果,而非从基表中直接计算查询。物化视图可在查询处理时间方面提供巨大的改进。为了有用,物化视图必须在其底层基表中的任何一个被更新时被更新。这一般被称为视图维护。当前已知高效、增量式的视图维护算法仅是对SPJG视图的,即由选择、投影和内联接运算符组成的、顶部带有可任选聚合运算符的视图,其中聚合运算符对查询的结果进行汇总。之前对物化视图的增量式维护的工作主要集中于SPJG视图,但一个常规的系统提供用于维护外联接视图的机制。然而,它不覆盖聚合视图,且该机制-->对具有一个以上的外联接的视图可能变得非常低效。概述以下呈现了本专利技术的简化概述,以提供对所公开的本专利技术的某些方面的基本理解。该概述不是详尽的概观,它不旨在标识关键/重要的元素也不旨在描绘其范围。其唯一的目的是以简化的形式来介绍一些概念,作为稍后提出的更为详细的描述的序言。本专利技术涉及数据库系统中的查询处理,并提供用于维护外联接视图,包括聚合外联接视图的第一个通用且实际的算法。具有选择、投影、内联接、一侧外联接和全外联接的任何组合加上顶部的可任选聚合的物化视图被称为SPOJG视图,它可由所公开的算法来处理。此处所述的是用于将增量视图维护扩展至SPOJG视图的体系结构。扩展通过创建为SPOJG视图构造增量式维护表达式的一个或多个算法来进行。常规上,SPOJ表达式可被转换成范式,例如联接析取(join-disjunctive)范式。所公开的算法将这种范式用于外联接表达式,并且还利用了数据库约束,例如外键约束来降低维护开销。实验表明,维护外联接视图不一定比维护内联接视图昂贵;且对于聚合视图,它甚至可以更便宜。从而,此处公开并要求保护的本专利技术在其一个方面中包括便于维护物化外联接视图的计算机实现的系统。该系统可包括用于创建包括外联接的物化视图定义的视图创建组件、用于将视图表达式定义转换成范式的转换组件、以及用于在底层基表被修改时更新与物化视图定义相关联的所存储的物化视图结果的维护组件。在另一方面中,公开了用于标识范式中的表达式的直接受影响和间接受影响的项以作为降低视图维护的开销的手段从而使表达式执行更高效的计算和方法。在又一专利技术性方面中,提供了用于维护包括外联接的聚合视图的方法。为了实现前述及相关目的,在这里结合下列描述及附图来描述所公开的本专利技术的某些说明性方面。然而,这些方面仅指示了其中可利用此处公开的原理的各种方法中的少数几种,且旨在包括所有这些方面及其等效方面。结合附图-->阅读下面的详细描述,则其他优点和新颖特征将变得清楚。附图简述图1示出了便于维护物化视图的计算机实现的系统。图2示出了根据一新颖方面的维护物化视图的方法。图3示出了示例SPOJ视图V1和V2的包含(subsumption)图。图4示出了生成包含图和对视图的净贡献的方法。图5示出了从图3的V1的包含图得到的视图V1的三个维护图。图6示出了根据所公开的专利技术的、构造维护图以便标识受到更新影响的项的方法。图7示出了根据专利技术性方面的执行视图维护的方法。图8示出了用于对表C的更新和对表O的更新的V2维护图。图9示出了通过利用L和O之间以及O和C之间的外键约束的图8的简化的V2维护图。图10示出了通过消去额外节点来创建简化维护图从而简化维护并提高性能的方法的流程图。图11示出用于对表T和R的更新的维护图。图12示出构造用于计算对直接受影响的项的改变的外部并(outer union)的表达式的系统。图13示出为外联接视图构造高效维护表达式的方法。图14示出维护聚合外联接视图的方法的流程图。图15示出了可用于执行所公开的物化视图维护体系结构的计算机的框图。图16示出根据另一方面的可用于维护物化视图的示例性计算环境的示意框图。详细描述现在参照附图描述本专利技术,其中相同的附图标记用于指代全文中相同的元素。在以下描述中,为解释起见,描绘了众多具体细节以提供对本专利技术的全面-->理解。然而,显然,本专利技术可以在没有这些具体细节的情况下实现。在其它情况下,以框图形式示出了公知的结构和设备以便于描述它们。如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,它可以是硬件、硬件和软件的结合、软件、或者执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、处理器、硬盘驱动器、多个存储驱动器(光和/或磁存储介质)、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,运行在服务器上的应用程序和服务器本身都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,而组件可以位于一台计算机内上/或分布在两台或更多的计算机之间。一开始参考附图,图1示出了便于维护物化视图的计算机实现的系统100。系统100可包括用于创建包括外联接视图在内的物化视图的视图创建组件102、用于将视图表达式转换成范式的转换组件104、以及用于更新由视图组件102创建的物化视图的维护组件106。该系统便于增量式地维护物化SPOJG(即,选择、投影、外联接以及可任选地分组)视图,即其中部分或全部联接为外联接的视图。这是通过为SPOJG视图构造增量式维护表达本文档来自技高网...

【技术保护点】
一种便于维护物化外联接视图的计算机实现的系统,包括: 视图创建组件,用于创建包括外联接的物化视图定义;以及 维护组件,用于更新与所述物化视图定义相关联的所存储的物化视图结果。

【技术特征摘要】
【国外来华专利技术】US 2006-2-15 11/354,3751.一种便于维护物化外联接视图的计算机实现的系统,包括:
视图创建组件,用于创建包括外联接的物化视图定义;以及
维护组件,用于更新与所述物化视图定义相关联的所存储的物化视图结
果。
2.如权利要求1所述的系统,其特征在于,所述物化视图定义还包括一侧
外联接和全外联接中的至少一个。
3.如权利要求1所述的系统,其特征在于,还包括转换组件,用于将外联
接视图表达式转换成范式。
4.如权利要求3所述的系统,其特征在于,所述范式是联接析取范式。
5.如权利要求4所述的系统,其特征在于,所述转换组件利用外键约束来
减少所述外联接视图表达式的范式中的项的数目。
6.如权利要求3所述的系统,其特征在于,所述转换组件计算对所述范式
的项之间的包含关系进行建模的包含图。
7.如权利要求1所述的系统,其特征在于,所述维护组件计算规范化视图
表达式的项的净贡献。
8.如权利要求1所述的系统,其特征在于,所述维护组件标识受更新影响
的项。
9.如权利要求1所述的系统,其特征在于,所述维护组件区分表达式项是
直接受影响的、间接受影响的还是不受影响的。
10.如权利要求1所述的系统,其特征在于,所述维护组件创建包括对
项的为直接受影响的、间接受影响的、或不受影响的分类的视图维护图。
11.如权利要求1所述的系统,其特征在于,所述维护组件更新基表,
且如果存在直接受影响的项,则计算并应用对所述直接受影响的项的净贡献的
所有改变的外部并。
12.如权利要求1所述的系统,其特征在于,所述维护组件更新基表,
且如果存在间接受影响的项,则计算并应用对所述间接受影响的项的净贡献的
所有改变的外部并。
13.一种维护物化视图的计算机实现的方法,...

【专利技术属性】
技术研发人员:PA拉森J周
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

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

1