Adaptive Parallel Join Distribution Method

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy database systems face performance issues due to inaccurate pre-execution estimates of distribution methods for parallel join operations, leading to poor utilization of execution units and performance penalties, as the selected distribution method may not adapt to actual execution conditions.

Innovation Solution

An adaptive selection method that estimates a statically-calculated system cost during the compile phase, selects an initial distribution method, and switches to a second method based on performance measurements during execution, allowing for dynamic adjustment of distribution strategies to optimize parallel join operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a distribution method is selected a priori during compile phase, then the system can plan execution in advance, but the selected method may not adapt to actual execution conditions leading to poor performance

Engineering Contradiction:
Improveadaptability of distribution methodVSAvoidcomplexity of execution plan
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic adaptation of distribution methods by allowing the execution plan to change from compile phase to runtime. The system monitors actual execution metrics (such as data skew, join selectivity, and resource utilization) and switches to alternative distribution methods if performance deteriorates, transforming a static plan into a dynamic, self-adjusting execution strategy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where execution metrics are collected and fed back to the query optimizer. Based on this feedback, the optimizer can identify performance bottlenecks and switch to different distribution methods, creating a closed-loop optimization system that continuously improves execution efficiency based on actual conditions.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If multiple distribution methods are evaluated during compile phase, then the best method can be selected based on estimates, but estimation errors can lead to significant workload imbalance

Engineering Contradiction:
Improveprecision of performance estimationVSAvoidproductivity of execution units
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary evaluation of multiple distribution methods during the compile phase using available statistics and cost models. This preliminary action identifies candidate methods and prepares execution plans in advance, but the actual selection and adjustment occur at runtime based on real execution data, combining the benefits of early planning with adaptive response.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent dynamically changes execution parameters including distribution methods, parallelism degree, and resource allocation based on actual runtime conditions. When metrics indicate suboptimal performance, the system modifies these parameters to switch to alternative distribution strategies, thereby adapting to actual data characteristics and avoiding fixed, potentially suboptimal plans.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If the optimizer selects a distribution method based on table sizes, then unnecessary distribution costs can be avoided, but actual performance may differ significantly from estimates

Engineering Contradiction:
Improveease of query optimizationVSAvoidreliability of performance prediction
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system enables self-service optimization by allowing the execution engine to automatically monitor its own performance and make adjustments without external intervention. The query optimizer uses actual execution metrics to evaluate distribution method effectiveness and autonomously switches to better-performing methods, making the system self-correcting and adaptable to real conditions.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10019481B2Adaptive selection of a distribution method during execution of parallel join operations
Publication Date: 2018.07.10 ORACLE INT CORP
  • US10019481B2 patent drawing
  • US10019481B2 patent drawing
  • US10019481B2 patent drawing

AI summary

A method, system, and computer program product for high-performance database systems. The method commences by estimating, during a compile phase, a statically-calculated system cost of performing parallel join operations over two relations, then selecting, during the compile phase, a first distribution method to perform the parallel join operations. Instructions (e.g., table partitioning) are communicated to two or more execution units for execution of the parallel join operations, and during execution, various measurements are taken pertaining to the performance of a first portion of the parallel join operations using the selected first distribution method. Then, responsive to the measurements a second distribution method is selected and corresponding instructions are communicated to the two or more execution units. The parallel join operations continue, now using the second distribution method.