Incremental Bloom Filter Rebuild for B+ Trees Under MVCC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems using B+ trees with multi-version concurrency control, the reliability of Bloom filters decreases over time due to additions and removals of elements, leading to inefficient search operations and storage waste, as existing solutions do not effectively manage Bloom filter rebuilds to maintain accuracy and reclaim unused resources.

Innovation Solution

A method is introduced to determine if a Bloom filter associated with a search tree should be rebuilt based on statistics, such as object counts and estimated accuracy, during the tracing garbage collection process, generating a new Bloom filter with updated capacity and replacing the old one to maintain search efficiency and reclaim unused storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If Bloom filter is used to reduce search cost in large B+ trees, then search efficiency is improved, but reliability decreases over time due to element additions and removals

Engineering Contradiction:
Improvesearch efficiencyVSAvoidBloom filter accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system proactively rebuilds Bloom filters before their accuracy degrades below acceptable thresholds. By monitoring element count statistics and predicting when reliability will deteriorate, the system performs preliminary rebuilding actions during garbage collection cycles, preventing accuracy degradation rather than reacting after the fact.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors Bloom filter statistics (element counts, capacity utilization) and uses this feedback to dynamically determine when rebuilding is necessary. This closed-loop feedback mechanism adjusts rebuilding frequency based on actual filter degradation patterns, maintaining optimal reliability while avoiding unnecessary rebuilds.

Inventive Principle:
Principle #23Feedback

2Reliability

If Bloom filter rebuild is performed frequently to maintain accuracy, then reliability is improved, but storage operations and processing overhead increase

Engineering Contradiction:
ImproveBloom filter accuracyVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges the Bloom filter rebuilding operation with the existing garbage collection process. By combining these two tasks that both require traversing the B+ tree, the system achieves dual benefits: reclaiming unused storage space and rebuilding Bloom filters with updated element sets, thereby reducing overall processing overhead and avoiding redundant tree traversals.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system uses its own garbage collection infrastructure and tree traversal capabilities to service the Bloom filter rebuilding need. Rather than implementing a separate dedicated rebuilding mechanism, the system leverages existing self-service garbage collection processes to simultaneously maintain both storage efficiency and Bloom filter accuracy.

Inventive Principle:
Principle #25Self-service

3Reliability

If Bloom filter capacity is increased to maintain accuracy with more elements, then reliability is improved, but storage space consumption increases

Engineering Contradiction:
ImproveBloom filter accuracyVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts Bloom filter capacity based on the actual number of elements in the B+ tree. Rather than allocating fixed or excessive capacity, the filter size adapts to current storage utilization patterns, ensuring sufficient accuracy while minimizing storage space consumption. This dynamic sizing is recalibrated during each rebuild cycle based on updated element counts.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10795872B2Incremental bloom filter rebuild for B+ trees under multi-version concurrency control
Publication Date: 2020.10.06 EMC IP HLDG CO LLC
  • US10795872B2 patent drawing
  • US10795872B2 patent drawing
  • US10795872B2 patent drawing

AI summary

A method comprising: processing an update to a search tree and updating statistics, the search tree storing information about one or more objects indexed by corresponding object keys; determining to rebuild a first Bloom filter based on the statistics, the first Bloom filter associated with the search tree; generating a second Bloom filter associated with the search tree; populating the second Bloom filter as part of a tracing garbage collection process; and replacing the first Bloom filter with the second Bloom filter.