Boomerang Join Network Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional distributed join techniques require significant network bandwidth, leading to processing bottlenecks due to the exchange of large amounts of data during join operations in shared-nothing systems, and existing solutions either affect the number of rows exchanged or increase CPU usage without adequately addressing network bandwidth issues.

Innovation Solution

The boomerang join technique employs late-materialization by using partitioned parallel join tuples, performing local joins on nodes, and shuffling only small join tuples over the network, followed by a boomerang phase where projected columns from the relation with the smaller payload are exchanged, significantly reducing the data transferred.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If early-materialization approach is used to perform distributed join operations, then complete join results can be obtained, but network bandwidth consumption increases significantly

Engineering Contradiction:
Improvejoin result completenessVSAvoidnetwork data exchange volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the join operation into multiple phases: (1) exchange only join keys and row identifiers between nodes, (2) perform local joins to generate join tuples, (3) exchange only projected columns needed for the final result. This segmentation allows each phase to transmit minimal necessary data, reducing overall network bandwidth consumption while ensuring complete join results are obtained.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by first exchanging and sorting join keys before performing the actual join operation. Nodes prepare join tuples with row identifiers in advance, so that when projected columns need to be exchanged, the receiving nodes already have the correct context to assemble complete join results without needing to receive all columns upfront.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If all columns are exchanged over the network for materialized join result, then accurate join results are produced, but processing time increases due to network bottleneck

Engineering Contradiction:
Improvejoin result accuracyVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent extracts and transmits only the essential components needed for accurate join results: join keys, row identifiers, and specifically projected columns. By taking out only what is necessary rather than exchanging all columns, the system maintains join result accuracy while significantly reducing the time spent on network data exchange and assembly operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If data reduction techniques like bloom filters are used, then number of rows exchanged is reduced, but CPU usage increases and network bandwidth is not sufficiently reduced

Engineering Contradiction:
Improvenumber of rows exchangedVSAvoidCPU usage
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The patent employs dynamic materialization strategies where the system adaptively determines which columns to exchange based on query requirements and data characteristics. Rather than using static filters like bloom filters that require significant CPU processing, the system dynamically selects and exchanges only the projected columns needed for the specific join operation, reducing both network bandwidth consumption and CPU usage compared to filter-based approaches.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3688551B1Boomerang join: a network efficient, late-materialized, distributed join technique
Publication Date: 2022.10.26 ORACLE INT CORP
  • EP3688551B1 patent drawingFigure 1
  • EP3688551B1 patent drawingFigure 2
  • EP3688551B1 patent drawingFigure 3A

AI summary

A distributed join processing method that reduces the data exchanged over a network. The join is first evaluaetd using a partitioned parallel join based on join tuples that represent the rows that are to be joined to produce join result tuples that represent matches between rows for the join result. Projected columns from partitions of the tables among the nodes of the system using the record identifiers from the join result tuples are fetched over the network. To further conserve network bandwidth, embodiments perform an additional record-identifier shuffling phase based on the respective sizes of the projected columns from the relations involved in the join operation. Specifically, the result tuples are shuffled such that transmitting projected columns from the join relation with the larger payload is avoided and the system need only exchange, over the network, projected columns from the join relation with the smaller payload.