Method of servicing query statements from a client machine using a database management system (DBMS) employing a relational datastore and a multi-dimensional database (MDDB)
First Claim
1. A method of servicing query statements from one or more client machines using a database management system (DBMS), said method comprising the steps of:
- (a) installing said DBMS within an enterprise, wherein said DBMS includesa query interface adapted to receive query statements from said one or more client machines, and generating one or more query requests by disintegrating the query statement so that each said query request specifies a set of dimensions;
a query processing mechanism for processing each query request received from said query interface;
a query handling mechanism operably coupled to said query interface;
a relational data store having relational tables for storing fact data, and a meta-data store for storing a dictionary containing dimension data;
a multi-dimensional database (MDDB) for storing aggregated fact data in a multi-dimensional data structure;
a data loading mechanism for loading said meta-data and said fact data into said MDDB; and
an aggregation engine for calculating aggregated fact data from the fact data according to a multi-dimensional data aggregation process;
(b) loading said meta-data and said fact data into said MDDB;
(c) calculating aggregated fact data from the fact data according to said multi-dimensional data aggregation process, and storing aggregated fact data in said MDDB;
(d) said one or more client machines transmitting said query statement to said query interface, and generating one or more query requests by disintegrating the query statement so that each said query request specifies a set of dimensions;
(e) said query handling mechanism(i) receiving each query request,(ii) extracting the set of dimensions associated with said query request,(iii) using said dimensions to retrieve aggregated fact data from said MDDB, and(iv) forwarding retrieved aggregated fact data to said query processing mechanism for subsequent processing, if needed; and
(f) said query processing mechanism processing said one or more query requests, and(i) when said query processing mechanism determines that servicing said one or more query requests require data stored in said relational tables of said relational data store, then said query handling mechanism automatically routes said one or more query requests to said relational data tables, so that data is accessed from said relational tables and forwarded to said query processing mechanism for use in servicing said one or more query requests, in a manner transparent to said client machine, and(ii) when said query processing mechanism determines that servicing said one or more query requests require aggregated data stored in said MDDB, then said query handling mechanism automatically routes said one or more query requests to said MDDB, so that aggregated data accessed from said MDDB and forwarded to said query processing mechanism for use in servicing said one or more query requests, in a manner transparent to said client machine.
8 Assignments
0 Petitions
Accused Products
Abstract
A method of serving query statements from one or more client machines using a database management system (DBMS) employing a relational data store and a multi-dimensional database (MDDB). A query interface is adapted to receive query statements from the client machines, and generate one or more query requests. A query handling mechanism (i) receives each request from the query interface, (ii) extracts a set of dimensions associated with the request, (iii) uses the dimensions to retrieve aggregated fact data from the MDDB, and (iv) forwards retrieved aggregated fact data to the query processing mechanism for subsequent processing. When the query processing mechanism determines that servicing of one or more query requests require data stored in the relational tables, then the query handling mechanism automatically routes the requests to the relational data tables, so that data can be accessed from the relational tables and forwarded to the query processing mechanism for use in servicing the requests, in a manner transparent to the client machine.
-
Citations
16 Claims
-
1. A method of servicing query statements from one or more client machines using a database management system (DBMS), said method comprising the steps of:
-
(a) installing said DBMS within an enterprise, wherein said DBMS includes a query interface adapted to receive query statements from said one or more client machines, and generating one or more query requests by disintegrating the query statement so that each said query request specifies a set of dimensions; a query processing mechanism for processing each query request received from said query interface; a query handling mechanism operably coupled to said query interface; a relational data store having relational tables for storing fact data, and a meta-data store for storing a dictionary containing dimension data; a multi-dimensional database (MDDB) for storing aggregated fact data in a multi-dimensional data structure; a data loading mechanism for loading said meta-data and said fact data into said MDDB; and an aggregation engine for calculating aggregated fact data from the fact data according to a multi-dimensional data aggregation process; (b) loading said meta-data and said fact data into said MDDB; (c) calculating aggregated fact data from the fact data according to said multi-dimensional data aggregation process, and storing aggregated fact data in said MDDB; (d) said one or more client machines transmitting said query statement to said query interface, and generating one or more query requests by disintegrating the query statement so that each said query request specifies a set of dimensions; (e) said query handling mechanism (i) receiving each query request, (ii) extracting the set of dimensions associated with said query request, (iii) using said dimensions to retrieve aggregated fact data from said MDDB, and (iv) forwarding retrieved aggregated fact data to said query processing mechanism for subsequent processing, if needed; and (f) said query processing mechanism processing said one or more query requests, and (i) when said query processing mechanism determines that servicing said one or more query requests require data stored in said relational tables of said relational data store, then said query handling mechanism automatically routes said one or more query requests to said relational data tables, so that data is accessed from said relational tables and forwarded to said query processing mechanism for use in servicing said one or more query requests, in a manner transparent to said client machine, and (ii) when said query processing mechanism determines that servicing said one or more query requests require aggregated data stored in said MDDB, then said query handling mechanism automatically routes said one or more query requests to said MDDB, so that aggregated data accessed from said MDDB and forwarded to said query processing mechanism for use in servicing said one or more query requests, in a manner transparent to said client machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification