Skewed Join Optimization via Queue Modeling and Cost Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Big Data systems face inefficiencies in join operations due to data skew, leading to computational inefficiencies, spills to disk, and potential failures when skewed keys exceed memory limits, with existing approaches requiring trial-and-error for selecting join techniques and partitioning strategies.

Innovation Solution

The use of queuing theory and heuristics to model different join techniques and partitioning strategies, allowing for automatic selection of the join technique and partitioning strategy that minimizes latency or maximizes throughput by estimating the cost of various approaches and selecting the lowest-cost option.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional join operations are used on skewed data, then the join operation can be performed, but computational efficiency deteriorates due to stragglers and spills to disk

Engineering Contradiction:
Improvejoin processing speedVSAvoidjoin operation stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the skewed data into multiple partitions based on key ranges, distributing the processing load across different nodes. This segmentation prevents any single node from becoming a bottleneck (straggler) and ensures that data fits within memory limits, thereby improving both processing speed and operational stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis of the data distribution to identify skewed keys before executing the join operation. Based on this analysis, it pre-determines the optimal join technique and partitioning strategy, selecting the lowest-cost execution plan in advance. This preliminary action prevents runtime inefficiencies and failures by avoiding unsuitable join approaches.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If skewed keys are processed without partitioning, then the join operation is simpler, but performance deteriorates due to spills to disk

Engineering Contradiction:
Improvejoin operation simplicityVSAvoidjoin processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent dynamically adapts the partitioning strategy and join technique based on the characteristics of the skewed data. Rather than using a fixed simple approach, the system adjusts the complexity of partitioning and selects appropriate join methods (e.g., broadcast join, hash join, sort-merge join) to optimize throughput while managing the trade-off with operational complexity.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If trial-and-error approaches are used to select join techniques, then various strategies can be evaluated, but time is wasted due to iterative testing

Engineering Contradiction:
Improvejoin technique selection flexibilityVSAvoidstrategy selection time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of data distribution characteristics and pre-evaluates multiple join techniques and partitioning strategies before execution. By analyzing key skewness, data size, and memory constraints in advance, it determines the optimal execution plan beforehand, eliminating the need for time-consuming trial-and-error testing during actual join operations while maintaining flexibility in strategy selection.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10585889B2Optimizing skewed joins in big data
Publication Date: 2020.03.10 INTEL CORP
  • US10585889B2 patent drawing
  • US10585889B2 patent drawing
  • US10585889B2 patent drawing

AI summary

An apparatus for optimizing a skewed join is described herein. The apparatus includes logic, at least partially including hardware logic, to determine that a dataset for the skewed join comprises a skewed key that does not fit in memory. The apparatus also includes logic to model the skewed join as a queue. The apparatus also includes logic to estimate a cost of the skewed join based on the modeled queue. The apparatus evaluates different join techniques, and partitioning strategies for the skewed join, and chooses the plan with the lowest cost.