CN101868782B - 对列进行自动重新排序以减少对齐陷阱 - Google Patents

对列进行自动重新排序以减少对齐陷阱 Download PDF

Info

Publication number
CN101868782B
CN101868782B CN200880116980.4A CN200880116980A CN101868782B CN 101868782 B CN101868782 B CN 101868782B CN 200880116980 A CN200880116980 A CN 200880116980A CN 101868782 B CN101868782 B CN 101868782B
Authority
CN
China
Prior art keywords
field
length
byte
fixed
variable length
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200880116980.4A
Other languages
English (en)
Other versions
CN101868782A (zh
Inventor
B·S·维克里
A·沙马
V·苏布拉马尼安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN101868782A publication Critical patent/CN101868782A/zh
Application granted granted Critical
Publication of CN101868782B publication Critical patent/CN101868782B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations

Abstract

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

Description

对列进行自动重新排序以减少对齐陷阱
发明人
Brian S.Vickery、Anoop Sharma和Vinita Subramanian
技术领域
本申请总体上涉及计算机和软件系统。更特别地,本申请涉及数据库系统。
背景技术
商业智能(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,所有字段的总长度被扩展成适当大小,其中对于所述可变长度列采取最大的大小。
注意,当插入或更新记录时将在第一固定长度字段之前以及在数据记录末端处添加填充。
图3中示出了示例创建表语句。在图3的示例语句中,定义被命名为CUSTOMER的表。按逻辑顺序将该表的字段或列定义为custKey、name、address、nationKey、phone、acctBal、mktSeg和comment。
创建表语句还为每个列定义了字段的类型。如图3的示例所示:custKey字段是整数字段;name列是长度可以高达25个字节的可变字符字段;address列是长度可以高达40个字节的可变字符字段;nationKey字段是整数字段;phone列是长度为15个字节的固定字符字段;acctBal列是存储在8个字节中的宽度为12并且有2个小数位的数字字段;mktSeg列是长度为10个字节的固定字符字段;以及comment列是长度高达117个字节的可变字符字段。还可以在创建表语句中定义其他特性,包括该表的主关键字、默认值、以及字段是否是可丢弃的。当然,为了讨论的目的图3仅示出了一个示例创建表语句。
图4示出了给定图3的示例创建表语句并且使用上面关于图2所描述的重新排序方法的物理存储在盘上的字段的顺序。图4的顶部部分示出了重新排序之后用于物理存储的列,并且底部部分示出该记录中的对应字节计数。
如图4所示,重新排序的记录中的开头列是按照图2的步骤230确定的空间中的在记录开始处的固定大小开销或者管理字节。在该示例中,FF是2字节字段,其值指示到数据记录中的第一固定长度字段的偏移或零(如果没有的话),且BO是2字节字段,其值指示到空位图(在下面讨论)的偏移(如果存在空位图的话)或者零(如果没有的话)。
可变长度字段仅存储所使用的字节而不是最大数目的字节。因此,必须存储每个可变长度字段的实际长度。在这种情况下,邻近每个可变长度字段的值并且在其之前存储长度。VOK字段指示到可变长度字段的偏移。在这种情况下,VO1是指示到第一可变长度字段的偏移的2字节字段,VO2是指示到第二可变长度字段的偏移的2字节字段,且VO3是指示到第三可变长度字段的偏移的2字节字段。
Bitmap(位图)字段是存储上面提到的空位图的4字节字段。空位图包含每个字段的空状态,其中每个可空(nullable)字段具有一个比特。在其他系统中,给定列值的空指示符通常在该列值之前。这将去掉(throw off)列值的正确字节排序(无论该空指示符是一个字节还是两个字节)。因此,根据本发明的实施例,给定列的空指示符被存储在空位图字段中,其与实际列值分开存储。
注意,在bitmap字段之后,///指示在管理字节之后要被打包的填充(零填充)。在该特定情况下,存在两个字节的填充以使得在字节16(8字节边界)上开始下一字段。这里所需的填充量根据表中固定长度字段的边界对齐要求而不同。
在填充之后紧接着定位第一要求字节对齐的固定长度字段。在这种情况下,第一要求字节对齐的固定长度字段是8字节(N=3)acctBal数字字段,acctBal数字字段被首先选择,因为按照图2的步骤206它是最长的固定长度字段。因为不存在具有8字节边界对齐要求的其他固定长度字段,所以按照图2的步骤216将N从3递减到2。
在第一要求字节对齐的固定长度字段之后紧接着定位后续的要求字节对齐的固定长度字段。在这种情况下,第二要求字节对齐的固定长度字段是4字节(N=2)custKey整数字段,并且第三固定长度字段是4字节(同样N=2)nationKey整数字段。不存在具有4字节边界对齐要求的其他固定长度字段。此外,不存在具有2字节(N=1)边界对齐要求的固定长度字段。
接着,选择具有1字节(N=0)边界对齐要求的固定长度字段并且按该排序来定位它。例如,字符字段是具有1字节边界对齐要求的固定长度字段。在这种情况下,下一列是phone字段,其是15字节长的字符字段并且在字节号32开始,并且下面的列是mktSeg字段,其是10字节长的字符字段并且在字节号47开始。
此后,根据图2的步骤220,按它们的逻辑顺序选择可变长度字段并且按该排序来对其进行定位。在该实施例中,每个可变长度字段(在图4中由||表示)的第一部分是指示存储在该字段中的值的实际长度的两个字节。此后,放置该可变长度值的实际字节。
在这种情况下,第一可变长度字段是name字段并且在字节号57开始。之前讨论了在VO1字段的值中指示了用于第一可变长度字段到字节号57的这一偏移。如前面所提到的那样,该字段的前两个字节指示实际长度,并且剩余的字节是存储在该字段中的实际数据。类似地,第二可变长度字段是在字节v2开始的address字段(所述字节v2根据在前的第一可变长度字段的长度而变化),且第三可变长度字段是在字节v3开始的comment字段,(所述字节v3根据在前的第一和第二可变长度字段的长度而变化)。
注意,在存储记录时,如果必要的话将(由///表示的)填充字节添加到该记录的末端,以便下一数据记录以正确的对齐开始。在该实施方式中,可以存在1到3个这样的末端填充字节,以使得下一记录在4字节边界上开始。每个记录所使用的填充字节的数目被存储为第一固定偏移FF的一部分,即存储在2个高比特中。
图5A是示出根据本发明的实施例的接收创建表语句和使用确定性方法以生成用于将数据存储在盘上的物理顺序的流程图。如所示出的那样,从用户接收创建表语句(框502)。该创建表语句定义数据库表的列(字段)的逻辑顺序。此后,使用上面讨论的确定性算法,创建不同于由所述创建表语句所指定的逻辑顺序的物理顺序(框504)。当将数据记录存储在盘上时使用所述物理顺序(框506)。
有利地,从逻辑顺序到物理顺序的重新排序是确定性的。因此,关于实际物理排序的信息不一定需要被保存并且可以在查询计划生成期间被重新计算。图5B是示出根据本发明的实施例的接收数据库查询和重新计算用来从盘访问数据的物理顺序的流程图。如所示,接收数据库查询(框512)。作为响应,生成查询计划(框514)。根据本发明的实施例,作为查询计划生成的一部分,进行物理顺序的重新计算(框516)。然后可以保存到每个列值的偏移(框518)。然后可以在查询执行期间使用到该列值的偏移(框520)。
图5C示出指示根据本发明的实施例所测试的各种方案的路径改进的实验结果。每个行(acxio032_b6_m、dwp2x1_b6_s等等)指示特定方案(即特定数据库表定义)。
该表示出没有对齐(未对齐的)以及具有按照本申请的自动化对齐(对齐的)的每小时查询(QPH)。较高的QPH比较低的QPH要好。还示出了QPH中的百分比增加(%变化)。如所示,在按照本申请的自动化对齐的情况下,QPH增加范围超过8%。
该表还示出了没有对齐(未对.齐的)以及具有按照本申请的自动化对齐(对齐的)的每个查询所使用的CPU秒(每个查询的CPU秒)。较低的每个查询的CPU秒比较高的每个查询的CPU秒要好。还示出了每个查询的CPU秒的百分比减小(%变化)。如所示,在按照本申请的自动化对齐的情况下,百分比减小范围超过7%。
图6是描绘可以被配置成执行根据本发明的实施例的方法的示例计算机装置的示意图。在该示例中,该计算机装置包括大规模并行处理系统。在一个实施例中,该计算机装置可以被配置成具有紧密集成到对称多处理(SMP)节点606中的多个处理器602。每个SMP节点606中的处理器可以被连接到存储器604的公共部分。互连网络606连接SMP节点606。可以在可替换实施例中使用计算机装置的其他体系结构。
根据本发明的实施例,上面所讨论的步骤被实施为存储在计算机可读介质上的或者存储在计算机可读存储器中的处理器可执行指令。例如,这些处理器可执行指令可以例如在比如图6所描绘的计算机装置上运行。
在上面的描述中,给出了许多特定细节以提供对本发明实施例的完全理解。然而,上面对所说明的本发明实施例的描述不打算是穷举的或者将本发明限制成所公开的确切形式。相关领域的技术人员将会认识到可以在没有一个或多个特定细节的情况下或者利用其他方法、部件等等实践本发明。在其他情况中,为了避免使本发明的各方面晦涩难懂,没有详细示出或者描述公知的结构或操作。尽管为了说明的目的而在本文中描述了本发明的特定实施例和本发明的示例,但是如相关领域技术人员将会认识到的那样,在本发明的范围内各种等同的修改是可能的。
根据上面的详细描述可以对本发明做出这些修改。在下面的权利要求中所使用的术语不应该被解释为将本发明限制成在说明书和权利要求中所公开的特定实施例。相反,本发明的范围由下面的权利要求确定,其中根据所建立的权利要求阐释的原则来解释所述权利要求。

Claims (8)

1.一种用于使列值对齐到正确的字节边界以在并行处理数据库系统中进行快速扫描的自动化方法,所述方法包括:
接收具有字段的逻辑顺序的表定义,其中所述字段包括固定长度字段和可变长度字段;以及
重新排序所述字段以创建字段的物理顺序,其中重新排序包括:
将第一固定长度字段定位在正确的字节边界上;
按照从最大字节对齐要求到最小字节对齐要求的降序将固定长度字段的剩余部分定位在第一固定长度字段之后并且彼此邻近;以及
按照可变长度字段的逻辑顺序将可变长度字段定位在固定长度字段之后。
2.根据权利要求1所述的方法,其中字节对齐要求需要将字段的开始对齐到2N字节边界,其中N是整数。
3.根据权利要求1所述的方法,其中管理字段被定位在记录的开始处,并且在存储记录时,对其添加零填充以对齐所述第一固定长度字段。
4.根据权利要求1所述的方法,其中在存储记录时,如果需要的话,在最后的可变长度字段之后添加零填充,以便使下一记录对齐在正确的字节边界上。
5.一种被配置成使列值对齐到正确的字节边界以在并行处理数据库系统中进行快速扫描的计算机装置,所述装置包括:
用于接收具有字段的逻辑顺序的表定义的装置,其中所述字段包括固定长度字段和可变长度字段;以及
用于重新排序所述字段以创建字段的物理顺序的装置,其中用于重新排序的装置包括:
用于将第一固定长度字段定位在正确的字节边界上的装置;
用于按照从最大字节对齐要求到最小字节对齐要求的降序将固定长度字段的剩余部分定位在第一固定长度字段之后并且彼此邻近的装置;以及
用于按照可变长度字段的逻辑顺序将可变长度字段定位在固定长度字段之后的装置。
6.根据权利要求5所述的计算机装置,其中字节对齐要求需要将字段的开始对齐到2N字节边界,其中N是整数。
7.根据权利要求5所述的计算机装置,其中管理字段被定位在记录的开始处,并且在存储记录时,对其添加零填充以对齐所述第一固定长度字段。
8.根据权利要求5所述的计算机装置,其中在存储记录时,如果需要的话,在最后的可变长度字段之后添加零填充,以便使下一记录对齐在正确的字节边界上。
CN200880116980.4A 2007-11-21 2008-11-13 对列进行自动重新排序以减少对齐陷阱 Active CN101868782B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/986593 2007-11-21
US11/986,593 US8140961B2 (en) 2007-11-21 2007-11-21 Automated re-ordering of columns for alignment trap reduction
PCT/US2008/083408 WO2009067380A2 (en) 2007-11-21 2008-11-13 Automated re-ordering of columns for alignment trap reduction

Publications (2)

Publication Number Publication Date
CN101868782A CN101868782A (zh) 2010-10-20
CN101868782B true CN101868782B (zh) 2016-10-12

Family

ID=40643042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880116980.4A Active CN101868782B (zh) 2007-11-21 2008-11-13 对列进行自动重新排序以减少对齐陷阱

Country Status (5)

Country Link
US (1) US8140961B2 (zh)
EP (1) EP2212774A4 (zh)
JP (1) JP5069357B2 (zh)
CN (1) CN101868782B (zh)
WO (1) WO2009067380A2 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11579807B2 (en) * 2021-04-08 2023-02-14 Syncadd Systems, Inc. Efficiently accessing, storing and transmitting data elements

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1461444A (zh) * 1999-07-20 2003-12-10 英门迪亚公司 用于组织数据的系统与方法
US7171424B2 (en) * 2004-03-04 2007-01-30 International Business Machines Corporation System and method for managing presentation of data

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251940A (ja) * 1986-04-25 1987-11-02 Fujitsu Ltd デ−タベ−ス処理方式
US5701517A (en) * 1994-12-22 1997-12-23 Cirrus Logic, Inc. Pipelined alignment shifter and method for universal bit field boundary alignment
JPH09282290A (ja) * 1996-04-17 1997-10-31 Fujitsu Ltd 分散記憶型並列計算機におけるデータレイアウト方法および装置
GB9724027D0 (en) * 1997-11-13 1998-01-14 Advanced Telecommunications Mo Byte alignment method and apparatus
CA2248522C (en) * 1998-09-25 2002-01-29 Ibm Canada Limited-Ibm Canada Limitee Framework for representation and manipulation of record oriented data
KR100311233B1 (ko) 1998-11-06 2001-11-22 오길록 애트리뷰트의순서조정을통한릴레이션크기최적화방법
US6457019B1 (en) * 1999-02-11 2002-09-24 Oracle Corp. Memory management within a run-time environment
JP4251725B2 (ja) * 1999-07-08 2009-04-08 三菱電機株式会社 ファイル管理方法
US6613099B2 (en) 1999-08-20 2003-09-02 Apple Computer, Inc. Process and system for providing a table view of a form layout for a database
US7082427B1 (en) 2000-05-24 2006-07-25 Reachforce, Inc. Text indexing system to index, query the archive database document by keyword data representing the content of the documents and by contact data associated with the participant who generated the document
US7003517B1 (en) 2000-05-24 2006-02-21 Inetprofit, Inc. Web-based system and method for archiving and searching participant-based internet text sources for customer lead data
US7178100B2 (en) * 2000-12-15 2007-02-13 Call Charles G Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers
US6785687B2 (en) * 2001-06-04 2004-08-31 Hewlett-Packard Development Company, L.P. System for and method of efficient, expandable storage and retrieval of small datasets
US6658432B1 (en) 2001-06-20 2003-12-02 Microstrategy, Inc. Method and system for providing business intelligence web content with reduced client-side processing
US7010518B1 (en) 2001-06-20 2006-03-07 Microstrategy, Inc. System and method for user defined data object hierarchy
IL161721A0 (en) * 2001-11-01 2005-11-20 Verisign Inc Transactional memory manager
US20030173269A1 (en) * 2002-03-01 2003-09-18 Heinz-Gerhard Breden Sorting data with long SORT fields
US7103608B1 (en) 2002-05-10 2006-09-05 Oracle International Corporation Method and mechanism for storing and accessing data
US6831575B2 (en) 2002-11-04 2004-12-14 The Regents Of The University Of California Word aligned bitmap compression method, data structure, and apparatus
US6831868B2 (en) * 2002-12-05 2004-12-14 Intel Corporation Byte aligned redundancy for memory array
CA2427185A1 (en) 2003-04-29 2004-10-29 Cognos Incorporated Automated database query generation
US7496572B2 (en) 2003-07-11 2009-02-24 Bmc Software, Inc. Reorganizing database objects using variable length keys
US7395517B2 (en) 2005-09-20 2008-07-01 International Business Machines Corporation Data aligner in reconfigurable computing environment
US7885969B2 (en) * 2007-09-17 2011-02-08 International Business Machines Corporation System and method for executing compute-intensive database user-defined programs on an attached high-performance parallel computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1461444A (zh) * 1999-07-20 2003-12-10 英门迪亚公司 用于组织数据的系统与方法
US7171424B2 (en) * 2004-03-04 2007-01-30 International Business Machines Corporation System and method for managing presentation of data

Also Published As

Publication number Publication date
EP2212774A2 (en) 2010-08-04
EP2212774A4 (en) 2014-05-28
CN101868782A (zh) 2010-10-20
US8140961B2 (en) 2012-03-20
WO2009067380A3 (en) 2009-08-13
JP5069357B2 (ja) 2012-11-07
WO2009067380A2 (en) 2009-05-28
JP2011504273A (ja) 2011-02-03
US20090132518A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
US7523288B2 (en) Dynamic fragment mapping
CN102867071B (zh) 一种网管海量历史数据管理方法
US7895211B2 (en) Method and system for reinserting a chain in a hash table
US9619500B2 (en) Hardware implementation of a tournament tree sort algorithm
CN105808633A (zh) 数据归档方法和系统
US7480662B2 (en) Fact table storage in a decision support system environment
CN105320775A (zh) 数据的存取方法和装置
CN103186668A (zh) 基于键值数据库的数据处理方法与装置以及数据存储系统
CN104915148A (zh) 用于串流存储装置中的高效内容高速缓冲存储的系统和方法
CN105159925B (zh) 一种数据库集群数据分配方法及系统
CN106933927B (zh) 数据表的连接方法和装置
CN103064908A (zh) 一种通过内存快速去重名单的方法
CN101635686B (zh) 资源管理方法
CN106649385B (zh) 基于HBase数据库的数据排序方法和装置
CN101868782B (zh) 对列进行自动重新排序以减少对齐陷阱
US20160125007A1 (en) Method of finding common subsequences in a set of two or more component sequences
US11914740B2 (en) Data generalization apparatus, data generalization method, and program
CN105389394A (zh) 基于多个数据库集群的数据请求处理方法及装置
CN104750743A (zh) 一种交易文件勾对系统和方法
US7792825B2 (en) Fast select for fetch first N rows with order by
CN103220355B (zh) 内容分发网络中的多用户配置方法
CN109241058A (zh) 一种向b+树批量插入键值对的方法和装置
DeVos et al. Average degree in graph powers
KR100878142B1 (ko) 플래시 메모리 상에서의 효율적인 동작을 위한 수정된b-트리 인덱스 구성 방법
Markenzon et al. Toughness and Hamiltonicity of strictly chordal graphs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170203

Address after: American Texas

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Patentee before: Hewlett Packard Development Co.