Optimizing queries to hierarchically structured data
First Claim
1. A method for processing a query directed to data having a hierarchical structure with a plurality of data nodes, the method comprising steps of:
- identifying one or more structural attributes describing the hierarchical structure of the data;
partitioning the query into two or more query partitions using at least one of the one or more identified structural attributes;
determining a parallel execution plan for the query by evaluation strategies comprising;
a first strategy which splits the query into at least two of the query partitions;
a second strategy which splits the hierarchical structure of the data; and
a third strategy which splits both the query and the hierarchical structure of the data;
selecting one of the evaluated strategies as the parallel execution plan to be executed; and
executing the selected parallel execution plan in parallel on different computer processes.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are disclosed for optimizing queries to hierarchically structured data. For example, a method for processing a query directed to data having a hierarchical structure with a plurality of data nodes comprises the following steps. One or more structural attributes describing the hierarchical structure of the data are identified. The query is partitioned into two or more query partitions using at least one of the one or more identified structural attributes. A parallel execution plan is determined for the query by splitting into components one or more of: the query into at least two of the query partitions; and the hierarchical structure of the data. The split components are executed in parallel on different computer processes according to the parallel execution plan.
-
Citations
19 Claims
-
1. A method for processing a query directed to data having a hierarchical structure with a plurality of data nodes, the method comprising steps of:
-
identifying one or more structural attributes describing the hierarchical structure of the data; partitioning the query into two or more query partitions using at least one of the one or more identified structural attributes; determining a parallel execution plan for the query by evaluation strategies comprising;
a first strategy which splits the query into at least two of the query partitions;
a second strategy which splits the hierarchical structure of the data; and
a third strategy which splits both the query and the hierarchical structure of the data;selecting one of the evaluated strategies as the parallel execution plan to be executed; and executing the selected parallel execution plan in parallel on different computer processes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. Apparatus for processing a query directed b data having a hierarchical structure with a plurality of data nodes, the apparatus comprising:
-
a memory; and one or more processor devices coupled to the memory and configured to;
identify one or more structural attributes describing the hierarchical structure of the data;
partition the query into two or more query partitions using at least one of the one or more identified structural attributes;
determine a parallel execution plan for the query by evaluating strategies comprising;
a first strategy which splits the query into at least two of the query partitions;
a second strategy which splits the hierarchical structure of the data; and
a third strategy which splits both the query and the hierarchical structure of the data;
select one of the evaluated strategies as the parallel execution to be executed;
execute the selected parallel execution plan in parallel on different computer processes. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. An article of manufacture for processing a query directed to data having a hierarchical structure with a plurality of data nodes, the article of manufacture comprising a computer readable storage medium for storing a computer readable program code which, when executed by a computer, causes the computer to:
-
identify one or more structural attributes describing the hierarchical structure of the data; partition the query into two or more query partitions using at least one of the one or more identified structural attributes; determine a parallel execution plan for the query by evaluating strategies comprising;
a first strategy which splits the query into at least two of the query partitions;
a second strategy which splits the hierarchical structure of the data; and
a third strategy which splits both the query and the hierarchical structure of the data;select one of the evaluated strategies as the parallel execution plan to be executed; and cause execution of the selected parallel execution plan in parallel on different computer processes.
-
Specification