CN101868782A - 对列进行自动重新排序以减少对齐陷阱 - Google Patents
对列进行自动重新排序以减少对齐陷阱 Download PDFInfo
- Publication number
- CN101868782A CN101868782A CN200880116980A CN200880116980A CN101868782A CN 101868782 A CN101868782 A CN 101868782A CN 200880116980 A CN200880116980 A CN 200880116980A CN 200880116980 A CN200880116980 A CN 200880116980A CN 101868782 A CN101868782 A CN 101868782A
- Authority
- CN
- China
- Prior art keywords
- field
- byte
- aligned
- length
- fixed
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary 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 (15)
1.一种用于使列值对齐到正确的字节边界以在并行处理数据库系统中进行快速扫描的自动化方法,所述方法包括:
接收具有字段的逻辑顺序的表定义;以及
重新排序所述字段以创建字段的物理顺序,
其中所述字段的物理顺序使具有相同字节对齐要求的固定长度字段按从最大大小到最小大小的降序彼此邻近定位,并且其中所述物理顺序中的第一固定长度被对齐在正确的字节边界上。
2.根据权利要求1所述的方法,其中字节对齐要求需要将字段的开始对齐到2N字节边界,其中N是整数。
3.根据权利要求1所述的方法,其中管理字段被定位在记录的开始处,并且在存储记录时,对其添加零填充以对齐所述第一固定长度字段。
4.根据权利要求1所述的方法,其中在具有字节对齐要求的最后的固定长度字段之后定位可变长度字段。
5.根据权利要求5所述的方法,其中在存储记录时,如果需要的话,在最后的可变长度字段之后添加零填充,以便使下一记录对齐在正确的字节边界上。
6.一种用于存储计算机可读指令的计算机可读介质,所述计算机可读指令被配置成使列值对齐到正确的字节边界以在并行处理数据库系统中进行快速扫描,所述介质包括:
被配置成接收具有字段的逻辑顺序的表定义的计算机可读指令;以及
被配置成重新排序所述字段以创建字段的物理顺序的计算机可读指令,
其中所述字段的物理顺序使具有相同字节对齐要求的固定长度字段按从最大大小到最小大小的降序彼此邻近定位,并且其中所述物理顺序中的第一固定长度字段被对齐在正确的字节边界上。
7.根据权利要求6所述的介质,其中字节对齐要求需要将字段的开始对齐到2N字节边界,其中N是整数。
8.根据权利要求6所述的介质,其中管理字段被定位在记录的开始处,并且在存储记录时,对其添加零填充以对齐所述第一固定长度字段。
9.根据权利要求6所述的介质,其中在具有字节对齐要求的最后的固定长度字段之后定位可变长度字段。
10.根据权利要求6所述的介质,其中在存储记录时,如果需要的话,在最后的可变长度字段之后添加零填充,以便使下一记录对齐在正确的字节边界上。
11.一种被配置成使列值对齐到正确的字节边界以在并行处理数据库系统中进行快速扫描的计算机装置,所述装置包括:
用于执行计算机可读指令的多个处理器;以及
被配置成存储所述计算机可读指令和数据的存储器,
其中所述计算机可读指令被配置成接收具有字段的逻辑顺序的表定义并且重新排序所述字段以创建字段的物理顺序,
此外所述字段的物理顺序使具有相同字节对齐要求的固定长度字段按从最大大小到最小大小的降序彼此邻近定位,并且其中所述物理顺序中的第一固定长度字段被对齐在正确的字节边界上。
12.根据权利要求11所述的计算机装置,其中字节对齐要求需要将字段的开始对齐到2N字节边界,其中N是整数。
13.根据权利要求11所述的计算机装置,其中管理字段被定位在记录的开始处,并且在存储记录时,对其添加零填充以对齐所述第一固定长度字段。
14.根据权利要求11所述的计算机装置,其中在具有字节对齐要求的最后的固定长度字段之后定位可变长度字段。
15.根据权利要求14所述的计算机装置,其中在存储记录时,如果需要的话,在最后的可变长度字段之后添加零填充,以便使下一记录对齐在正确的字节边界上。
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 true CN101868782A (zh) | 2010-10-20 |
CN101868782B 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)
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 (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020143521A1 (en) * | 2000-12-15 | 2002-10-03 | Call Charles G. | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers |
CN1461444A (zh) * | 1999-07-20 | 2003-12-10 | 英门迪亚公司 | 用于组织数据的系统与方法 |
US20050010590A1 (en) * | 2003-07-11 | 2005-01-13 | Bmc Software, Inc. | Reorganizing database objects using variable length keys |
US7171424B2 (en) * | 2004-03-04 | 2007-01-30 | International Business Machines Corporation | System and method for managing presentation of data |
Family Cites Families (22)
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 |
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 |
US7010518B1 (en) | 2001-06-20 | 2006-03-07 | Microstrategy, Inc. | System and method for user defined data object hierarchy |
US6658432B1 (en) | 2001-06-20 | 2003-12-02 | Microstrategy, Inc. | Method and system for providing business intelligence web content with reduced client-side processing |
EA006038B1 (ru) * | 2001-11-01 | 2005-08-25 | Верисайн, Инк. | Диспетчер транзакций в памяти |
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 |
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 |
-
2007
- 2007-11-21 US US11/986,593 patent/US8140961B2/en active Active
-
2008
- 2008-11-13 WO PCT/US2008/083408 patent/WO2009067380A2/en active Application Filing
- 2008-11-13 JP JP2010535007A patent/JP5069357B2/ja not_active Expired - Fee Related
- 2008-11-13 CN CN200880116980.4A patent/CN101868782B/zh active Active
- 2008-11-13 EP EP08852536.5A patent/EP2212774A4/en not_active Ceased
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1461444A (zh) * | 1999-07-20 | 2003-12-10 | 英门迪亚公司 | 用于组织数据的系统与方法 |
US20020143521A1 (en) * | 2000-12-15 | 2002-10-03 | Call Charles G. | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers |
US20050010590A1 (en) * | 2003-07-11 | 2005-01-13 | Bmc Software, Inc. | Reorganizing database objects using variable length keys |
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 |
---|---|
JP5069357B2 (ja) | 2012-11-07 |
US20090132518A1 (en) | 2009-05-21 |
WO2009067380A3 (en) | 2009-08-13 |
JP2011504273A (ja) | 2011-02-03 |
CN101868782B (zh) | 2016-10-12 |
EP2212774A2 (en) | 2010-08-04 |
WO2009067380A2 (en) | 2009-05-28 |
EP2212774A4 (en) | 2014-05-28 |
US8140961B2 (en) | 2012-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9177004B2 (en) | Balancing data across partitions of a table space during load processing | |
US7779045B2 (en) | Lazy updates to indexes in a database | |
AU2012217645B2 (en) | Managing buffer overflow conditions | |
US20100161565A1 (en) | Cluster data management system and method for data restoration using shared redo log in cluster data management system | |
US10120588B2 (en) | Sliding-window multi-class striping | |
CN103152395A (zh) | 一种分布式文件系统的存储方法及装置 | |
CN110168532A (zh) | 数据更新方法和存储装置 | |
US20150212796A1 (en) | Sorting | |
WO2016174171A1 (en) | Method and database computer system for performing a database query using a bitmap index | |
CN102893265A (zh) | 管理可独立访问的数据单元的存储 | |
US20150347470A1 (en) | Run-time decision of bulk insert for massive data loading | |
US20190163795A1 (en) | Data allocating system and data allocating method | |
US20110145255A1 (en) | Systems and methods for distribution of data in a database index | |
US11175993B2 (en) | Managing data storage system | |
CN106383826A (zh) | 数据库查询方法和装置 | |
US11392510B2 (en) | Management method of cache files in storage space and recording device for storing cache files | |
CN101635686A (zh) | 资源管理方法 | |
CN105389394A (zh) | 基于多个数据库集群的数据请求处理方法及装置 | |
CN101868782A (zh) | 对列进行自动重新排序以减少对齐陷阱 | |
JP5712851B2 (ja) | データ分割装置、データ分割方法およびデータ分割プログラム | |
CN109725852B (zh) | 一种限流计数的优化方法及终端 | |
US8381234B2 (en) | System and method for managing applications having logical pointer and flag | |
US11163446B1 (en) | Systems and methods of amortizing deletion processing of a log structured storage based volume virtualization | |
KR100878142B1 (ko) | 플래시 메모리 상에서의 효율적인 동작을 위한 수정된b-트리 인덱스 구성 방법 | |
US9824105B2 (en) | Adaptive probabilistic indexing with skip lists |
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. |