Counting Bloom Filter Duplicate Removal for Aggregate Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face inefficiencies in processing Multiple Distinct Aggregate (MDA) type queries due to the need for replicating data streams and extensive duplicate elimination processes, which consume significant resources in terms of CPU, I/O, and memory usage.

Innovation Solution

The implementation of Counting Bloom Filters and a DISTINCT HASH operator to identify and remove duplicates within the data stream during the 'group by' operation, allowing for early duplicate removal and minimizing the need for replicating the input data stream, thereby reducing processing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data stream replication is performed to handle multiple distinct aggregate queries, then query processing capability is improved, but CPU usage, I/O usage, and memory usage increase significantly

Engineering Contradiction:
Improvequery processing capabilityVSAvoidCPU usage
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent combines multiple distinct aggregate operations into a single unified processing path by using a hash operator that can handle multiple distinct columns simultaneously. Instead of replicating the data stream for each distinct aggregate operation, the system merges them into one stream and processes all distinct aggregates in parallel within the same execution plan, thereby reducing CPU usage while maintaining query processing capability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent segments the distinct aggregate operations by column, allowing each distinct column to be processed independently through the hash operator. This segmentation enables the system to avoid full data stream replication while still handling multiple distinct aggregates efficiently, as each column's distinct values can be computed separately from the unified data stream.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data stream replication is performed to handle multiple distinct aggregate queries, then query processing capability is improved, but I/O usage increases significantly

Engineering Contradiction:
Improvequery processing capabilityVSAvoidI/O usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges multiple distinct aggregate operations into a single I/O path by processing all distinct columns from one unified data stream. This eliminates the need for separate I/O operations for each distinct aggregate, thereby reducing I/O usage while maintaining the ability to process multiple distinct aggregates simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If data stream replication is performed to handle multiple distinct aggregate queries, then query processing capability is improved, but memory usage increases significantly

Engineering Contradiction:
Improvequery processing capabilityVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges multiple distinct aggregate operations into a single memory structure by using a shared hash operator that processes all distinct columns from one data stream. This eliminates the need for separate memory allocations for each distinct aggregate operation, thereby reducing memory usage while maintaining query processing capability.

Inventive Principle:
Principle #5Merging (Combining)

4Measurement precision

If extensive duplicate elimination processes are performed on replicated data streams, then distinct aggregate accuracy is improved, but computational time increases

Engineering Contradiction:
Improvedistinct aggregate accuracyVSAvoidcomputational time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary duplicate elimination by using a hash operator to compute distinct values for each column before the final aggregation step. This preliminary action ensures that duplicates are removed early in the processing pipeline, maintaining distinct aggregate accuracy while reducing the computational time required for subsequent aggregation operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the duplicate elimination process by column, allowing the hash operator to process each distinct column independently and in parallel. This segmentation maintains accuracy for each distinct aggregate while reducing overall computational time through parallel processing of multiple columns simultaneously.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8005868B2System and method for multiple distinct aggregate queries
Publication Date: 2011.08.23 DOMO
  • US8005868B2 patent drawing
  • US8005868B2 patent drawing
  • US8005868B2 patent drawing

AI summary

There is disclosed a system and method for executing multiple distinct aggregate queries. In an embodiment, the method comprises: providing at least one Counting Bloom Filter for each distinct column of an input data stream; reviewing count values in the at least one Counting Bloom Filter for the existence of duplicates in each distinct column; and if necessary, using a distinct hash operator to remove duplicates from each distinct column of the input data stream, thereby removing the need for replicating the input data stream and minimizing distinct hash operator processing. Also, the use of Counting Bloom Filters for monitoring data streams allow an early duplicate removal of the input stream of data, resulting in savings in computation time and memory resources.