Bilateral Bloom Filter for Distributed Join Data Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed databases, conventional join operation optimization methods, such as using a Bloom filter on one side for filtering data on the other side, are inefficient due to single-sided filtering and do not adequately consider data transmission and multi-node concurrency, leading to suboptimal performance.

Innovation Solution

Implementing bilateral Bloom filtering, where both ends create and use Bloom filters to filter data, allowing for improved data reduction and efficient join operations by combining filters and dynamically creating and sending them to enhance filtering performance and concurrency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If single-sided Bloom filtering is used (filtering data on one side only), then the filtering mechanism is simple to implement, but the filtering efficiency is insufficient and unnecessary data transmission occurs

Engineering Contradiction:
Improveimplementation simplicityVSAvoidfiltering efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The single-sided filtering approach is segmented into dual-sided filtering, where both the local node and remote node independently create and apply Bloom filters. This segmentation allows each side to autonomously filter outgoing data, significantly improving overall filtering efficiency while maintaining implementation simplicity through symmetric design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The filtering capabilities of both local and remote nodes are merged into a coordinated dual-sided filtering system. Both nodes generate Bloom filters and apply them to their respective data sets, combining their filtering efforts to maximize data reduction and minimize unnecessary transmissions across the distributed system

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If data is transmitted between distributed nodes for join operations, then join operations can be performed across partitions, but unnecessary data transmission increases network overhead and reduces system performance

Engineering Contradiction:
Improvedistributed join capabilityVSAvoidnetwork overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

Bloom filters are created and applied in advance before actual data transmission occurs. Both local and remote nodes pre-filter their data sets using locally generated Bloom filters, identifying and eliminating non-matching records before they are transmitted across the network, thus reducing network overhead while preserving distributed join capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Bloom filters serve as intermediary structures between distributed data nodes. Instead of directly transmitting and comparing all data records, nodes use Bloom filters as intermediate filtering layers that efficiently pre-screen data, allowing the system to maintain distributed join versatility while minimizing unnecessary data transmission

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If Bloom filters are created and transmitted between nodes, then filtering performance improves, but the complexity of filter management and synchronization increases

Engineering Contradiction:
Improvefiltering performanceVSAvoidfilter management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

While the dual-sided filtering approach introduces additional complexity, the symmetric and independent nature of Bloom filter generation at each node actually simplifies management. Each node autonomously creates and manages its own filters without requiring complex synchronization protocols, as Bloom filters are inherently probabilistic and tolerate slight inconsistencies

Inventive Principle:
Principle #4Asymmetry

Solution Approach 2:

Each distributed node independently generates and manages its own Bloom filters without relying on centralized filter management. The local node creates filters based on its own data characteristics and applies them autonomously, while the remote node does the same, eliminating the need for complex inter-node filter synchronization and reducing overall system complexity

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11188535B2Distributed join operation processing method, apparatus, device, and storage medium
Publication Date: 2021.11.30 BEIJING OCEANBASE TECHNOLOGY CO LTD
  • US11188535B2 patent drawing
  • US11188535B2 patent drawing
  • US11188535B2 patent drawing

AI summary

Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for distributed data processing. One of the methods includes: generating a first Bloom filter based on data of a local device, and sending the first Bloom filter to a remote device; receiving a second Bloom filter from the remote device, wherein the second Bloom filter is generated by the remote device based on data of the remote device; filtering data of the local device by using the first Bloom filter and the second Bloom filter to produce successfully filtered data and unsuccessfully filtered data; and performing a join operation on unsuccessfully filtered data.