Query plan execution by implementation of plan operations forming a join graph

Information

  • Patent Application
  • 20070156701
  • Publication Number
    20070156701
  • Date Filed
    December 30, 2005
    19 years ago
  • Date Published
    July 05, 2007
    17 years ago
Abstract
A system and method for executing a query plan are disclosed. In the system and method, a join graph is generated to represent the query plan. The join graph includes a set of plan operations that are to be executed for implementing the join graph. The query plan is received by a distributed network of a logical index server and one or more selected physical index servers. Each physical index server receives a portion of the plan operations, and determines what plan data is needed to execute the portion of the plan operations. A system and method includes a process for determining what plan data is needed from other physical index servers, or what plan data is needed by other physical index servers.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects will now be described in detail with reference to the following drawings.



FIG. 1 illustrates a query plan represented as a join graph.



FIG. 2 is a block diagram of a system for executing the query plan.



FIG. 3 illustrates a query plan execution process.



FIG. 4 is a flowchart of a method for query plan execution by implementation of plan operations forming a join graph.


Claims
  • 1. A computer-implemented method for executing a query plan, the method comprising: generating a join graph from plan operations of the query plan;executing the plan operations of the join graph using a distributed network of two or more servers.
  • 2. A method in accordance with claim 1, further comprising establishing a session object on each server.
  • 3. A method in accordance with claim 2, wherein executing the plan operations of the join graph further includes selecting one or more of the servers to implement the query plan.
  • 4. A method in accordance with claim 3, further comprising sending the complete query plan to the selected two or more servers.
  • 5. A method in accordance with claim 4, further comprising requesting a result of the query plan from the selected two or more servers.
  • 6. A method in accordance with claim 5, further comprising determining which portion of the plan operations of the query plan is to be performed by which of the each two or more servers.
  • 7. A method in accordance with claim 6, further comprising determining what plan data is needed for each portion of the plan operations of the query plan.
  • 8. A method in accordance with claim 7, further comprising executing, by each of the selected servers, its determined portion of the plan operations of the query plan.
  • 9. A method in accordance with claim 1, further comprising: receiving results from each of the one or more servers; andsending the results to a querying client.
  • 10. A computer-readable storage medium containing a set of instructions for a distributed server network of two or more servers, the set of instructions causing the distributed server network to: generate a join graph from plan operations of the query plan;execute the plan operations of the join graph using the two or more servers.
  • 11. A computer-readable storage medium in accordance with claim 10, wherein the set of instructions further causes the distributed network to establish a session object on each server.
  • 12. A computer-readable storage medium in accordance with claim 10, wherein the set of instructions further causes selection of the servers to implement the query plan.
  • 13. A computer-readable storage medium in accordance with claim 12, wherein the set of instructions further causes each server to send the complete query plan to all other selected servers.
  • 14. A computer-readable storage medium in accordance with claim 13, wherein the set of instructions further causes the each server to request a result of the query plan from all other selected servers.
  • 15. A computer-readable storage medium in accordance with claim 1, wherein the set of instructions further causes each of the selected servers to determine which portion of the plan operations of the query plan is to be performed by that server.
  • 16. A computer-readable storage medium in accordance with claim 15, wherein the set of instructions further causes each of the selected servers to determine what plan data is needed for each portion of the plan operations of the query plan.
  • 17. A computer-readable storage medium in accordance with claim 1, wherein the set of instructions further causes each of the selected servers to execute its determined portion of the plan operations of the query plan.
  • 18. A computer-readable storage medium in accordance with claim 10, wherein the set of instructions further causes each server to: receive results from each of the other selected servers; andsend the results to a querying client.
  • 19. A system for executing a query plan, the system comprising: a logical index server configured to receive the query plan;one or more physical index servers in communication with the logical index server, each physical index server configured to receive a portion of the query plan from the logical index server, and determine plan operations of the portion of the query plan; andan execution engine associated with each of the one or more physical index servers, the execution engine configured to execute the plan operations of the query plan to generate a result.
  • 20. A system in accordance with claim 19, wherein the execution engine is distributed among the one or more physical index servers.