Efficient SQL access to multidimensional data
First Claim
1. A method comprising the computer-implemented steps of:
- receiving, at a relational database server, a relational database statement that specifies one or more relational operations to perform on a data subset of one or more n-dimensional data objects that are stored according to a multidimensional schema;
passing, from said relational database server to a multidimensional database server, a) a function that identifies the data subset based on information that is contained in said relational database statement and, b) separate from the function, one or more value-filtering criteria involved in the one or more relational operations;
identifying, by the multidimensional database server and based on said function, the data subset of said n-dimensional data objects;
generating, by said multidimensional database server, a filtered set of one or more values from the data subset based on the one or more value-filtering criteria;
passing, from said multidimensional database server to said relational database server, said filtered set of one or more values;
performing, at the relational database server, the one or more specified relational operations on the filtered set of one or more values returned to the relational database server; and
producing and returning, by said relational database server and in response to said relational database statement, results of the one or more relational operations;
wherein the method is performed by one or more computing devices.
2 Assignments
0 Petitions
Accused Products
Abstract
In processing a query on multidimensional data in a multidimensional schema, a multidimensional database server performs various processes to limit the amount of data that is extracted from the database and presented to a relational database server in response to the request. A subset of data is identified to extract from the multidimensional data, based on the query. In various embodiments, cell-filtering, measure-filtering, and column-filtering criteria identified from the query are used to filter the subset of data, in order to return a minimized set of multidimensional data values from the subset of data. Therefore, computational resources are conserved with respect to further processing by the relational database server in response to the query.
-
Citations
46 Claims
-
1. A method comprising the computer-implemented steps of:
-
receiving, at a relational database server, a relational database statement that specifies one or more relational operations to perform on a data subset of one or more n-dimensional data objects that are stored according to a multidimensional schema; passing, from said relational database server to a multidimensional database server, a) a function that identifies the data subset based on information that is contained in said relational database statement and, b) separate from the function, one or more value-filtering criteria involved in the one or more relational operations; identifying, by the multidimensional database server and based on said function, the data subset of said n-dimensional data objects; generating, by said multidimensional database server, a filtered set of one or more values from the data subset based on the one or more value-filtering criteria; passing, from said multidimensional database server to said relational database server, said filtered set of one or more values; performing, at the relational database server, the one or more specified relational operations on the filtered set of one or more values returned to the relational database server; and producing and returning, by said relational database server and in response to said relational database statement, results of the one or more relational operations; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system comprising:
-
one or more processors; memory communicatively coupled to said one or more processors; wherein said memory stores instructions which, when executed by said one or more processors, cause performance of; receiving, at a relational database server, a relational database statement that specifies one or more relational operations to perform on a data subset of one or more n-dimensional data objects that are stored according to a multidimensional schema; passing, from said relational database server to a multidimensional database server, a) a function that identifies the data subset based on information that is contained in said relational database statement and, b) separate from the function, one or more value-filtering criteria involved in the one or more relational operations; identifying, by the multidimensional database server and based on said function, the data subset of said n-dimensional data objects; generating, by said multidimensional database server, a filtered set of one or more values from the data subset based on the one or more value-filtering criteria; passing, from said multidimensional database server to said relational database server, said filtered set of one or more values; performing, at the relational database server, the one or more specified relational operations on the filtered set of one or more values returned to the relational database server; and producing and returning, by said relational database server and in response to said relational database statement, results of the one or more relational operations.
-
-
24. One or more non-transitory computer-readable media storing instructions which, when executed by one or more computing devices cause:
-
receiving, at a relational database server, a relational database statement that specifies one or more relational operations to perform on a data, from subset of one or more n-dimensional data objects, that is are stored according to a multidimensional schema; passing, from said relational database server to a multidimensional database server, a) a function that identifies the data subset based on information that is contained in said relational database statement and, b) separate from the function, one or more value-filtering criteria involved in the one or more relational operations; identifying, by the multidimensional database server and based on said function, the data subset of said n-dimensional data objects; generating, by said multidimensional database server, a filtered set of one or more values from the data subset based on the one or more value-filtering criteria; passing, from said multidimensional database server to said relational database server, said filtered set of one or more values; performing, at the relational database server, the one or more specified relational operations on the filtered set of one or more values returned to the relational database server; and producing and returning, by said relational database server and in response to said relational database statement, results of the one or more relational operations. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification