Data aggregation module supporting dynamic query responsive aggregation during the servicing of database query requests provided by one or more client machines
First Claim
1. A data aggregation module for interfacing with a relational database management subsystem (RDBMS) having a relational data store including one or more fact tables for storing at least the base data, and a meta-data store for storing a dictionary containing dimension data, and servicing database query requests provided by one or more client machines, said data aggregation module comprising:
- a multi-dimensional database (MDB) having a multi-dimensional data storage structure including a plurality of data storage cells, wherein each said data storage cell is indexed with multiple dimensions and stores either a base data value or an aggregated multi-dimensional data value;
a base data loader for loading said directory data and said base data to said MDD aggregation module;
a first data communication interface operably connected between said base loader and said RDBMS, for transmitting directory data and base data from said RDBMS to said aggregation module;
an aggregation engine for receiving base data from said base data loader, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process;
a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB;
a second data communication interface operably connected to said data aggregation engine and said one or more client machines, for receiving database query requests from said client machines;
a database query handler operably connected to said second data communication interface, for handling said database query requests;
a controller for managing the operation of said base data loader, said aggregation engine, said MDDB handler, and said database query handler;
wherein after base data loading operations, the base data is initially aggregated along at least one of the dimensions extracted from said dictionary and aggregated multi-dimensional data results are stored in said MDDB; and
wherein during query servicing operations, each database query request is received over said second data communication interface, (ii) the set of dimensions associated with said database query request is extracted, (iii) said dimensions are provided as multi-dimensional coordinates to said MDDB handler so that (i) said MDDB handler can retrieve aggregated multi-dimensional data from data storage cell(s) in said MDDB specified by said multi-dimensional coordinates, and/or (ii) said aggregation engine can dynamically generate, on demand, aggregated multi-dimensional data for storage at data storage cell(s) in said MDDB specified by said multi-dimensional coordinates, and (iv) returning the retrieved aggregated multi-dimensional data back to said database query handler, over said second data communication interface, for transmission to said client machine for servicing the database query request.
10 Assignments
0 Petitions
Accused Products
Abstract
Improved method of and apparatus for aggregating data elements in multidimensional databases (MDDB). In the preferred embodiment, the apparatus is realized in the form of a high-performance stand-alone (i.e. external) aggregation server which can be plugged-into conventional MOLAP 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) an 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.
-
Citations
11 Claims
-
1. A data aggregation module for interfacing with a relational database management subsystem (RDBMS) having a relational data store including one or more fact tables for storing at least the base data, and a meta-data store for storing a dictionary containing dimension data, and servicing database query requests provided by one or more client machines, said data aggregation module comprising:
-
a multi-dimensional database (MDB) having a multi-dimensional data storage structure including a plurality of data storage cells, wherein each said data storage cell is indexed with multiple dimensions and stores either a base data value or an aggregated multi-dimensional data value;
a base data loader for loading said directory data and said base data to said MDD aggregation module;
a first data communication interface operably connected between said base loader and said RDBMS, for transmitting directory data and base data from said RDBMS to said aggregation module;
an aggregation engine for receiving base data from said base data loader, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process;
a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB;
a second data communication interface operably connected to said data aggregation engine and said one or more client machines, for receiving database query requests from said client machines;
a database query handler operably connected to said second data communication interface, for handling said database query requests;
a controller for managing the operation of said base data loader, said aggregation engine, said MDDB handler, and said database query handler;
wherein after base data loading operations, the base data is initially aggregated along at least one of the dimensions extracted from said dictionary and aggregated multi-dimensional data results are stored in said MDDB; and
wherein during query servicing operations, each database query request is received over said second data communication interface, (ii) the set of dimensions associated with said database query request is extracted, (iii) said dimensions are provided as multi-dimensional coordinates to said MDDB handler so that (i) said MDDB handler can retrieve aggregated multi-dimensional data from data storage cell(s) in said MDDB specified by said multi-dimensional coordinates, and/or (ii) said aggregation engine can dynamically generate, on demand, aggregated multi-dimensional data for storage at data storage cell(s) in said MDDB specified by said multi-dimensional coordinates, and (iv) returning the retrieved aggregated multi-dimensional data back to said database query handler, over said second data communication interface, for transmission to said client machine for servicing the database query request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
Specification