Systems and methods for proactive caching utilizing OLAP variants
First Claim
1. A method for proactively caching data of a database utilizing online analytical processing (OLAP) variants, the method being performed by a processor of a computer system having a database, the method comprising:
- creating a relational OLAP (ROLAP) object that represents data of the database;
building a multidimensional OLAP (MOLAP) cache equivalent of the ROLAP object such that the MOLAP cache stores the same data of the database that is represented by the ROLAP object, the MOLAP cache and ROLAP object being stored on the computer system;
receiving a first query, at the computer system, for a portion of the data;
accessing the MOLAP cache to resolve the first query;
receiving an indication, at the computer system, that the data of the database represented by the ROLAP object has been updated;
rebuilding the MOLAP cache such that the MOLAP cache contains the updated data;
receiving a second query, at the computer system, for a portion of the data while the MOLAP cache is being rebuilt;
accessing the ROLAP object to resolve the second query while the MOLAP cache is being rebuilt;
receiving a third query, at the computer system, for a portion of the data after the MOLAP cache is rebuilt; and
accessing the MOLAP cache to resolve the third query.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention leverages MOLAP performance for ROLAP objects (dimensions, partitions and aggregations) by building, in a background process, a MOLAP equivalent of that object. When the background processing completes, queries are switched from ROLAP queries to MOLAP queries. When changes occur to relevant relational objects (such as tables that define content of OLAP objects), an OLAP object is switched back to a ROLAP mode, and all relevant caches are dropped while, as a background process, a new MOLAP equivalent is created.
15 Citations
12 Claims
-
1. A method for proactively caching data of a database utilizing online analytical processing (OLAP) variants, the method being performed by a processor of a computer system having a database, the method comprising:
-
creating a relational OLAP (ROLAP) object that represents data of the database; building a multidimensional OLAP (MOLAP) cache equivalent of the ROLAP object such that the MOLAP cache stores the same data of the database that is represented by the ROLAP object, the MOLAP cache and ROLAP object being stored on the computer system; receiving a first query, at the computer system, for a portion of the data; accessing the MOLAP cache to resolve the first query; receiving an indication, at the computer system, that the data of the database represented by the ROLAP object has been updated; rebuilding the MOLAP cache such that the MOLAP cache contains the updated data; receiving a second query, at the computer system, for a portion of the data while the MOLAP cache is being rebuilt; accessing the ROLAP object to resolve the second query while the MOLAP cache is being rebuilt; receiving a third query, at the computer system, for a portion of the data after the MOLAP cache is rebuilt; and accessing the MOLAP cache to resolve the third query. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer storage medium storing computer executable instructions which when executed by a processor of a computer system proactively cache data of a database utilizing online analytical processing (OLAP) variants, the computer executable instructions performing the following:
-
creating a relational OLAP (ROLAP) object that represents data of the database; building a multidimensional OLAP (MOLAP) cache equivalent of the ROLAP object such that the MOLAP cache stores the same data of the database that is represented by the ROLAP object, the MOLAP cache and ROLAP object being stored on the computer system; receiving a first query, at the computer system, for a portion of the data; accessing the MOLAP cache to resolve the first query; receiving an indication, at the computer system, that the data of the database represented by the ROLAP object has been updated; rebuilding the MOLAP cache such that the MOLAP cache contains the updated data; receiving a second query, at the computer system, for a portion of the data while the MOLAP cache is being rebuilt; accessing the ROLAP object to resolve the second query while the MOLAP cache is being rebuilt; receiving a third query, at the computer system, for a portion of the data after the MOLAP cache is rebuilt; and accessing the MOLAP cache to resolve the third query. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification