Outer Join Predicate Pushdown for MPP Database Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In massively parallel processing systems, the high processing costs of parallel joins become undesirable due to excessive redistribution and duplication of tables during join operations, especially when join predicates do not include the primary index, leading to inefficient performance in relational database management systems.

Innovation Solution

The solution involves pushing down predicates involving only attributes of the left table in left outer joins to the outer relation, partitioning the left table into two sub-relations based on these predicates, and only performing the join with the right table for the sub-relation that satisfies the predicate, thereby reducing the number of rows to be redistributed and joined.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tables are redistributed and duplicated to complete join operations in MPP systems, then join operations can be performed, but processing costs become excessively high

Engineering Contradiction:
Improvejoin operation performanceVSAvoidprocessing cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the left table into two sub-relations based on the outer table predicate: rows satisfying the predicate form the first sub-relation, while rows not satisfying it form the second sub-relation. This segmentation allows the system to avoid redistributing and joining the entire left table, thereby reducing processing costs while maintaining join operation functionality.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all rows of the left table are joined with the right table, then complete join results are obtained, but the number of rows to be redistributed and joined becomes excessively large

Engineering Contradiction:
Improvejoin result completenessVSAvoidnumber of rows to be joined
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary subset of rows from the left table for the join operation. By evaluating the outer table predicate on the left table rows beforehand, the system identifies and extracts only those rows that satisfy the predicate (first sub-relation), excluding rows that would not contribute to the join result. This extraction maintains result completeness while dramatically reducing the quantity of rows requiring redistribution and joining.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If predicates involving only left table attributes are evaluated during the join operation, then accurate join results are produced, but processing efficiency is reduced

Engineering Contradiction:
Improvejoin result accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary evaluation of outer table predicates on the left table rows before the actual join operation. By pushing down the predicate evaluation to occur before redistribution and joining, the system pre-identifies which rows should participate in the join. This preliminary action ensures accurate join results (as all necessary filtering is done correctly) while improving processing efficiency (as unnecessary rows are filtered out before expensive redistribution and join operations).

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8126905B2System, method, and computer-readable medium for optimizing the performance of outer joins
Publication Date: 2012.02.28 TERADATA CORP
  • US8126905B2 patent drawing
  • US8126905B2 patent drawing
  • US8126905B2 patent drawing

AI summary

A system, method, and computer-readable medium for optimizing the performance of outer joins in a parallel processing system are provided. Predicates involving only attributes of a left table of a left outer join are pushed down to the outer relation for left outer joins having join predicates involving left table attributes and/or predicates involving attributes of both the right and left table. In such an instance, the rows of the left table may be partitioned into two sub-relations according to the predicate involving only attributes of the left table. Rows of the left table are allocated to a first sub-relation if the rows satisfy the predicate involving only attributes of the left table and rows of the left table are allocated to a second sub-relation if the rows fail to satisfy the predicate involving only attributes of the left table. Accordingly, only rows of the first sub-relation are required to be left outer joined with the right table. Advantageously, a reduction in the requisite number of rows to be redistributed and joined is facilitated. The disclosed embodiments may be similarly applied for optimization of right outer joins. Further, embodiments for optimizing full outer joins are disclosed.