Bloom Filter Cost Estimation for Multi-Level Join Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional query optimizers face inaccuracies in cost estimation for Bloom filter usage in multi-level join operations, leading to suboptimal performance and accuracy, especially when dealing with large tables.

Innovation Solution

A Bloom filter cost estimation engine simulates semi-join operations at each level of the execution plan, independent of lower-level estimation errors, to accurately calculate cost savings and integrate the Bloom filter effectively, avoiding error accumulation and amplification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a bottom-up approach is used to estimate Bloom filter cost, then the estimation process is simple and systematic, but the accuracy deteriorates due to error accumulation and amplification across multiple join levels

Engineering Contradiction:
Improveease of cost estimationVSAvoidcost estimation accuracy
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The patent inverts the conventional bottom-up estimation approach by implementing a top-down method. Instead of estimating costs from individual scan operators upward through join levels, the system first estimates the total cost at the root join operator level and then allocates it downward. This inversion prevents error accumulation because each level's estimation is independent rather than dependent on potentially erroneous lower-level estimates.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent segments the cost estimation process into independent per-join-operator estimations rather than a continuous bottom-up propagation. Each join operator's Bloom filter cost is estimated separately based on its own statistics, breaking the error propagation chain that exists in traditional bottom-up approaches where errors accumulate across hierarchical levels.

Inventive Principle:
Principle #1Segmentation

2Productivity

If Bloom filter is integrated into query execution, then the performance improves by reducing scan result cardinality, but the complexity of cost estimation increases

Engineering Contradiction:
Improvejoin operation performanceVSAvoidcost estimation model complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having each join operator independently estimate its own Bloom filter cost using its local statistics and the formula involving selectivity, false positive rate, and row count. This eliminates the need for complex inter-level error propagation calculations and makes the estimation system more manageable while still capturing the performance benefits of Bloom filters.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If conventional bottom-up cost estimation is used, then the system is easy to implement, but the reliability of query optimization deteriorates due to amplified estimation errors

Engineering Contradiction:
Improveimplementation simplicityVSAvoidquery optimization reliability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent inverts the estimation direction from bottom-up to top-down, where the root join operator's cost is estimated first and then used to inform child operators. This inversion fundamentally improves reliability by preventing error amplification, as each operator's estimation stands independently rather than being multiplied through hierarchical levels as in bottom-up approaches.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS9454574B2Bloom filter costing estimation
Publication Date: 2016.09.27 SYBASE INC
  • US9454574B2 patent drawing
  • US9454574B2 patent drawing
  • US9454574B2 patent drawing

AI summary

Bloom filter cost estimation engine for improved performance and accuracy is described. An example method includes building an execution plan for a join operation having a plurality of levels, where the execution plan includes a top join operator at a top level, a leaf scan operator on a bottom level, and one or more intermediate operators between the top level and the bottom level. A row reduction effect of applying a Bloom filter is determined by simulating a semi-join operation over table statistic representation at each of the plurality of levels of the execution plan. A cost savings of the join operation is calculated based on the row reduction effect at the each of the plurality of the levels.