Trie Tree Array Full Outer Join Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current table joining methods, such as merge join, require sorting records which is time-consuming and can miss uncoupled records when using trie structures, leading to inefficiencies in full outer joins.

Innovation Solution

A table processing apparatus using a trie tree and an array to efficiently identify and output uncoupled records by generating records based on key entries and managing links to leaves, allowing for high-speed comparison and reduced memory reference.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If merge join is used to perform full outer join, then joining capability is achieved, but sorting time is consumed and performance deteriorates

Engineering Contradiction:
Improvefull outer join performanceVSAvoidsorting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces the mechanical sorting process with a trie tree-based key matching system. Instead of sorting records physically and then comparing them sequentially, the system inserts keys into a trie tree structure and traverses it to find matching records, eliminating the need for explicit sorting while achieving the same join functionality.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces a trie tree as an intermediary data structure between the two tables being joined. This intermediary structure organizes keys from one table and enables efficient lookup of matching keys from the other table, serving as a mediator that eliminates the need for direct record-by-record comparison after sorting.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If trie structure is used for key comparison, then comparison speed is improved, but uncoupled records may be missed

Engineering Contradiction:
Improvekey comparison speedVSAvoiduncoupled record identification
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through post-order traversal of the trie tree and array-based link management. After inserting all keys into the trie tree, the system performs a post-order traversal to identify leaves without children (indicating uncoupled records), and uses array links to track and output these records, ensuring none are missed while maintaining high comparison speed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary actions by first inserting all keys from one table into the trie tree structure before processing joins. This preliminary organization of data allows subsequent join operations to proceed rapidly through tree traversal rather than linear comparison, while the array link structure is prepared in advance to capture uncoupled records.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If conventional join methods are used, then join functionality is provided, but CPU load increases and memory references increase

Engineering Contradiction:
Improvejoin processing efficiencyVSAvoidCPU load and memory references
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the join processing into distinct phases: key insertion into trie tree, post-order traversal for uncoupled record identification, and array-based link management. This segmentation allows each phase to be optimized independently, reducing overall CPU load by avoiding redundant operations and minimizing memory references through localized data structures.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2615565B1Full outer join processing apparatus and method
Publication Date: 2019.04.17 FUJITSU LTD
  • EP2615565B1 patent drawingFigure 1
  • EP2615565B1 patent drawingFigure 2
  • EP2615565B1 patent drawingFigure 3

AI summary

When a key of a first record in a first table is entered in a trie tree (1021, 1221) in which keys of a plurality of records in a second table are entered, a computer generates a third record by using the first record and a second record in the second table. The second record includes the key of the first record. A link to a leaf corresponding to the second record is deleted from an array (1022, 1222) which stores links to a plurality of leaves of the trie tree corresponding to the records. When a key of a fourth record in the first table is not entered in the trie tree, a fifth record is generated by using the fourth record. Then, a seventh record is generated by using a sixth record in the second table corresponding to a leaf linked by a link remaining in the array.