对列进行自动重新排序以减少对齐陷阱制造技术

技术编号:5442829 阅读:200 留言:0更新日期:2012-04-11 18:40
一种用于使列值对齐到正确的字节边界以在并行处理数据库系统中进行快速扫描的自动化方法。接收(201)具有字段的逻辑顺序的表定义。重新排序(206-220)所述字段以创建字段的物理顺序。字段的物理顺序使具有相同字节对齐要求的固定长度字段按从最大大小到最小大小的降序彼此邻近定位,并且其中所述物理顺序中的第一固定长度字段被对齐在正确的字节边界上。还公开了其他实施例、方面和特征。

【技术实现步骤摘要】
【国外来华专利技术】
本申请总体上涉及计算机和软件系统。更特别地,本申请涉及数据库系统。
技术介绍
商业智能(Bi)数据库处理驻留于大规模并行处理(MPP)系统内的许多盘上的大 量数据。为BI数据库存储的数据量正以显著的速率增长,并且BI数据库需要扫描越来越 多的数据。表数据被分割于许多盘上以实现表数据的并行扫描以及过滤。此外,随着数据 的增加,添加了更多的盘,因此需要越来越快的扫描速率。附图说明图1是示出使用对齐缓冲器来处理对齐陷阱(alignment trap)的传统方法的流 程图。图2是描绘根据本专利技术的实施例的执行自动化重新排序以用于对齐陷阱减少的 方法的流程图。图3示出指定数据库的数据行内的字段(列)的逻辑排序的示例创建表语句。图4示出根据本专利技术的实施例的对字段进行重新排序以物理存储在盘上。图5A是示出根据本专利技术的实施例的接收创建表语句和使用确定性方法以生成用 于将数据存储在盘上的物理顺序的流程图。图5B是示出根据本专利技术的实施例的接收数据库查询和重新计算用来从盘访问数 据的物理顺序的流程图。图5C示出指示根据本专利技术的实施例所测试的各种方案的路径改进的实验结果。图6是描绘可以被配置成执行根据本专利技术的实施例的方法的示例计算机装置的 示意图。具体实施例方式需要在商业智能(Bi)数据库中处理的数据量正以显著的速率增长。因而,以高效 的方式扫描大量数据并且过滤出需要的数据行是BI数据库所面对的主要挑战。对数据扫 描的任何改进可以显著地改进系统中所有查询的总吞吐量。可能的话,数据库通常将扫描谓词向下推到最低层,以减少在系统中到处复制最 终被丢弃的大量数据。为了高效地评估关于驻留于数据访问管理器层内的数据的扫描谓 词,列值通常必须在它们的正确的字节边界上。不在它们的正确的字节边界上的数字列值导致所谓的对齐陷阱(对齐安排 (fix-up))。在对齐陷阱中,在评估之前需要将数据复制到对齐缓冲器。因此,对齐陷阱导致性能损失。构成过滤谓词的列越多,成本就越高,因为每个列被独立地处理。在BI情形中,存在具有许多列的许多表,使得用户进行的正确对齐将是非常耗时 的过程。理论上,BI顾客能够定义他们的表,以使得尽可能地使列正确对齐,但是这假定顾 客在某种程度上知道底层布局以及每种列类型所需的正确对齐。此外,这假设可以依赖于 顾客来为每个所创建的表完成这样的对齐努力,因为对于每个数据库来说表定义很可能不 同。此外,如果在表中存在可变长度的字段,则用户不能确保每个数据行将在对齐的边界上 开始,因为仅该值中的实际数目的字节被存储而不是最大长度。本申请涉及用于使列对齐到正确的字节边界的技术。用于使列对齐到正确的字节 边界的简单技术将是以在创建表语句中所指定的顺序对齐数据记录内的所有字段。然而, 这将隐含地需要在不同数据类型的列值之间添加填充(padding),并且因此将需要附加的 盘空间来允许表数据扩展和增长,从而容纳额外的填充。另一种技术是具有用于所有字段的偏移阵列。该技术将所有字段保持处于表定义 中所指定的相同逻辑顺序。该技术需要配置硬件或固件来检测未对齐的数据并且将其正确 地对齐,或者配置数据访问管理器层来检测该未对齐并且校正它。用于使列对齐到正确字节边界的另一种技术是将记录的所有固定长度字段紧密 地打包(pack)在一起。随后,在扫描谓词评估期间,可以检查指针来查看它是否在字段 的正确字节边界上。如果该指针不在字段的正确字节边界上,则将该数据复制到侧缓冲器 (side buffer)以用于评估。在图1中给出了该技术的流程图。如图1所示,做出关于列值 是否被对齐到正确的字节边界的确定102。如果是,则列值可以被评估106。如果否,则需 要附加步骤,其中将列值复制104到对齐缓冲器(侧缓冲器)。此后,可以评估106(现在在 对齐缓冲器中的)列值。必须在每个行中针对被评估的每个列进行确定102。本申请公开了一种用于使列对齐到正确的字节边界的新技术,在该新技术中以有 利的方式重新排序在表定义中所指定的列,以便减少对齐陷阱的出现。换句话说,为了改进 扫描谓词评估,基于每个字段的正确字节对齐来重新排序在创建表语句内所指定的列的逻 辑顺序并且然后以该物理顺序将其存储在盘上的数据记录内。在该表的创建期间以及当插 入、更新、删除和扫描记录时以自动化方式执行字段的这种重新排序。因此,该技术改进了 列到正确的字节边界的对齐而无需顾客手动执行这样的任务并且无需在列值之间进行附 加的隐含填充。图2是描绘根据本专利技术的实施例的执行自动化重新排序以用于对齐陷阱减少的 方法的流程图。该方法确定要在计算机可读介质上(即盘上)存储的物理排序。在接收到 创建表语句(见框201)之后执行该方法,所述创建表语句为数据库表指定或定义字段的逻 辑顺序。按照常规,列的物理顺序通常与在创建表语句中所指定的逻辑顺 序相同。相反,本 申请公开了列的自动化重新排序以使得存储在盘上的列的物理顺序可能与创建表语句中 所指定的逻辑顺序显著不同。在图2中示出的步骤被用于对列(字段)进行重新排序以便 确定在盘上存储的物理顺序以及数据行内的每个字段的固定偏移。要求字节对齐的固定长度字段是需要在评估之前对齐到正确的字节边界的字段 (见上面关于图1的讨论)。例如,在正在讨论的典型数据库系统中,数字字段和整数字段 是要求字节对齐的固定长度字段。要求字节对齐的固定长度字段要求对齐到2N(2的N次幂)字节边界,其中N是整数。在第一步骤206中,选择具有最大(或者并列最大)字节对齐要求(即具有最大 的N)的固定长度字段。根据下一步骤208,按物理排序接着定位(打包)所选择的字段。随后,做出关于是否剩余(尚未选择)具有到2N字节边界的字节对齐要求的任何 字段的确定210。如果存在剩余(尚未选择)的一个或多个这样的字段,则按照步骤212选 择这些剩余字段中的一个,并且该方法返回以便根据步骤208按物理排序接着定位(打包) 所选择的字段。另一方面,如果确定210不再存在剩余的(尚未选择的)具有到2N字节边界的字 节对齐要求的字段,则可以做出关于N是否为零的进一步确定214。如果N不为零,则在步 骤216中将N递减一,并且该方法返回步骤210以便基于递减的N值来确定是否剩余具有 到2n字节边界的字节对齐要求的任何字段。另一方面,如果确定214N是零,则不再剩余具有字节对齐要求的字段,所以该方 法继续前进并且根据步骤220按它们的(如在创建表语句中所指定的)逻辑顺序选择可变 长度字段且按物理排序接着定位它们。在随后的步骤230中,确定所需的管理空间。在每个数据记录开始处的该管理空 间将被零填充,并且然后当创建数据记录时添加适合的报头信息。将(使用零填充)向外 扩展该管理空间以确保第一字段的正确对齐。此后,按照步骤240,该方法经过(go through)重新排序的固定字段并且为它们 中的每一个分配偏移。这些重新排序的固定长度字段将全部被打包在一起,因为重新排序 从最大的对齐字段开始。然后,按照步骤250,该方法经过可变长度字段并且为它们中的每一个分配在所有 固定长度字段偏移之后获得的(pick up)偏移。最后,按照步骤260,所有字段的总长度被 扩展成适当大小,其中对于所述可变长度列采取最大的大小。注意,当插入本文档来自技高网...

【技术保护点】
一种用于使列值对齐到正确的字节边界以在并行处理数据库系统中进行快速扫描的自动化方法,所述方法包括:接收具有字段的逻辑顺序的表定义;以及重新排序所述字段以创建字段的物理顺序,其中所述字段的物理顺序使具有相同字节对齐要求的固定长度字段按从最大大小到最小大小的降序彼此邻近定位,并且其中所述物理顺序中的第一固定长度被对齐在正确的字节边界上。

【技术特征摘要】
【国外来华专利技术】US 2007-11-21 11/986593一种用于使列值对齐到正确的字节边界以在并行处理数据库系统中进行快速扫描的自动化方法,所述方法包括接收具有字段的逻辑顺序的表定义;以及重新排序所述字段以创建字段的物理顺序,其中所述字段的物理顺序使具有相同字节对齐要求的固定长度字段按从最大大小到最小大小的降序彼此邻近定位,并且其中所述物理顺序中的第一固定长度被对齐在正确的字节边界上。2.根据权利要求1所述的方法,其中字节对齐要求需要将字段的开始对齐到2N字节边 界,其中N是整数。3.根据权利要求1所述的方法,其中管理字段被定位在记录的开始处,并且在存储记 录时,对其添加零填充以对齐所述第一固定长度字段。4.根据权利要求1所述的方法,其中在具有字节对齐要求的最后的固定长度字段之后 定位可变长度字段。5.根据权利要求5所述的方法,其中在存储记录时,如果需要的话,在最后的可变长度 字段之后添加零填充,以便使下一记录对齐在正确的字节边界上。6.一种用于存储计算机可读指令的计算机可读介质,所述计算机可读指令被配置成使 列值对齐到正确的字节边界以在并行处理数据库系统中进行快速扫描,所述介质包括被配置成接收具有字段的逻辑顺序的表定义的计算机可读指令;以及被配置成重新排序所述字段以创建字段的物理顺序的计算机可读指令,其中所述字段的物理顺序使具有相同字节对齐要求的固定长度字段按从最大大小到 最小大小的降序彼此邻近定位,并且其中所述物理顺序中的第一固定长度字段被对齐在正 确的字节边界上。7.根据权利要求6所述的介质,其中字节对齐要求需要...

【专利技术属性】
技术研发人员:BS维克里A沙马V苏布拉马尼安
申请(专利权)人:惠普开发有限公司
类型:发明
国别省市:US[美国]

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

1