Method and system for performing partial-sum queries on a data cube
First Claim
1. A method for performing a partial-sum query in a database represented as a d-dimensional data cube, the data cube having a plurality of cells each having a value and identified by an index, the partial-sum query corresponding to a subset I of the data cube, the method comprising the steps of:
- partitioning the data cube into a plurality of d-dimensional blocks;
selecting at least one covering code for each block i of the data cube, each covering code having a code length that is a function of the size of the block i;
computing a plurality of first sums for the block i, based on the respective covering codes selected for the block i; and
generating a partial-sum result from the first sums corresponding to those blocks of the data cube that intersect with the subset I.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed is a method and system for performing a partial-sum query in a database in which the data is represented as a multi-dimensional data cube. The data cube is partitioned into multi-dimensional blocks. One or more covering codes are then selected for each block, and a group of partial-sums is computed for each block based on its covering codes. At query time, the query result is generated by combining the partial-sums for those blocks that intersect with the query subset. To improve the query response time and reduce system storage requirements, the covering codes are preferably augmented as single-weight extended covering codes or composition-extended covering codes. Also, a second partial-sum may also be computed for each block to efficiently find its partial sum, based on the block'"'"'s first partial-sums and the bit-position differences between selected codewords for the block and bit strings representing the cell indexes of the blocks intersecting with the query subset.
133 Citations
42 Claims
-
1. A method for performing a partial-sum query in a database represented as a d-dimensional data cube, the data cube having a plurality of cells each having a value and identified by an index, the partial-sum query corresponding to a subset I of the data cube, the method comprising the steps of:
-
partitioning the data cube into a plurality of d-dimensional blocks; selecting at least one covering code for each block i of the data cube, each covering code having a code length that is a function of the size of the block i; computing a plurality of first sums for the block i, based on the respective covering codes selected for the block i; and generating a partial-sum result from the first sums corresponding to those blocks of the data cube that intersect with the subset I. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer program product for use with a computer system for performing a partial-sum query in a database, the database being represented as a d-dimensional data cube having a plurality of cells, each cell having a value and identified by an index, the partial-sum query corresponding to a subset I of the data cube, the computer program product comprising:
-
a computer-readable medium; means, provided on the computer-readable medium, for directing the system to partition the data cube into a plurality of d-dimensional blocks; means, provided on the computer-readable medium, for directing the system to select at least one covering code for each block i of the data cube, each covering code having a code length that is a function of the size of the block i; means, provided on the computer-readable medium, for directing the system to compute a plurality of first sums for the block i, based on the respective covering codes selected for the block i; and means, provided on the computer-readable medium, for directing the system to generate a partial-sum result from the first sums corresponding to those blocks of the data cube that intersect with the subset I. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. The computer program product as recited in 19, wherein:
-
each codeword in the covering codes has a codeword length; the covering codes for the block i are binary covering codes; and the codewords of each binary covering code for the block i have the same codeword length. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. A system for performing a partial-sum query in a database represented as a d-dimensional data cube, the data cube having a plurality of cells each having a value and identified by an index, the partial-sum query corresponding to a subset I of the data cube, the system comprising:
-
means for partitioning the data cube into a plurality of d-dimensional blocks; means for selecting at least one covering code for each block i of the data cube, each covering code having a code length that is a function of the size of the block i; means for computing a plurality of first sums for the block i, based on the respective covering codes selected for the block i; and means for generating a partial-sum result from the first sums corresponding to those blocks of the data cube that intersect with the subset I. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification