Bloom Filter Metadata for Database Scan Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database management systems face inefficiencies in scanning large lists of values due to insufficient metadata granularity, leading to excessive input/output operations and processor resource usage, especially when dealing with encrypted and compressed data.
Innovation Solution
The implementation of a Bloom filter as a probabilistic data structure within metadata to efficiently determine whether elements belong to a set of values, reducing the need for full decompression and decryption by encoding distinct values in a fixed-size bit map, thereby optimizing scans and predicate applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional zone maps with high/low values are used for metadata, then storage space is saved, but the filtering capability is insufficient leading to excessive I/O operations
Solution Approach 1:
The patent transforms the metadata representation from traditional high/low value pairs to Bloom filter bitmaps. This parameter change enables more granular filtering capability while maintaining compact storage. The Bloom filter uses probabilistic matching to determine zone relevance, significantly reducing false negatives compared to traditional range-based filtering.
Solution Approach 2:
The Bloom filter acts as an intermediary layer between the query processor and the actual data zones. Instead of directly scanning zones based on simple high/low values, the system first queries the Bloom filter metadata to probabilistically determine which zones may contain matching data, thereby reducing unnecessary I/O operations to irrelevant zones.
2Productivity
If Bloom filter metadata is added to each zone, then filtering capability improves, but storage requirements increase
Solution Approach 1:
The patent changes the metadata structure from storing actual value ranges to storing compressed Bloom filter bitmaps. Although Bloom filters inherently use more space than simple high/low pairs, the bitmap representation is highly compact and enables efficient probabilistic filtering. The increased metadata size is justified by the substantial reduction in I/O operations and the ability to evaluate predicates without full zone decompression.
3Quantity of substance
If data is compressed and encrypted at page level, then storage efficiency improves, but predicate application becomes expensive requiring full decompression
Solution Approach 1:
The patent performs preliminary filtering using Bloom filter metadata before initiating expensive decompression and decryption operations. By evaluating predicates against the compressed Bloom filter representation, the system can eliminate irrelevant zones upfront, ensuring that full decompression is only performed on zones that have a high probability of containing matching data.
Solution Approach 2:
The patent extracts the filtering capability from the compressed data itself and stores it separately in the Bloom filter metadata. This allows predicate evaluation to be performed on the compact metadata representation rather than requiring extraction and decompression of the full compressed data, thereby reducing processor resource usage.
4Productivity
If indexes are created to improve query efficiency, then search performance improves, but maintenance overhead and storage requirements increase
Solution Approach 1:
The patent uses Bloom filters as a lightweight, disposable metadata structure that requires minimal maintenance compared to traditional indexes. Bloom filters are probabilistic and allow for simple updates without the complex maintenance overhead of B-trees or hash indexes. The structure is designed to be recreated periodically rather than maintained continuously, reducing overall system complexity.
Data Source
AI summary
An illustrative embodiment for optimizing scans using a Bloom filter synopsis, defines metadata to encode distinct values in a range of values associated with a particular portion of a managed object in a database management system into a probabilistic data structure of a Bloom filter that stores an indicator, encoded in a fixed size bit map with one or more bits, indicating whether an element of the particular portion of the managed object is a member of a set of values summarized in the Bloom filter using a value of 1 or definitely not in the set using a value of 0. The Bloom filter is compressed to create a compressed Bloom filter. The Bloom filter is added to the metadata associated with the managed object and used when testing for values associated with predicates.


