Enterprise-wide data-warehouse with integrated data aggregation engine
First Claim
1. An enterprise-wide data-warehouse providing the user of a client machine connected to a network, with a query interface for generating a query statement and/or a series of query requests obtained by disintegrating the query statement, via parsing, wherein each said query request specifies a set of n-dimensions, said enterprise-wide data-warehouse comprising:
- (a) a relational database management subsystem (RDBMS) including(1) a query handler for receiving and servicing the series of query requests;
(2) a relational data store including (i) one or more fact tables for storing at least base data, and (ii) a meta-data store for storing a dictionary containing dimension data; and
(3) a reference generating mechanism for generating a reference and a link enabling the user to query on aggregated multi-dimensional data stored in said enterprise-wide data-warehouse; and
(b) a multi-dimensional data (MDD) aggregation module, integrated with said RDBMS, for generating aggregated multi-dimensional data from the base data, and storing said aggregated multi-dimensional data in (1) a multi-dimensional database (MDDB) having a non-relational type of 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;
said series of query requests generated by said query interface referring to either (i) data stored in said tables, or (ii) aggregated multi-dimensional data stored in said MDDB, andsaid reference and said link referring and linking to aggregated multi-dimensional data generated by said MDD aggregation module and/or stored in said MDDB;
said MDD aggregation module further including;
(2) a base data loader for loading said directory data and said base data to said MDD aggregation module over a first data communication interface;
(3) an aggregation engine for receiving base data from said base data loader over said first data communication interface, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process,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, andwherein during query servicing operations, the base data is aggregated on demand along additional dimensions extracted from said query request and aggregated multi-dimensional data results are stored in said MDDB;
(4) a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB;
(5) a query request handler for (i) receiving each query request from said query handler over a second data communication interface, (ii) extracting the set of dimensions associated with said query request, (iii) providing said dimensions 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 return the retrieved aggregated multi-dimensional data back to said query handler, over said second data communication interface, for transmission to said client machine; and
(6) a control module for managing the operation of said base data loader, said aggregation engine, said MDDB handler and said query request handler;
wherein said base data loader further includes an adapter for mapping the data types of said dictionary into the data types used in said MDD aggregation module, or for mapping a standard data type used to represent said dictionary into the data types used in said MDD aggregation module.
11 Assignments
0 Petitions
Accused Products
Abstract
An enterprise-wide data-warehouse comprising a database management system (DBMS) including a relational datastore storing data in tables. An aggregation module, operatively coupled to the relational datastore aggregates the data stored in the tables of the relational datastore and storing the resultant aggregated data in a non-relational datastore. A reference generating mechanism generates a first reference to data stored in the relational datastore, and a second reference to aggregated data generated by the aggregation module and stored in the non-relational datastore. A query processing mechanism processes query statements, wherein, upon identifying that a given query statement is on the second reference, the query processing mechanism communicates with the aggregation module to retrieve portions of aggregated data identified by the reference that are relevant to the given query statement.
571 Citations
78 Claims
-
1. An enterprise-wide data-warehouse providing the user of a client machine connected to a network, with a query interface for generating a query statement and/or a series of query requests obtained by disintegrating the query statement, via parsing, wherein each said query request specifies a set of n-dimensions, said enterprise-wide data-warehouse comprising:
-
(a) a relational database management subsystem (RDBMS) including (1) a query handler for receiving and servicing the series of query requests; (2) a relational data store including (i) one or more fact tables for storing at least base data, and (ii) a meta-data store for storing a dictionary containing dimension data; and (3) a reference generating mechanism for generating a reference and a link enabling the user to query on aggregated multi-dimensional data stored in said enterprise-wide data-warehouse; and (b) a multi-dimensional data (MDD) aggregation module, integrated with said RDBMS, for generating aggregated multi-dimensional data from the base data, and storing said aggregated multi-dimensional data in (1) a multi-dimensional database (MDDB) having a non-relational type of 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; said series of query requests generated by said query interface referring to either (i) data stored in said tables, or (ii) aggregated multi-dimensional data stored in said MDDB, and said reference and said link referring and linking to aggregated multi-dimensional data generated by said MDD aggregation module and/or stored in said MDDB; said MDD aggregation module further including; (2) a base data loader for loading said directory data and said base data to said MDD aggregation module over a first data communication interface; (3) an aggregation engine for receiving base data from said base data loader over said first data communication interface, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process, 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, the base data is aggregated on demand along additional dimensions extracted from said query request and aggregated multi-dimensional data results are stored in said MDDB; (4) a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB; (5) a query request handler for (i) receiving each query request from said query handler over a second data communication interface, (ii) extracting the set of dimensions associated with said query request, (iii) providing said dimensions 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 return the retrieved aggregated multi-dimensional data back to said query handler, over said second data communication interface, for transmission to said client machine; and (6) a control module for managing the operation of said base data loader, said aggregation engine, said MDDB handler and said query request handler; wherein said base data loader further includes an adapter for mapping the data types of said dictionary into the data types used in said MDD aggregation module, or for mapping a standard data type used to represent said dictionary into the data types used in said MDD aggregation module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An enterprise-wide data-warehouse providing the user of a client machine connected to a network, with a query interface for generating a query statement and/or a series of query requests obtained by disintegrating the query statement, via parsing, wherein each said query request specifies a set of n-dimensions, said enterprise-wide data-warehouse comprising:
-
(a) a relational database management subsystem (RDBMS) including (1) a query handler for receiving and servicing the series of query requests; (2) a relational data store including (i) one or more fact tables for storing at least base data, and (ii) a meta-data store for storing a dictionary containing dimension data; and (3) a reference generating mechanism for generating a reference and a link enabling the user to query on aggregated multi-dimensional data stored in said enterprise-wide data-warehouse; and (b) a multi-dimensional data (MDD) aggregation module, integrated with said RDBMS, for generating aggregated multi-dimensional data from the base data, and storing said aggregated multi-dimensional data in (1) a multi-dimensional database (MDDB) having a non-relational type of 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; said series of query requests generated by said query interface referring to either (i) data stored in said tables, or (ii) aggregated multi-dimensional data stored in said MDDB; and said reference and said link referring and linking to aggregated multi-dimensional data generated by said MDD aggregation module and/or stored in said MDDB; said MDD aggregation module further including; (2) a base data loader for loading said directory data and said base data to said MDD aggregation module over a first data communication interface; (3) an aggregation engine for receiving base data from said base data loader over said first data communication interface, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process, 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, the base data is aggregated on demand along additional dimensions extracted from said query request and aggregated multi-dimensional data results are stored in said MDDB; (4) a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB; (5) a query request handler for (i) receiving each query request from said query handler over a second data communication interface, (ii) extracting the set of dimensions associated with said query request, (iii) providing said dimensions 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 return the retrieved aggregated multi-dimensional data back to said query handler, over said second data communication interface, for transmission to said client machine; and (6) a control module for managing the operation of said base data loader, said aggregation engine, said MDDB handler and said query request handler; wherein said base data loader further includes an adapter for mapping the data types of the table(s) into the data types used in said MDD aggregation module, or for mapping a standard data type used to represent said fact table(s) into the data types used in said MDD aggregation module. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An enterprise-wide data-warehouse providing the user of a client machine connected to a network, with a query interface for generating a query statement and/or a series of query requests obtained by disintegrating the query statement, via parsing, wherein each said query request specifies a set of n-dimensions, said enterprise-wide data-warehouse comprising:
-
(a) a relational database management subsystem (RDBMS) including (1) a query handler for receiving and servicing the series of query requests; (2) a relational data store including (i) one or more fact tables for storing at least base data, and (ii) a meta-data store for storing a dictionary containing dimension data; and (3) a reference generating mechanism for generating a reference and a link enabling the user to query on aggregated multi-dimensional data stored in said enterprise-wide data-warehouse; and (b) a multi-dimensional data (MDD) aggregation module, integrated with said RDBMS, for generating aggregated multi-dimensional data from the base data, and storing said aggregated multi-dimensional data in (1) a multi-dimensional database (MDDB) having a non-relational type of 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; said series of query requests generated by said query interface referring to either (i) data stored in said tables, or (ii) aggregated multi-dimensional data stored in said MDDB, and said reference and said link referring and linking to aggregated multi-dimensional data generated by said MDD aggregation module and/or stored in said MDDB; said MDD aggregation module further including; (2) a base data loader for loading said directory data and said base data to said MDD aggregation module over a first data communication interface; (3) an aggregation engine for receiving base data from said base data loader over said first data communication interface, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process, 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, the base data is aggregated on demand along additional dimensions extracted from said query request and aggregated multi-dimensional data results are stored in said MDDB; (4) a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB; (5) a query request handler for (i) receiving each query request from said query handler over a second data communication interface, (ii) extracting the set of dimensions associated with said query request, (iii) providing said dimensions 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 return the retrieved aggregated multi-dimensional data back to said query handler, over said second data communication interface, for transmission to said client machine; and (6) a control module for managing the operation of said base data loader, said aggregation engine, said MDDB handler and said query request handler; wherein said reference generating mechanism allows the user to; (i) define said reference as a table name (TN) associated with said MDDB; and (ii) define said link so as to enable said query handler to route said query requests on said table name (TN), to said MDD aggregation module, and wherein said query handler forwards any query request on said table name (TN), to said MDD aggregation module via said link. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. An enterprise-wide data-warehouse providing the user of a client machine connected to a network, with a query interface for generating a query statement and/or a series of query requests obtained by disintegrating the query statement, via parsing, wherein each said query request specifies a set of n-dimensions, said enterprise-wide data-warehouse comprising:
-
(a) a relational database management subsystem (RDBMS) including (1) a query handler for receiving and servicing the series of query requests; (2) a relational data store including (i) one or more fact tables for storing at least base data, and (ii) a meta-data store for storing a dictionary containing dimension data; and (3) a reference generating mechanism for generating a reference and a link enabling the user to query on aggregated multi-dimensional data stored in said enterprise-wide data-warehouse; and (b) a multi-dimensional data (MDD) aggregation module, integrated with said RDBMS, for generating aggregated multi-dimensional data from the base data, and storing said aggregated multi-dimensional data in (1) a multi-dimensional database (MDDB) having a non-relational type of 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; said series of query requests generated by said query interface referring to either (i) data stored in said tables, or (ii) aggregated multi-dimensional data stored in said MDDB, and said reference and said link referring and linking to aggregated multi-dimensional data generated by said MDD aggregation module and/or stored in said MDDB; said MDD aggregation module further including; (2) a base data loader for loading said directory data and said base data to said MDD aggregation module over a first data communication interface; (3) an aggregation engine for receiving base data from said base data loader over said first data communication interface, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process, 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, the base data is aggregated on demand along additional dimensions extracted from said query request and aggregated multi-dimensional data results are stored in said MDDB; (4) a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB; (5) a query request handler for (i) receiving each query request from said query handler over a second data communication interface, (ii) extracting the set of dimensions associated with said query request, (iii) providing said dimensions 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 return the retrieved aggregated multi-dimensional data back to said query handler, over said second data communication interface, for transmission to said client machine; and (6) a control module for managing the operation of said base data loader, said aggregation engine, said MDDB handler and said query request handler; wherein said query statement is an SQL-type query statement and each query request is an SQL-type query request; and wherein said reference generating mechanism comprises using a Create View SQL statement to; (i) define said reference as a remote table name (TN) associated with said MDDB, and (ii) (ii) define said link so as to enable said query handler to route said query requests on said remote table name (TN), to said MDD aggregation module. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. An enterprise-wide data-warehouse providing the user of a client machine connected to a network, with a query interface for generating a query statement and/or a series of query requests obtained by disintegrating the query statement, via parsing, wherein each said query request specifies a set of n-dimensions, said enterprise-wide data-warehouse comprising:
-
(a) a relational database management subsystem (RDBMS) including (1) a query handler for receiving and servicing the series of query requests; (2) a relational data store including (i) one or more fact tables for storing at least base data, and (ii) a meta-data store for storing a dictionary containing dimension data; and (3) a reference generating mechanism for generating a reference and a link enabling the user to query on aggregated multi-dimensional data stored in said enterprise-wide data-warehouse; and (b) a multi-dimensional data (MDD) aggregation module, integrated with said RDBMS, for generating aggregated multi-dimensional data from the base data, and storing said aggregated multi-dimensional data in (1) a multi-dimensional database (MDDB) having a non-relational type of 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; said series of query requests generated by said query interface referring to either (i) data stored in said tables, or (ii) aggregated multi-dimensional data stored in said MDDB, and said reference and said link referring and linking to aggregated multi-dimensional data generated by said MDD aggregation module and/or stored in said MDDB; said MDD aggregation module further including; (2) a base data loader for loading said directory data and said base data to said MDD aggregation module over a first data communication interface; (3) an aggregation engine for receiving base data from said base data loader over said first data communication interface, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process, 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, the base data is aggregated on demand along additional dimensions extracted from said query request and aggregated multi-dimensional data results are stored in said MDDB; (4) a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB; (5) a query request handler for (i) receiving each query request from said query handler over a second data communication interface, (ii) extracting the set of dimensions associated with said query request, (iii) providing said dimensions 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 return the retrieved aggregated multi-dimensional data back to said query handler, over said second data communication interface, for transmission to said client machine; and (6) a control module for managing the operation of said base data loader, said aggregation engine, said MDDB handler and said query request handler; wherein said reference generating mechanism comprises using a NA trigger mechanism which enables the user to; (i) define said reference as a native table name (TN) associated with said MDDB, and (ii) define said link so as to enable said query handler to route said query requests on said native table name (TN), to said MDD aggregation module. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
-
-
66. An enterprise-wide data-warehouse providing the user of a client machine connected to a network, with a query interface for generating a query statement and/or a series of query requests obtained by disintegrating the query statement, via parsing, wherein each said query request specifies a set of n-dimensions, said enterprise-wide data-warehouse comprising:
-
(a) a relational database management subsystem (RDBMS) including (1) a query handler for receiving and servicing the series of query requests; (2) a relational data store including (i) one or more fact tables for storing at least base data, and (ii) a meta-data store for storing a dictionary containing dimension data; and (3) a reference generating mechanism for generating a reference and a link enabling the user to query on aggregated multi-dimensional data stored in said enterprise-wide data-warehouse; and (b) a multi-dimensional data (MDD) aggregation module, integrated with said RDBMS, for generating aggregated multi-dimensional data from the base data, and storing said aggregated multi-dimensional data in (1) a multi-dimensional database (MDDB) having a non-relational type of 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; said series of query requests generated by said query interface referring to either (i) data stored in said tables, or (ii) aggregated multi-dimensional data stored in said MDDB, and said reference and said link referring and linking to aggregated multi-dimensional data generated by said MDD aggregation module and/or stored in said MDDB; said MDD aggregation module further including; (2) a base data loader for loading said directory data and said base data to said MDD aggregation module over a first data communication interface; (3) an aggregation engine for receiving base data from said base data loader over said first data communication interface, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process, 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, the base data is aggregated on demand along additional dimensions extracted from said query request and aggregated multi-dimensional data results are stored in said MDDB; (4) a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB; (5) a query request handler for (i) receiving each query request from said query handler over a second data communication interface, (ii) extracting the set of dimensions associated with said query request, (iii) providing said dimensions 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 return the retrieved aggregated multi-dimensional data back to said query handler, over said second data communication interface, for transmission to said client machine; and (6) a control module for managing the operation of said base data loader, said aggregation engine, said MDDB handler and said query request handler; wherein said query request handler further includes an adapter for mapping the data types of the query request 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 MDD aggregation module. - View Dependent Claims (67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
Specification