Bushy Join Optimization for Database Query Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database query processing methods face inefficiencies in executing queries with multiple large fact tables, as they require evaluating numerous permutations of bushy join trees, which is computationally costly and time-consuming, especially when the relative sizes of tables are not considered.

Innovation Solution

The method involves analyzing queries to identify satellite and seed tables, forming candidate bushy tree operation plans with sub-joins of seed and satellite tables, and selecting the least costly operation plan to reduce processing time and data transfer costs, independent of table sizes and query types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional methods evaluate all permutations of bushy join trees, then complete optimization is achieved, but computational cost and execution time increase significantly

Engineering Contradiction:
Improvequery optimization completenessVSAvoidquery execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the evaluation process by dividing all possible bushy join tree permutations into multiple batches, where each batch contains a subset of permutations. This allows the system to evaluate permutations in manageable groups rather than all at once, reducing memory pressure and enabling early termination when optimal plans are found.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing join orderings using dynamic programming to determine optimal linear join sequences. These pre-computed orderings serve as templates that guide the subsequent evaluation of bushy join trees, reducing the search space and focusing computational effort on promising candidates.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all bushy join tree combinations are evaluated, then optimal query plan is guaranteed, but system resources and processing overhead increase

Engineering Contradiction:
Improveoptimal plan guaranteeVSAvoidevaluation process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies partial action by evaluating only a selected portion of all possible bushy join tree permutations rather than exhaustively evaluating every combination. The system uses heuristics and cost estimates to identify and evaluate the most promising permutations, achieving good optimization results without the full computational burden of complete enumeration.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes parameters by dynamically adjusting evaluation thresholds, batch sizes, and cost function weights based on query characteristics and system state. This allows the optimization process to adapt to different scenarios, balancing thoroughness with resource constraints by modifying evaluation parameters rather than following a fixed exhaustive approach.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If bushy joins are used for snowstorm queries, then query performance improves, but the method does not generalize to other query types

Engineering Contradiction:
Improvesnowstorm query performanceVSAvoidquery type applicability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal bushy join evaluation framework that can handle multiple query types beyond snowstorm queries. The system uses generic cost estimation functions and permutation generation mechanisms that work with various join scenarios, making the optimization approach applicable to different query patterns while maintaining the performance benefits for snowstorm queries.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10664476B2Bushy joins to improve computer efficiency executing queries
Publication Date: 2020.05.26 SINGLESTORE INC
  • US10664476B2 patent drawing
  • US10664476B2 patent drawing
  • US10664476B2 patent drawing

AI summary

A received query is analyzed to provide a set of potential bushy tree operation plans that include the creation of one or more “sub-joins” that provide intermediate resultant “sub-tables”, and using these sub-tables as operands in the other predicates of the query. The received query is analyzed to identify “satellite” tables and “seed” tables. A satellite table is a table of the database that is filtered by a selective predicate, and is connected to only one other table in the database via at least one linking predicate, and a seed table is a table of the database that is connected to a satellite table and at least one other table. Multiple candidate operation plans are formulated as bushy trees that include a sub-join of each seed table and its connected satellite table. A least cost operation plan is selected for execution from among these candidate operation plans and the conventional least cost linear operation plan based on the costs associated with each operation plan.