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 splitting into components one or more of;
the query into at least two of the query partitions; and
the hierarchical structure of the data; and
executing the split components in parallel on different computer processes according to the parallel execution plan.
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.
46 Citations
20 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 splitting into components one or more of;
the query into at least two of the query partitions; and
the hierarchical structure of the data; andexecuting the split components in parallel on different computer processes according to the parallel execution plan. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for partitioning queries in order to query hierarchically structured data comprising steps of:
-
identifying one or more structural attributes describing the hierarchically structure of the data; partitioning one or more queries into two or more query partitions using at least one of the structural attributes; and determining a parallel execution plan to execute at least two of the query partitions in parallel on different computer processes, wherein the parallel execution plan determines and implements an optimal choice of executing the query partitions in parallel.
-
-
14. Apparatus for processing a query directed to 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 splitting into components one or more of;
the query into at least two of the query partitions; and
the hierarchical structure of the data;
such that the split components are executed in parallel on different computer processes according to the parallel execution plan. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. 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 tangibly embodying a computer readable program code which, when executed, 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 splitting into components one or more of;
the query into at least two of the query partitions; and
the hierarchical structure of the data; andcause execution of the split components in parallel on different computer processes according to the parallel execution plan.
-
Specification