Hash-Join Broadcast Decisions Under Memory Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in efficiently managing join operations, particularly in determining whether to use broadcast or hash-hash joins, leading to potential memory overflow errors and suboptimal performance in large join trees.

Innovation Solution

A join processing manager (JPM) is introduced to make holistic decisions on hash-join broadcast strategies by considering global memory consumption and pipeline-wide variables, incorporating a broadcast decision operator to handle decision logic and identify join clusters, thus optimizing join operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If broadcast join strategy is used, then join operation speed is improved, but memory consumption increases leading to potential memory overflow errors

Engineering Contradiction:
Improvejoin operation speedVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically selects between broadcast join and hash-hash join strategies based on runtime conditions. The join processing manager evaluates pipeline-wide variables and global memory consumption to adaptively choose the optimal join strategy, allowing the system to switch from static to dynamic decision-making for join operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the join strategy parameter based on memory conditions. When global memory consumption is below a threshold, broadcast join is selected for faster performance; when memory consumption is high, hash-hash join is selected to prevent memory overflow. This parameter change resolves the contradiction between speed and memory usage.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If hash-hash join strategy is used, then memory consumption is reduced, but join operation efficiency decreases

Engineering Contradiction:
Improvememory consumptionVSAvoidjoin operation efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system dynamically adjusts the join strategy based on memory conditions. Instead of always using hash-hash join for memory safety, the system evaluates global memory consumption and switches to broadcast join when memory is sufficient, thereby maintaining efficiency while managing memory consumption dynamically.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If individual join decisions are made without holistic consideration, then decision complexity is reduced, but suboptimal performance occurs in large join trees

Engineering Contradiction:
Improvedecision logic complexityVSAvoidjoin operation performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The join processing manager serves multiple functions: it tracks global memory consumption, evaluates pipeline-wide variables, identifies join clusters, and selects join strategies. This multi-functional approach consolidates decision-making logic into a single manager that optimizes performance across the entire query plan rather than making isolated decisions for each join.

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

Solution Approach 2:

The system implements feedback mechanisms where the join processing manager continuously monitors global memory consumption and pipeline-wide variables, using this feedback to make informed join strategy decisions. The manager adjusts decisions based on the current state of the system, ensuring optimal performance in large join trees.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250378076A1HASH-join broadcast decision making in database systems
Publication Date: 2025.12.11 SNOWFLAKE INC
  • US20250378076A1 patent drawing
  • US20250378076A1 patent drawing
  • US20250378076A1 patent drawing

AI summary

A system includes at least one hardware processor and memory storing instructions. The processor generates a query plan for a received query. The query plan includes multiple hash-join-build and hash-join-probe operations. A primary decision node is configured in the query plan. The primary decision node receives build-side data information from the hash-join-build operations. For each hash-join-build operation, a memory amount for performing a broadcast is determined. A subset of hash-join-build operations is selected for broadcast join distribution by comparing the memory amount to a broadcast memory threshold. The system selects a broadcast join distribution for the subset and a hash-hash join distribution for the remaining hash-join-build operations. The query plan is executed using the broadcast join distribution for the selected subset and the hash-hash join distribution for the remaining operations. This approach optimizes memory usage and join distribution during query execution.