Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
First Claim
1. A relational database management system (RDBMS) for supporting online analytical processing (OLAP) conducted through one or more client machines, said RDBMS comprising:
- (A) a query servicing mechanism including (1) a RDBMS query interface adapted to receive query statements from said one or more client machines;
(2) a RDBMS query handler operably coupled to said RDBMS query interface; and
(3) a RDBMS query processing mechanism for processing each query statement received from said RDBMS query interface, and generating a series of query requests by disintegrating the query statement via parsing, so that each said query request specifies a set of dimensions;
(B) relational tables for storing fact data, and a meta-data store for storing a dictionary containing dimension data, and a support mechanism for supporting said relational tables and said meta-data store;
(C) a multi-dimensional data (MDD) aggregation module integrated within said RDBMS, and including (1) a multi-dimensional database (MDDB) for storing aggregated fact data;
(2) a data loader, in data communication with said support mechanism by way of a first data communication interface, for loading said meta-data and said fact data into said MDD aggregation module;
(3) an aggregation engine for receiving fact data from said data loader, and calculating aggregated multi-dimensional data from the fact data according to a multi-dimensional data aggregation process;
(4) a data handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB;
(5) a MDDB query handler operably coupled to a second data communication interface, for (i) receiving each query request from said RDBMS query handler, (ii) extracting a set of dimensions associated with said query request, (iii) providing said dimensions as multi-dimensional coordinates to said data handler so that (i) said data handler can retrieve aggregated multi-dimensional data from said MDDB specified by said multi-dimensional coordinates, and/or (ii) said aggregation engine can dynamically generate, on demand, aggregated multi-dimensional data, and (iv) forwarding retrieved aggregated multi-dimensional data to said RDBMS query processing mechanism for subsequent processing, if needed; and
wherein when said RDBMS query handler receives a given query statement from said RDBMS query interface, and said RDBMS query processing mechanism determines that servicing of the given query statement requires data stored in said relational tables, then said RDBMS query processing mechanism automatically routes one or more query requests to said relational data tables, so that the support mechanism can access data from said relational tables and forward the accessed data to said RDBMS query processing mechanism for use in servicing the given query statement, in a manner transparent to said client machine; and
wherein when said RDBMS query handler receives a given query statement from said RDBMS query interface, and said RDBMS query processing mechanism determines that servicing of the given query statement requires aggregated data stored in said MDDB, then said RDBMS query processing mechanism automatically routes one or more query requests to said MDDB query handler, so that said data handler can access aggregated data stored in said MDDB, and then forward the aggregated data to said RDBMS query processing mechanism for use in servicing the given query statement, in a manner transparent to said client machine.
6 Assignments
0 Petitions
Accused Products
Abstract
Improved method of and apparatus for aggregating data elements in multidimensional databases (MDDB). In one aspect of the present invention, the apparatus is realized in he form of a high-performance stand-alone (i.e. external) aggregation server which can be plugged-into conventional OLAP systems to achieve significant improvements in system performance. In accordance with the principles of the present invention, the stand-alone aggregation server contains a scalable MDDB and a high-performance aggregation engine that are integrated into the modular architecture of the aggregation server. The stand-alone aggregation server of the present invention can uniformly distribute data elements among a plurality of processors, for balanced loading and processing, and therefore is highly scalable. The stand-alone aggregation server of the present invention can be used to realize (i) and improved MDDB for supporting on-line analytical processing (OLAP) operations, (ii) an improved Internet URL Directory for supporting on-line information searching operations by Web-enabled client machines, as well as (iii) diverse types of MDDB-based systems for supporting real-time control of processes in response to complex states of information reflected in the MDDB. In another aspect of the present invention, the apparatus is integrated within a database management system (DBMS). The improved DBMS can be used to realize achieving a significant increase in system performance (e.g. decreased access/search time), user flexibility and ease of use. The improved DBMS system of the present invention can be used to realize an improved Data Warehouse for supporting on-line analytical processing (OLAP) operations or to realize an improved information database system, operational database system, or the like.
-
Citations
16 Claims
-
1. A relational database management system (RDBMS) for supporting online analytical processing (OLAP) conducted through one or more client machines, said RDBMS comprising:
-
(A) a query servicing mechanism including (1) a RDBMS query interface adapted to receive query statements from said one or more client machines;
(2) a RDBMS query handler operably coupled to said RDBMS query interface; and
(3) a RDBMS query processing mechanism for processing each query statement received from said RDBMS query interface, and generating a series of query requests by disintegrating the query statement via parsing, so that each said query request specifies a set of dimensions;
(B) relational tables for storing fact data, and a meta-data store for storing a dictionary containing dimension data, and a support mechanism for supporting said relational tables and said meta-data store;
(C) a multi-dimensional data (MDD) aggregation module integrated within said RDBMS, and including (1) a multi-dimensional database (MDDB) for storing aggregated fact data;
(2) a data loader, in data communication with said support mechanism by way of a first data communication interface, for loading said meta-data and said fact data into said MDD aggregation module;
(3) an aggregation engine for receiving fact data from said data loader, and calculating aggregated multi-dimensional data from the fact data according to a multi-dimensional data aggregation process;
(4) a data handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB;
(5) a MDDB query handler operably coupled to a second data communication interface, for (i) receiving each query request from said RDBMS query handler, (ii) extracting a set of dimensions associated with said query request, (iii) providing said dimensions as multi-dimensional coordinates to said data handler so that (i) said data handler can retrieve aggregated multi-dimensional data from said MDDB specified by said multi-dimensional coordinates, and/or (ii) said aggregation engine can dynamically generate, on demand, aggregated multi-dimensional data, and (iv) forwarding retrieved aggregated multi-dimensional data to said RDBMS query processing mechanism for subsequent processing, if needed; and
wherein when said RDBMS query handler receives a given query statement from said RDBMS query interface, and said RDBMS query processing mechanism determines that servicing of the given query statement requires data stored in said relational tables, then said RDBMS query processing mechanism automatically routes one or more query requests to said relational data tables, so that the support mechanism can access data from said relational tables and forward the accessed data to said RDBMS query processing mechanism for use in servicing the given query statement, in a manner transparent to said client machine; and
wherein when said RDBMS query handler receives a given query statement from said RDBMS query interface, and said RDBMS query processing mechanism determines that servicing of the given query statement requires aggregated data stored in said MDDB, then said RDBMS query processing mechanism automatically routes one or more query requests to said MDDB query handler, so that said data handler can access aggregated data stored in said MDDB, and then forward the aggregated data to said RDBMS query processing mechanism for use in servicing the given query statement, in a manner transparent to said client machine. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
6. The RDBMS of claim 154, wherein during aggregation operations, said data loader 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 multi-dimensional data from the fact data according to said multi-dimensional data aggregation process, and stores the aggregated multi-dimensional data in said MDDB specified by a set of multi-dimensional coordinates.
Specification