×

Multi-system query execution plan

  • US 10,585,887 B2
  • Filed: 03/30/2015
  • Issued: 03/10/2020
  • Est. Priority Date: 03/30/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • a first database management system (DBMS) storing a first copy of particular data, and a second DBMS storing a second copy of the same particular data;

    receiving a query to execute at the first DBMS, the query referencing the particular data;

    estimating an initial operation cost of an operation of a plurality of operations in an execution plan of the query on the first DBMS, wherein the execution plan is represented by a tree of nodes, each node representing a corresponding operation of the execution plan and each subtree of nodes, of the tree of nodes, representing particular operations on which a particular operation at a root node of said each subtree of nodes depends;

    wherein estimating the initial operation cost of the operation for the first DBMS includes a first operation cost for a subtree of the operation in the first DBMS and is based at least on the operation accessing the first copy of the particular data already available on the first DBMS prior to the receiving of the query;

    determining feasibility to execute the operation on the second DBMS at least by determining that the second copy of the particular data is already stored in the second DBMS, wherein the operation is considered feasible if a) the particular data that the operation accesses is stored on the second DBMS, and b) the operation is supported by the second DBMS;

    based on determining the feasibility, estimating an operation cost to execute the operation of the execution plan of the query on the second DBMS;

    wherein estimating the operation cost of the operation for the second DBMS includes a second operation cost for the subtree of the operation in the second DBMS and is based at least on the operation accessing the second copy of the particular data already available on the second DBMS prior to the receiving of the query;

    wherein the operation cost includes communication cost for parent and child node operations of the subtree of the operation in the second DBMS;

    wherein the second DBMS is heterogeneous from the first DBMS;

    comparing the operation cost of executing the subtree of the operation on the second DBMS with the initial operation cost of executing the subtree of the operation on the first DBMS thereby identifying whether to offload the operation of the execution plan to the second DBMS;

    executing the query at least in part by executing the operation on either the first DBMS or the second DBMS to generate result data;

    wherein the method is performed by one or more computing devices.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×