Outer Join Optimization via Small Table Duplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel database management systems face inefficiencies in optimizing outer joins, particularly due to the assumption that inner join optimization techniques can be applied directly to outer joins, leading to suboptimal performance in large data warehouses.

Innovation Solution

The Duplication and Efficient Redistribution (DER) technique, which involves duplicating a small table across multiple parallel units, identifying and redistributing dangling rows, forming a result by unioning inner joins and padded nulls, and saving the final result, to efficiently perform outer joins without redistributing the large table or intermediate join results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If inner join optimization techniques are applied to outer joins in parallel DBMS, then the implementation is simpler, but the performance is suboptimal for large data warehouses

Engineering Contradiction:
Improveimplementation simplicityVSAvoidouter join performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments the outer join operation into distinct phases: duplication of the small table across all PUs, identification of dangling rows, redistribution of dangling rows to matching PUs, and final result assembly. This segmentation allows each phase to be optimized independently, resolving the contradiction between implementation simplicity and performance by providing a structured approach that is both manageable and efficient.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by duplicating the small table S across all PUs before the actual join operation. This preliminary duplication eliminates the need for complex data redistribution during the join process, as each PU already has access to the necessary data from S. This preliminary action significantly improves performance while maintaining implementation clarity.

Inventive Principle:
Principle #10Preliminary action

2Power

If data is distributed across multiple parallel units, then processing capacity increases, but coordination overhead and communication costs increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidcoordination overhead
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The patent extracts the coordination overhead by isolating the communication-intensive operations. Specifically, only the dangling rows (a small subset of data) are redistributed across PUs, rather than redistributing entire tables or intermediate results. This extraction minimizes network communication and coordination overhead while maintaining the parallel processing capacity benefits.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by duplicating only the small table S across all PUs, rather than duplicating or redistributing the large table L or intermediate join results. This partial duplication provides sufficient data for the join operation at each PU without the excessive communication cost of full data distribution, thus maintaining processing capacity while reducing coordination overhead.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the small table is duplicated across all parallel units, then join operations can be performed in parallel, but memory and storage requirements increase

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidmemory and storage requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent uses partial action by duplicating only the small table S across all PUs, which is necessary for parallel join processing. The large table L remains distributed only where needed, and intermediate results are not fully redistributed. This approach achieves parallel processing efficiency while minimizing the quantity of data stored in memory and on disk, as each PU stores only the duplicated small table and its local portion of the large table.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8600994B1Performing an outer join between a small table and a large table
Publication Date: 2013.12.03 TERADATA US INC
  • US8600994B1 patent drawing
  • US8600994B1 patent drawing
  • US8600994B1 patent drawing

AI summary

A small table S is outer joined to a large table L on a join condition on a database system with a plurality B of parallel units (PUs). S and L are partitioned across the PUs. Each row in S has a unique row-id. Each row of S is duplicated on all PUs to form Sdup. On each PU, dangling rows in S that do not have a match in L under the join condition are identified and the row-ids of the dangling rows are saved in Tredis. Tredis is partitioned across the PUs. P is formed from dangling rows of S whose corresponding entries in Tredis appear in all PUs. A result is produced by unioning P and I. I is formed by inner joining non-dangling rows of S with L. The result is saved.