Relational database management system having integrated non-relational multi-dimensional data store of aggregated data elements
First Claim
Patent Images
1. A database management system comprising:
- a relational data store storing fact data;
a multi-dimensional data store configured to store aggregated fact data in a multi-dimensional data structure;
a communication interface operably connected between the relational data store and the multi-dimensional data store for the communication of fact data from the relational data store to the multi-dimensional data store and for the communication of aggregated fact data from the multi-dimensional data store to the relational data store; and
a computer system comprising computer hardware, the computer system programmed to implement;
a multi-dimensional data store generation mechanism configured to generate the multi-dimensional data store by calculating aggregated fact data from data stored in the relational data store according to a multi-dimensional data aggregation process, and store the aggregated fact data in the multi-dimensional data store;
a query servicing mechanism configured to service one or more natural language queries from a user, the query servicing mechanism comprising;
a query processing mechanism configured to process a given natural language query, the query processing mechanism configured to;
make a determination of whether servicing the given natural language query needs data stored in the relational data store or the multi-dimensional data store; and
generate one or more structured query language (“
SQL”
) statements, wherein the SQL statements refer to the relational data store or the multi-dimensional data store based on said determination,wherein the multi-dimensional data aggregation process comprises;
(i) determining if the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store, andin response to determining that the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store,retrieving the pre-calculated fact data and returning the retrieved pre-calculated fact data to the query processing mechanism; and
(ii) in response to determining that the needed fact data is not already pre-calculated and stored within the multi-dimensional data store, calculating the needed aggregated fact data on demand, and automatically forwarding the aggregated fact data to the query processing mechanism.
11 Assignments
0 Petitions
Accused Products
Abstract
Improved method of and apparatus for joining and aggregating data elements integrated within a relational database management system (RDBMS) using a non-relational multi-dimensional data structure (MDD). The improved RDBMS system of the present invention 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 RDBMS 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 informational database system or the like.
-
Citations
7 Claims
-
1. A database management system comprising:
-
a relational data store storing fact data; a multi-dimensional data store configured to store aggregated fact data in a multi-dimensional data structure; a communication interface operably connected between the relational data store and the multi-dimensional data store for the communication of fact data from the relational data store to the multi-dimensional data store and for the communication of aggregated fact data from the multi-dimensional data store to the relational data store; and a computer system comprising computer hardware, the computer system programmed to implement; a multi-dimensional data store generation mechanism configured to generate the multi-dimensional data store by calculating aggregated fact data from data stored in the relational data store according to a multi-dimensional data aggregation process, and store the aggregated fact data in the multi-dimensional data store; a query servicing mechanism configured to service one or more natural language queries from a user, the query servicing mechanism comprising; a query processing mechanism configured to process a given natural language query, the query processing mechanism configured to; make a determination of whether servicing the given natural language query needs data stored in the relational data store or the multi-dimensional data store; and generate one or more structured query language (“
SQL”
) statements, wherein the SQL statements refer to the relational data store or the multi-dimensional data store based on said determination,wherein the multi-dimensional data aggregation process comprises; (i) determining if the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store, and in response to determining that the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store, retrieving the pre-calculated fact data and returning the retrieved pre-calculated fact data to the query processing mechanism; and (ii) in response to determining that the needed fact data is not already pre-calculated and stored within the multi-dimensional data store, calculating the needed aggregated fact data on demand, and automatically forwarding the aggregated fact data to the query processing mechanism. - View Dependent Claims (2, 3)
-
-
4. A method comprising:
-
by a computer system comprising computer hardware, including a relational data store storing fact data, and a multi-dimensional data store configured to store aggregated fact data in a multi-dimensional data structure; generating the multi-dimensional data store by calculating aggregated fact data from data stored in the relational data store according to a multi-dimensional data aggregation process, and storing the aggregated fact data in the multi-dimensional data store, receiving one or more natural language queries from a user; determining whether servicing a given natural language query of the one or more natural language queries needs data stored in the relational data store or in the multi-dimensional data store, wherein the relational data store is configured to communicate fact data to the multi-dimensional data store and the multi-dimensional data store is configured to communicate aggregated fact data to the relational data store; and generating one or more SQL statements, wherein the SQL statements refer to the relational data store or the multi-dimensional data store based on said determining, wherein the multi-dimensional data aggregation process comprises; (i) in response to determining that the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store, then the pre-calculated aggregated fact data is retrieved and returned to the user; and (ii) in response to determining that the needed fact data is not already pre-calculated and stored within the multi-dimensional data store, then the needed aggregated fact data is calculated on demand, and the aggregated fact data is automatically forwarded to the user. - View Dependent Claims (5)
-
-
6. A non-transitory computer-readable medium encoded with instructions thereon, wherein the instructions are readable by a computing device in order to cause the computing device to perform operations comprising:
-
receiving one or more natural language queries from a user; generating a multi-dimensional data store by calculating aggregated fact data from data stored in a relational data store according to a multi-dimensional data aggregation process, and store the aggregated fact data in the multi-dimensional data store, determining whether servicing a given natural language query needs data stored in a the relational data store or in a the multi-dimensional data store, wherein the multi-dimensional data store is generated via a segmented aggregation process involving aggregation along multiple dimensions in a determined sequence comprising aggregation involving a first dimension followed by aggregation involving one or more other dimensions; and generating one or more SQL statements, wherein the SQL statements refer to the relational data store or the multi-dimensional data store generated via the segmented aggregation process based on said determining, wherein the multi-dimensional data aggregation process comprises; (ii) determining if the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store, and in response to determining that the aggregated fact data needed to service the given natural language query is already pre-calculated and stored within the multi-dimensional data store, retrieving the pre-calculated fact data and returning the retrieved pre-calculated fact data to the query processing mechanism; and (ii) in response to determining that the needed fact data is not already pre-calculated and stored within the multi-dimensional data store, calculating the needed aggregated fact data on demand, and automatically forwarding the aggregated fact data to the query processing mechanism. - View Dependent Claims (7)
-
Specification