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,wherein the cluster operates toreceive, from a client connected to the cluster, a request that includes a SQL query;
submit the SQL query to each node in the cluster and wherein each node in the cluster operates toevaluate a query plan for the SQL query using local data,determine an optimal query plan that is specific to said each node in the cluster, andreturn a set of information regarding how the SQL query is executed at said each node; and
use an aggregator to generate a query record object, wherein the query record object 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.
31 Citations
19 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, wherein the cluster operates to receive, from a client connected to the cluster, a request that includes a SQL query; submit the SQL query to each node in the cluster and wherein each node in the cluster operates to evaluate a query plan for the SQL query using local data, determine an optimal query plan that is specific to said each node in the cluster, and return a set of information regarding how the SQL query is executed at said each node; and use an aggregator to generate a query record object, wherein the query record object 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, 10, 11)
-
-
12. A method for explaining queries in a distributed data grid, said method 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 operates to evaluate a query plan for the SQL query using local data, determine an optimal query plan that is specific to said each node in the cluster, and return a set of information regarding how the SQL query is executed at said each node; and using an aggregator to generate a query record object, wherein the 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 (13, 14, 15, 16, 17, 18)
-
-
19. 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 operates to evaluate a query plan for the SQL query using local data, determine an optimal query plan that is specific to said each node in the cluster, and return a set of information regarding how the SQL query is executed at said each node; and using an aggregator to generate a query record object, wherein the 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.
-
Specification