Bloom Filter Utilization for ETL Join Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Join processes in Extract Transform Load (ETL) are time-consuming due to high I/O operations, which hinder efficiency and throughput in data warehousing.

Innovation Solution

Implementing bloom filters to accelerate join processing by inserting a bloom filter creation stage after the inner data source identification and a bloom filter search stage after the outer data source identification, allowing for reduced I/O resources and optimized join workflows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional join processing is used in ETL, then join operations can be performed between data sources, but the process is time-consuming due to high I/O operations

Engineering Contradiction:
Improvejoin processing speedVSAvoidtime for I/O operations
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The bloom filter is constructed in advance from the inner data source before the join operation begins. This preliminary action allows the system to quickly check whether outer data source records exist in the inner data source without performing full join scans, significantly reducing I/O operations and processing time during the actual join execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A bloom filter is introduced as an intermediary data structure between the inner and outer data sources. This intermediary enables efficient existence checking by providing a probabilistic filter that can quickly eliminate non-matching records, reducing the number of I/O operations required during the join process while maintaining acceptable accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If bloom filter creation and search stages are inserted, then I/O operations are reduced and throughput increases, but the device complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidjoin processing workflow complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The join processing workflow is segmented into distinct stages: inner data source identification, bloom filter creation, outer data source identification, bloom filter search, and join execution. This segmentation allows each stage to be optimized independently and makes the complex process more manageable and controllable, while the bloom filter acts as a bridge between the segmented stages

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10248694B2Bloom filter utilization for join processing
Publication Date: 2019.04.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10248694B2 patent drawing
  • US10248694B2 patent drawing
  • US10248694B2 patent drawing

AI summary

A computer-implemented method includes inserting a bloom filter creation stage after an inner data source identification stage, wherein a join operation is to be performed to join an outer data source with the inner data source. The method inserts a bloom filter search stage after an outer data source identification stage, wherein each row of data from the outer data source is searched against a bloom filter for the inner data source during the bloom filter search stage. The method initializes a read on the inner data source. Subsequent to determining the bloom filter creation stage is complete, the method initializes a read on the outer data source. The method performs the join operation at a join stage.