View selection for a multidimensional database
First Claim
1. A method for selecting a view to be materialized for a multidimensional database, the method comprising:
- (a) selecting a first node of a plurality of nodes of a multidimensional structure, each node of the plurality of nodes representing a potential view of the multidimensional database;
(b) performing, in multiple iterations, the steps of;
(1) based on a particular node, determining a particular path of nodes in a particular direction through the multidimensional structure, the particular path of nodes comprising the particular node;
(2) determining a materialization benefit for each of two or more non-materialized views represented by nodes in the particular path of nodes;
(3) selecting a new node in the particular path of nodes, the new node representing a non-materialized view of the two or more non-materialized views having a higher materialization benefit than any other of the two or more non-materialized views;
wherein, for a first iteration of steps (1)-(3), the particular node is a first node, the particular direction is a first direction, and the particular path of nodes is a first particular path of nodes;
wherein, for each iteration of one or more iterations of steps (1)-(3), each iteration being subsequent to the first iteration, the new node of an immediately preceding iteration becomes the particular node, a new direction becomes the particular direction, and a new path of nodes becomes the particular path of nodes;
wherein the new path of nodes is different from the particular path of nodes of the immediately preceding iteration, and the new direction is different from the particular direction of the immediately preceding iteration;
(c) determining that, over multiple iterations of steps (1)-(3), selection of the new node in step (3) has converged upon a single node; and
,(d) in response to step (c), materializing a particular view represented by the single node.
3 Assignments
0 Petitions
Accused Products
Abstract
Selection of certain views of a multidimensional database to materialize may be accomplished using an efficient and effective solution. A set of all potential views may be stored in a structure. A path in the structure may then be traversed in an indicated direction through the structure, the path including two or more potential views and beginning at an indicated view. Then two or more immaterialized views in the path may be compared to each other to determine which immaterialized view is the optimum choice for maximizing benefit if selected to be materialized. Then the traversing and comparing may be continually iterated through, each iteration utilizing an indicated direction different than the last, each iteration also utilizing an indicated view set at the optimum choice determined by the last iteration, the iterating continuing until it converges on a single view. That single view may then be selected for materialization.
98 Citations
51 Claims
-
1. A method for selecting a view to be materialized for a multidimensional database, the method comprising:
-
(a) selecting a first node of a plurality of nodes of a multidimensional structure, each node of the plurality of nodes representing a potential view of the multidimensional database; (b) performing, in multiple iterations, the steps of; (1) based on a particular node, determining a particular path of nodes in a particular direction through the multidimensional structure, the particular path of nodes comprising the particular node; (2) determining a materialization benefit for each of two or more non-materialized views represented by nodes in the particular path of nodes; (3) selecting a new node in the particular path of nodes, the new node representing a non-materialized view of the two or more non-materialized views having a higher materialization benefit than any other of the two or more non-materialized views; wherein, for a first iteration of steps (1)-(3), the particular node is a first node, the particular direction is a first direction, and the particular path of nodes is a first particular path of nodes; wherein, for each iteration of one or more iterations of steps (1)-(3), each iteration being subsequent to the first iteration, the new node of an immediately preceding iteration becomes the particular node, a new direction becomes the particular direction, and a new path of nodes becomes the particular path of nodes; wherein the new path of nodes is different from the particular path of nodes of the immediately preceding iteration, and the new direction is different from the particular direction of the immediately preceding iteration; (c) determining that, over multiple iterations of steps (1)-(3), selection of the new node in step (3) has converged upon a single node; and
,(d) in response to step (c), materializing a particular view represented by the single node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A machine-readable storage medium for selecting a view to be materialized for a multidimensional database, tangibly embodying a set of instructions that, when executed by the machine, causes the machine to perform the steps of:
-
(a) selecting a first node of a plurality of nodes of a multidimensional structure, each node of the plurality of nodes representing a potential view of the multidimensional database; (b) performing, in multiple iterations, the steps of; (1) based on a particular node, determining a particular path of nodes in a particular direction through the multidimensional structure, the particular path of nodes comprising the particular node; (2) determining a materialization benefit for each of two or more non-materialized views represented by nodes in the particular path of nodes; (3) selecting a new node in the particular path of nodes, the new node representing a non-materialized view of the two or more non-materialized views having a higher materialization benefit than any other of the two or more non-materialized views; wherein, for a first iteration of steps (1)-(3), the particular node is a first node, the particular direction is a first direction, and the particular path of nodes is a first particular path of nodes; wherein, for each iteration of one or more iterations of steps (1)-(3), each iteration being subsequent to the first iteration, the new node of an immediately preceding iteration becomes the particular node, a new direction becomes the particular direction, and a new path of nodes as becomes the particular path of nodes; wherein the new path of nodes is different from the particular path of nodes of the immediately preceding iteration, and the new direction is different from the particular direction of the immediately preceding iteration; (c) determining that, over multiple iterations of steps (1)-(3), selection of the new node in step (3) has converged upon a single node; and
,(d) in response to step (c), materializing a particular view represented by the single node. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. An apparatus for selecting a view to be materialized for a multidimensional database, the apparatus including one or more processors coupled to a memory being configured to perform each of the following steps:
-
(a) selecting a first node of a plurality of nodes of a multidimensional structure, each node of the plurality of nodes representing a potential view of the multidimensional database; (b) performing, in multiple iterations, the steps of; (1) based on a particular node, determining a particular path of nodes in a particular direction through the multidimensional structure, the particular path of nodes comprising the particular node; (2) determining a materialization benefit for each of two or more non-materialized views represented by nodes in the particular path of nodes; (3) selecting a new node in the particular path of nodes, the new node representing a non-materialized view of the two or more non-materialized views having a higher materialization benefit than any other of the two or more non-materialized views; wherein, for a first iteration of steps (1)-(3), the particular node is a first node, the particular direction is a first direction, and the particular path of nodes is a first particular path of nodes; wherein, for each iteration of one or more iterations of steps (1)-(3), each iteration being subsequent to the first iteration, the new node of an immediately preceding iteration becomes the particular node, a new direction becomes the particular direction, and a new path of nodes as becomes the particular path of nodes; wherein the new path of nodes is different from the particular path of nodes of the immediately preceding iteration, and the new direction is different from the particular direction of the immediately preceding iteration; (c) determining that, over multiple iterations of steps (1)-(3), selection of the new node in step (3) has converged upon a single node; and
,(d) in response to step (c), materializing a particular view represented by the single node. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
-
Specification