Method for determining the computability of data for an active multi-dimensional cache in a relational database management system
DCFirst Claim
Patent Images
1. A method for caching multi-dimensional data sets for an on-line analytical processing (OLAP) system, comprising:
- (a) accessing multi-dimensional data from a relational database management system (RDBMS) in order to answer at least a portion of a first query;
(b) storing the multi-dimensional data in an active cache;
(c) determining when it is possible to answer at least a portion of a second query by aggregating the multi-dimensional data stored in the cache; and
(d) selecting from among a plurality of aggregation paths and answering the portion of the second query by aggregating the multi-dimensional data stored in the cache using the selected aggregation path, after it has been determined that it is possible to answer the portion of the second query by aggregating the multi-dimensional data stored in the cache.
3 Assignments
Litigations
1 Petition
Accused Products
Abstract
An “active cache”, for use by On-Line Anaytic Processing (OLAP) systems, that can not only answer queries that match data stored in the cache, but can also answer queries that require aggregation or other computation of the data stored in the cache.
-
Citations
75 Claims
-
1. A method for caching multi-dimensional data sets for an on-line analytical processing (OLAP) system, comprising:
-
(a) accessing multi-dimensional data from a relational database management system (RDBMS) in order to answer at least a portion of a first query;
(b) storing the multi-dimensional data in an active cache;
(c) determining when it is possible to answer at least a portion of a second query by aggregating the multi-dimensional data stored in the cache; and
(d) selecting from among a plurality of aggregation paths and answering the portion of the second query by aggregating the multi-dimensional data stored in the cache using the selected aggregation path, after it has been determined that it is possible to answer the portion of the second query by aggregating the multi-dimensional data stored in the cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
(1) if the chunk has been computed by aggregating other chunks, then its benefit is equal to the cost of the aggregation;
or(2) if the chunk has been computed at the relational database management system, then its benefit incorporates the cost of connecting to the relational database management system, issuing a query, and accessing results from the query.
-
-
24. The method of claim 23, further comprising forming groups of useful chunks in the cache to create higher benefits for all chunks in the group.
-
25. The method of claim 23, wherein the groups of useful chunks are generated by pre-computing GROUP-BY operations.
-
26. An on-line analytical processing (OLAP) system that caches multi-dimensional data sets, comprising:
-
(a) a computer system;
(b) logic, performed by the computer system, for;
(1) accessing multi-dimensional data from a relational database management system (RDBMS) in order to answer at least a portion of a first query;
(2) storing the multi-dimensional data in an active cache;
(3) determining when it is possible to answer at least a portion of a second query by aggregating the multi-dimensional data stored in the cache; and
(4) selecting from among a plurality of aggregation paths and answering the portion of the second query by aggregating the multi-dimensional data stored in the cache using the selected aggregation path, after it has been determined that it is possible to answer the portion of the second query by aggregating the multi-dimensional data stored in the cache. - View Dependent Claims (27, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75)
(1) if the chunk has been computed by aggregating other chunks, then its benefit is equal to the cost of the aggregation;
or(2) if the chunk has been computed at the relational database management system, then its benefit incorporates the cost of connecting to the relational database management system, issuing a query, and accessing results from the query.
-
-
74. The article of manufacture of claim 73, further comprising forming groups of useful chunks in the cache to create higher benefits for all chunks in the group.
-
75. The article of manufacture of claim 73, wherein the groups of useful chunks are generated by pre-computing GROUP-BY operations.
-
28. An article of manufacture embodying logic for caching multi-dimensional data sets for an on-line analytical processing (OLAP) system, comprising:
-
(a) accessing multi-dimensional data from a relational database management system (RDBMS) in order to answer at least a portion of a first query;
(b) storing the multi-dimensional data in an active cache;
(c) determining when it is possible to answer at least a portion of a second query by aggregating the multi-dimensional data stored in the cache; and
(d) selecting from among a plurality of aggregation paths and answering the portion of the second query by aggregating the multi-dimensional data stored in the cache using the selected aggregation path, after it has been determined that it is possible to answer the portion of the second query by aggregating the multi-dimensional data stored in the cache. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
(1) if the chunk has been computed by aggregating other chunks, then its benefit is equal to the cost of the aggregation;
or(2) if the chunk has been computed at the relational database management system, then its benefit incorporates the cost of connecting to the relational database management system, issuing a query, and accessing results from the query.
-
-
50. The system of claim 49, further comprising logic for forming groups of useful chunks in the cache to create higher benefits for all chunks in the group.
-
51. The system of claim 49, wherein the groups of useful chunks are generated by pre-computing GROUP-BY operations.
Specification