Database management system (DBMS) employing a relational datastore and a multi-dimensional database (MDDB) for servicing query statements in a manner transparent to client machine
Abstract
A database management system (DBMS) for servicing query statements through one or more client machines. The DBMS comprises a query interface adapted to receive query statements from the client machines. The 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 a multi-dimensional database (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 processing 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.
Claims
exact text as granted — not AI-modified1 : A database management system (DBMS) for servicing query statements through one or more client machines, said DBMS comprising:
a query interface adapted to receive query statements from said one or more client machines; a query processing mechanism for processing each query statement received from 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; a query handling mechanism operably coupled to said single query interface; and 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; an aggregation engine for calculating aggregated fact data from the fact data according to a multi-dimensional data aggregation process; a data handling mechanism for storing aggregated fact data in said MDDB and retrieving aggregated fact data from said MDDB; wherein said query handling mechanism (i) receives each query request, (ii) extracts a set of dimensions associated with said query request, (iii) uses said dimensions to retrieve aggregated fact data from said MDDB, and (iv) forwards retrieved aggregated fact data to said query processing mechanism for subsequent processing, if needed; and wherein when said query processing mechanism determines that servicing of one or more query requests require data stored in said relational tables of said relational data store, then said query processing mechanism automatically routes said one or more query requests to said relational data tables, so that data can be 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 wherein when said query processing mechanism determines that servicing of one or more query requests require aggregated data stored in said MDDB, then said query processing mechanism automatically routes said one or more query requests to said MDDB, so that aggregated data can be 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.
2 : The DBMS of claim 1 , wherein said a query handling mechanism comprises:
a first query handler operably coupled to said query interface; and a second query handler operably coupled to a first data communication interface, for (i) receiving each query request from said first query handler, (ii) extracting a set of dimensions associated with said query request, (iii) providing said dimensions to said data handling mechanism so that said data handling mechanism can retrieve aggregated fact data from said MDDB, and (iv) forwarding retrieved aggregated fact data to said query processing mechanism for subsequent processing, if needed.
3 : The DBMS of claim 1 , where said data loading mechanism is in data communication with said relational data store by way of a second data communication interface, for loading said meta-data and said fact data into said MDDB.
4 : The DBMS of claim 1 , wherein after data loading operations, the fact data is initially aggregated along at least one of the dimensions extracted from said dictionary and aggregated fact data results are stored in said MDDB, and
wherein during query servicing operations, the fact data is aggregated on demand along additional dimensions extracted from said query request and aggregated fact data results are stored in said MDDB.
5 : The DBMS of claim 1 , wherein said multi-dimensional data structure comprises a plurality of data storage cells, and wherein each said data storage cell is indexed with multiple dimensions and stores either base data values or aggregated fact data values.
6 : The DBMS of claim 1 , wherein during data loading operations, said data loading mechanism extracts dimension data from the dictionary in said meta-data store, and forwards the dimension data over said first data communication interface to said aggregation engine and configures said MDDB using said dimension data.
7 : The DBMS of claim 1 , wherein during aggregation operations, said data loading mechanism extracts fact data from said relational tables, and forwards the fact data to said aggregation engine over said first data communication interface; and wherein said aggregation engine calculates aggregated fact data from the fact data according to said multi-dimensional data aggregation process.
8 : The DBMS of claim 1 , wherein said query statement is an SQL-type query statement and each query request is an SQL-type query request.
9 : The DBMS of claim 2 , wherein said first data communication interface is a standard interface selected from the group selected from OLDB, OLE-DB, ODBC, SQL, API, and JDBC.
10 : The DBMS of claim 3 , wherein said second data communication interface is a standard interface selected from the group selected from OLDB, OLE-DB, ODBC, SQL, API, and JDBC.
11 : The DBMS of claim 1 , wherein said query interface is implemented in a module within said DBMS.
12 : The DBMS of claim 1 , wherein a user interacts with said client machine using a web-enabled browser to generate a natural language type query statement, and said natural language type query statement is communicated to said query interface.
13 : The DBMS of claim 2 , wherein said second query handler further includes means for transforming each query request so as to optimize the query request for efficient query handling.
14 : The DBMS of claim 2 , wherein said second query handler further includes an adapter for mapping the data types of the query statement issued by said query handler, and/or for mapping a standard data type used to represent the query request issued by said query handler into the data types used in said MDDB.
15 : The DBMS of claim 1 , wherein said multi-dimensional aggregation process supported by said aggregation engine further operates as follows:
(a) if the aggregated fact data required to service a given query statement is already pre-calculated and stored within said MDDB, then the pre-aggregated fact data is retrieved by said data handling mechanism and returned to said client machine via said query handler; and (b) if the required fact data is not already pre-aggregated and stored within said MDDB, then the required aggregated fact data is calculated on demand by said aggregation engine, and the aggregated fact data result is automatically forwarded to said client machine.Join the waitlist — get patent alerts
Track US2008021864A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.