QUERY EXPLAIN PLAN IN A DISTRIBUTED DATA MANAGEMENT SYSTEM
First Claim
1. A system for explaining queries in a distributed data grid, said system comprising:
- one or more microprocessors;
a cluster running on the one or more microprocessors, including a plurality of cluster nodes storing data distributed throughout the cluster, each cluster node being capable of executing a structured query language (SQL) query on the data stored on said cluster node; and
a client connected to the cluster that submits a request that includes the SQL query, wherein upon receiving the request for the query explain plan, the SQL query is submitted to each node in the cluster and wherein each node in the cluster evaluates a query plan for the SQL query using local data as said each node and returns a set of information regarding how the SQL query is executed at said node; and
wherein a query record object is generated that aggregates the information from all nodes in the cluster, wherein the query record object contains information regarding how the SQL query is executed by each node in the cluster.
1 Assignment
0 Petitions
Accused Products
Abstract
A query explain plan is described for use with a distributed data system in order to help developers and IT experts to detect bottlenecks and to determine which queries are to blame for a slow running system. In accordance with an embodiment, the distributed data grid utilizes a facility to provide a distributed explain plan. This distributed explain plan provides visibility into how a query was answered by each node in the cluster. For example, one node may have applied the filters of the query in one sequence, while another node may have used a different sequence. Additionally, the distributed query explain plan can provide execution tracing, rendering information about the execution time of each step, total execution time and the like.
32 Citations
20 Claims
-
1. A system for explaining queries in a distributed data grid, said system comprising:
-
one or more microprocessors; a cluster running on the one or more microprocessors, including a plurality of cluster nodes storing data distributed throughout the cluster, each cluster node being capable of executing a structured query language (SQL) query on the data stored on said cluster node; and a client connected to the cluster that submits a request that includes the SQL query, wherein upon receiving the request for the query explain plan, the SQL query is submitted to each node in the cluster and wherein each node in the cluster evaluates a query plan for the SQL query using local data as said each node and returns a set of information regarding how the SQL query is executed at said node; and wherein a query record object is generated that aggregates the information from all nodes in the cluster, wherein the query record object contains information regarding how the SQL query is executed by each node in the cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for explaining queries in a distributed data grid, said method comprising:
-
storing data on a plurality of nodes in a cluster running on one or more microprocessors, each node being capable of executing a structured query language (SQL) query on the data stored on said node; receiving a request containing the SQL query from a client connected to the cluster; submitting the SQL query to each node in the cluster, wherein each node in the cluster evaluates a query plan for the SQL query using local data as said each node and returns a set of information regarding how the SQL query is executed at said node; and generating a query record object that aggregates the information from all nodes in the cluster, wherein the query record object contains information regarding how the SQL query is executed by each node in the cluster. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable storage medium storing one or more sequences of instructions executed by one or more processors to perform a set of steps comprising:
-
storing data on a plurality of nodes in a cluster, each node being capable of executing a structured query language (SQL) query on the data stored on said node; receiving a request containing the SQL query from a client connected to the cluster; submitting the SQL query to each node in the cluster, wherein each node in the cluster evaluates a query plan for the SQL query using local data as said each node and returns a set of information regarding how the SQL query is executed at said node; and generating a query record object that aggregates the information from all nodes in the cluster, wherein the query record object contains information regarding how the SQL query is executed by each node in the cluster. - View Dependent Claims (18, 19, 20)
-
Specification