Distributed Query Explain Plan for Bottleneck Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed data systems, determining a single optimal query plan across multiple nodes is challenging due to varying data distribution, leading to inefficiencies and bottlenecks in query execution.

Innovation Solution

A distributed query explain plan is implemented to provide visibility into how queries are executed across each node, allowing for the aggregation and comparison of query plans, execution tracing, and identification of bottlenecks, enabling developers to optimize query performance by creating indexes based on the analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single optimal query plan is determined for the distributed system, then query execution efficiency is improved, but it becomes difficult to account for varying data distribution across different nodes

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidadaptability to varying data distribution
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the query execution analysis by providing separate query plans for each node in the distributed system. Each node's query plan is generated independently based on its local data distribution, allowing the system to account for varying data characteristics across nodes while maintaining overall query optimization

Inventive Principle:
Principle #1Segmentation

2Productivity

If query plans are optimized for each individual node, then local query performance is improved, but visibility into overall system execution and bottleneck detection becomes difficult

Engineering Contradiction:
Improvelocal query performanceVSAvoidvisibility into system execution
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent merges individual node query plans into a unified distributed query plan that provides comprehensive visibility into system-wide execution. The unified plan aggregates information from all nodes, enabling bottleneck detection and performance analysis across the entire distributed system while preserving node-specific optimization details

Inventive Principle:
Principle #5Merging (Combining)

3Difficulty of detecting and measuring

If detailed execution tracing is provided for each node, then bottleneck detection capability is improved, but system complexity and overhead increase

Engineering Contradiction:
Improvebottleneck detection capabilityVSAvoidsystem complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer that collects, processes, and aggregates execution tracing data from individual nodes. This intermediary mechanism enables comprehensive bottleneck detection without requiring each node to implement complex tracing infrastructure, thereby reducing overall system complexity while maintaining detailed observability

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8868546B2Query explain plan in a distributed data management system
Publication Date: 2014.10.21 ORACLE INT CORP
  • US8868546B2 patent drawing
  • US8868546B2 patent drawing
  • US8868546B2 patent drawing

AI summary

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.