Patent ID: 8473450

Claim:
A relational database management system (RDBMS) comprising: an RDBMS query interface adapted to receive one or more natural language query statements from one or more client machines; a query processing mechanism configured to process a given natural language query statement received from said RDBMS query interface, and generate one or more query requests by disintegrating the given natural language query statement so that each said query request specifies a set of dimensions; a query handling mechanism operably coupled to said RDBMS query interface; a relational data store having relational tables configured to store fact data, and a meta-data store configured to store a dictionary containing dimension data; a multi-dimensional database (MDDB) configured to store aggregated fact data in in a multi-dimensional data structure and to communicate bi-directionally with the relational data store; a communication interface operably connected between the relational data store and the MDDB for the communication of fact data from the relational data store to the MDDB and for the communication of aggregated fact data from the MDDB to the relational data store; a data loading mechanism configured to load dimension data from said meta-data store and said fact data into said MDDB; an aggregation engine configured to calculate aggregated fact data from the fact data according to a multidimensional data aggregation process; and a data handling mechanism configured to store aggregated fact data in said MDDB and retrieve 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; wherein when said query processing mechanism determines that servicing of one or more query requests require data stored in said relational tables, 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; 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; and wherein said RDBMS comprises computer hardware.