Distributed Query Processing Using Configuration-Independent Plans

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed query processing systems are limited in scalability and flexibility due to their reliance on static hardware configurations and data location-dependent query plans, which require recompilation when node changes occur, leading to inefficiencies and high costs.

Innovation Solution

A system and method for distributed query processing that compiles and optimizes query plans independently of hardware configuration and data location, allowing query plans to be executed across multiple nodes without recompilation, using remote sub-query operators to determine node instantiation at runtime based on metadata.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If query plans are compiled dependent on hardware configuration and data location, then query execution efficiency is improved, but system scalability and flexibility deteriorate

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidsystem scalability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The query plan is divided into multiple segments that can be independently executed on different nodes. Each segment is self-contained and can be distributed to appropriate nodes based on runtime conditions, allowing the system to scale without recompiling the entire query plan.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from static query plans compiled at a fixed point in time to dynamic query plan compilation that occurs at multiple points in the system's lifecycle. Query plans are compiled when nodes are added, when data is loaded, and when queries are executed, allowing the system to adapt to changing hardware configurations and data locations while maintaining execution efficiency.

Inventive Principle:
Principle #15Dynamics

2Manufacturing precision

If query plans are recompiled when nodes change, then query execution accuracy is improved, but system flexibility and operational continuity deteriorate

Engineering Contradiction:
Improvequery execution accuracyVSAvoidsystem flexibility
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The system performs preliminary compilation of query plans when nodes are added to the cluster and when data is loaded into the system. This advance preparation ensures that query plans are optimized for the current hardware configuration and data location, while avoiding the need for recompilation during normal operations even when nodes fail or are replaced.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and maintains copies of query plans at multiple compilation points (node addition, data load, query execution). These cached query plans can be reused across multiple executions and node configurations, reducing the frequency of recompilation while maintaining execution accuracy through selective validation.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If distributed query processing supports large numbers of nodes, then system capacity is improved, but query plan management complexity increases

Engineering Contradiction:
Improvenumber of nodesVSAvoidquery plan management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The query processor is designed with universal compilation capabilities that function identically regardless of the number of nodes in the system. The same compilation logic handles both small and large clusters, and the segmented query plan approach allows the system to manage hundreds or thousands of nodes without increasing management complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7984043B1System and method for distributed query processing using configuration-independent query plans
Publication Date: 2011.07.19 AMAZON TECH INC
  • US7984043B1 patent drawing
  • US7984043B1 patent drawing
  • US7984043B1 patent drawing

AI summary

A system and method for distributed query processing may compile and optimize query plans for incoming query requests independent of hardware configurations and/or physical locations of data partitions in a distributed storage system (e.g., a data grid). The query plan may be divided into segments, and each segment may be instantiated on a remote query processing node of the distributed system by a query coordinator node according to metadata accessed at runtime by remote sub-query operators in the query plan. The metadata may include an indication of the physical locations of data partitions in the system and may be stored on one or more of the query processing nodes. The remote query processing nodes may execute the query plan segments and return results to the requestor. Cached query plans may be re-executed without recompilation, according to current metadata, even in the event of a node failure or data partition move.