Join Tuple Assembly via Partial Specializations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for join query evaluation, particularly in commercial computation, face high costs in terms of memory consumption and processing time due to the complexity of join operations and the inefficiencies in semi-join reduction techniques, especially when dealing with large datasets and non-trivial join conditions.

Innovation Solution

The proposed method employs a join tuple assembly algorithm by partial specializations, which divides the WHERE clause into join and non-join parts, constructs a materialization graph, and uses matching sets to optimize the assembly of join tuples, reducing redundant computations and improving efficiency by leveraging the topology of the join graph.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional semi-join reduction techniques are used for join query evaluation, then join operations can be performed, but memory consumption and processing time become excessively high

Engineering Contradiction:
Improvejoin query evaluation efficiencyVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the join query evaluation process into distinct phases: semi-join reduction phase and join tuple assembly phase. The materialization graph is constructed to represent dependencies among relations, allowing the system to process joins in an optimized sequence that reduces intermediate result sizes and minimizes memory consumption during evaluation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs semi-join reductions as a preliminary action before executing the full join operation. By pre-filtering relations R1, R2, ..., Rn using semi-join operations based on the materialization graph, the system reduces the size of input relations to the join phase, thereby decreasing memory consumption and processing time for the subsequent join tuple assembly.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If traditional semi-join reduction techniques are used for join query evaluation, then join operations can be performed, but processing time becomes excessively high

Engineering Contradiction:
Improvejoin query evaluation efficiencyVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces dynamic optimization by computing matchings sets M(r1, ..., rt) that adapt to the specific tuple being assembled. The algorithm dynamically determines which relations need to be scanned based on the current state of tuple assembly and the materialization graph, avoiding unnecessary I/O operations and reducing processing time compared to static join evaluation methods.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The materialization graph serves as an intermediary structure that mediates between the join query specification and the execution plan. It captures the topological dependencies among relations and uses this information to optimize the evaluation order, reducing processing time by avoiding redundant computations and I/O operations during join tuple assembly.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If conventional join evaluation methods are used, then complete join results can be obtained, but redundant computations and iterations increase processing overhead

Engineering Contradiction:
Improvejoin result correctnessVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms through the materialization graph that track which tuples have been assembled and which relations have been scanned. The matchings sets M(r1, ..., rt) provide feedback about the current assembly state, allowing the algorithm to avoid redundant computations and ensure that each join tuple is generated exactly once, thereby reducing computational overhead while maintaining result correctness.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP2388716B1Join tuple assembly by partial specializations
Publication Date: 2020.04.08 SAP SE
  • EP2388716B1 patent drawingFigure 1
  • EP2388716B1 patent drawingFigure 2~3
  • EP2388716B1 patent drawingFigure 4

AI summary

Various embodiments of systems and methods for join tuple assembly by partial specializations are described herein. The join tuple assembly by partial specializations is a phase of the method for join query evaluation by semi-join reduction. By using partial specializations of the non-join part of the WHERE clause of a join query and matching sets, the join tuple assembly is organized in a manner that all computations are necessary, none are repeated, and failure to complete a partial join tuple to a full tuple is detected as early as possible. The method can be applied to inner and outer joins, and to arbitrary join graphs and non-join conditions in the WHERE clause. It can also be used outside the context of semi-join reductions.