Adaptive Parallel Join Distribution Method
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


