Efficient processing of relational joins of multidimensional data
First Claim
1. A method comprising the computer-implemented steps of:
- receiving a database statement that involves multidimensional data objects;
determining that a plurality of operations need to be performed to execute the database statement, the operations including a first operation to retrieve measure data from the multidimensional data objects, wherein the measure data is dimensioned by a particular dimension, and a second operation that specifies a condition on a dimension attribute of the particular dimension;
during performance of the first operation, returning a subset of the measure data from the multidimensional data objects by only returning measure data associated with dimension values, for the attribute, that satisfy the condition on the attribute.
1 Assignment
0 Petitions
Accused Products
Abstract
Predicate abduction involves identifying, from a database statement, predicates on attributes of dimensional data, and applying those predicates to corresponding measure data so that only measure values are fetched and returned for dimension values that satisfy the predicate. In contrast to processing joins of relational data, the subset of the measure data is determined without needing to join a fact table with a dimension table and, therefore, without processing every fact record to determine which measure values are associated with records that satisfy the condition. Buffer reuse involves storing in buffers the “domains” of queries being executed on multidimensional data. In response to detecting that execution of a database statement requires multiple iterations of extracting the same multidimensional data, the data is extracted during the first iteration and stored in a buffer so that, for each subsequent iteration, the data in the buffer is accessed rather than again extracting the data.
-
Citations
31 Claims
-
1. A method comprising the computer-implemented steps of:
-
receiving a database statement that involves multidimensional data objects;
determining that a plurality of operations need to be performed to execute the database statement, the operations including a first operation to retrieve measure data from the multidimensional data objects, wherein the measure data is dimensioned by a particular dimension, and a second operation that specifies a condition on a dimension attribute of the particular dimension;
during performance of the first operation, returning a subset of the measure data from the multidimensional data objects by only returning measure data associated with dimension values, for the attribute, that satisfy the condition on the attribute. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising the computer-implemented steps of:
-
receiving a database statement that involves multidimensional data objects;
determining that the statement specifies performance of a particular operation on particular multidimensional data from the multidimensional data objects more than once;
in response to a first specification of the particular operation, performing the particular operation;
storing the results of the particular operation in a buffer; and
in response to a second specification of the particular operation, retrieving the results of the particular operation from the buffer without again performing the particular operation. - View Dependent Claims (12, 13, 14)
-
-
15. A method comprising:
-
receiving a query that requires extraction of multidimensional data from multidimensional data objects;
in response to detecting that execution of the query requires multiple iterations of extracting the same multidimensional data from the multidimensional objects, performing the steps of;
extracting the multidimensional data during a first iteration of the multiple iterations;
storing the multidimensional data in a buffer separate from the multidimensional objects; and
for each subsequent iteration of the multiple iterations, accessing the multidimensional data in the buffer rather than extracting the multidimensional data from the multidimensional objects. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
Specification