Bloom Filters for Columnar Database Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data management systems face inefficiencies in storing and retrieving large amounts of data, particularly in columnar databases, due to the high number of access operations required, which can lead to increased complexity and costs, despite advancements like columnar database tables.

Innovation Solution

Implementing bloom filters and height-balanced histograms in columnar databases to reduce the number of data blocks that need to be read during query processing by generating probabilistic data structures that indicate the presence of data values, thereby minimizing unnecessary read operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If columnar database tables are used to reduce access operations, then query efficiency is improved, but the complexity of data management increases

Engineering Contradiction:
Improvequery efficiencyVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing bloom filters and height-balanced histograms for each data block during data loading or maintenance operations. These probabilistic data structures are prepared in advance so that during query processing, the system can quickly filter out irrelevant data blocks without performing complex real-time computations, thus resolving the contradiction between query efficiency and management complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces bloom filters and height-balanced histograms as intermediary data structures that mediate between the query processor and the actual data blocks. These intermediaries provide probabilistic guidance to identify candidate data blocks that may contain the queried values, reducing the need for exhaustive scanning of all data blocks and simplifying the overall query management process

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If more data is stored to meet organizational needs, then information capacity increases, but storage costs and system complexity increase

Engineering Contradiction:
Improvedata storage capacityVSAvoidstorage system complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing bloom filters and height-balanced histograms for each data block during data loading or maintenance operations. These probabilistic data structures are prepared in advance so that during query processing, the system can quickly filter out irrelevant data blocks without performing complex real-time computations, thus resolving the contradiction between query efficiency and management complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces bloom filters and height-balanced histograms as intermediary data structures that mediate between the query processor and the actual data blocks. These intermediaries provide probabilistic guidance to identify candidate data blocks that may contain the queried values, reducing the need for exhaustive scanning of all data blocks and simplifying the overall query management process

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If traditional row-oriented storage is used, then data integrity is maintained, but access operations become inefficient for column-based queries

Engineering Contradiction:
Improvedata integrityVSAvoidaccess operation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the data storage into column-oriented data blocks, where each data block contains values for a specific column. This segmentation allows the system to store and retrieve only the relevant column data needed for queries, dramatically improving access operation efficiency while maintaining data integrity through the structured organization of segmented data blocks

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9367574B2Efficient query processing in columnar databases using bloom filters
Publication Date: 2016.06.14 AMAZON TECH INC
  • US9367574B2 patent drawing
  • US9367574B2 patent drawing
  • US9367574B2 patent drawing

AI summary

A bloom filter is generated for efficient query processing for unsorted data in a column of a columnar database. Bloom filters represented as bitmaps are generated for data blocks storing data for a column of a columnar database table. An indication of a query directed toward the column is received and the bloom filter for each data block is examined to determine which ones of the data blocks do not need to be read in order to service the query for the select data. Data is then read from the data blocks storing data for the column excepting the ones which do not need to be read.