Streaming Data Set Intersection Using Bottom-k Sketches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional databases face challenges in performing set operation queries on streaming data due to issues with data freshness, missing records, synchronization, and high storage and processing requirements, making it difficult to efficiently answer set intersection queries, especially when dealing with dynamic numerical thresholds and large datasets.

Innovation Solution

The use of bottom-k sketches to generate and update data structures that allow for efficient estimation of set intersection cardinality, enabling quick and accurate responses to queries by partitioning data into quantiles and maintaining sketches without the need for repeated passes through the entire dataset, thus reducing storage and processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional databases are used to store and query streaming data, then data can be stored and retrieved, but set operation queries face problems with data freshness, missing records, synchronization, and require great storage space and long processing time

Engineering Contradiction:
Improvequery processing speedVSAvoidtime to complete set operation queries
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the streaming data into multiple quantiles (e.g., bottom 25%, next 25%, etc.) and maintains separate bottom-k sketches for each quantile. This segmentation allows the system to process queries on smaller subsets of data rather than the entire dataset, significantly reducing processing time for set operations while maintaining data freshness through continuous updates of individual quantile sketches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary information (bottom-k elements) from the streaming data for each quantile and stores it in compact sketches, rather than storing the complete streaming data. This extraction reduces storage requirements and enables faster query processing by working with the extracted summaries rather than the full datasets.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If traditional databases store streaming data for set operations, then data can be queried, but storage space requirements are great and update operations are slow

Engineering Contradiction:
Improveupdate frequencyVSAvoidstorage space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts only the bottom-k elements from each quantile of streaming data and stores them in compact sketches, rather than storing the complete streaming data. This extraction reduces storage requirements significantly while enabling frequent updates, as only the sketch data needs to be updated rather than the entire dataset.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the storage parameter from storing complete streaming data to storing compressed sketches of bottom-k elements. This parameter change enables the system to maintain constant sketch size regardless of data volume, allowing for frequent updates without proportional increases in storage space or update time.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If numerical thresholds are updated frequently in streaming data, then data freshness is maintained, but processing time and computational resources increase

Engineering Contradiction:
Improvedata freshnessVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the data into quantiles and maintains separate bottom-k sketches for each quantile. When numerical thresholds need to be updated, only the affected quantile sketches need to be regenerated and updated, rather than processing the entire dataset. This segmentation enables frequent threshold updates while maintaining data freshness without proportional increases in processing time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-computes and stores the bottom-k elements for each quantile in advance, so that when queries are executed or thresholds are updated, the system can work with these pre-processed sketches rather than processing raw streaming data from scratch. This preliminary action reduces the computational burden during updates and query execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11609915B2Efficient set operation execution on streaming data using sketches
Publication Date: 2023.03.21 ADOBE INC
  • US11609915B2 patent drawing
  • US11609915B2 patent drawing
  • US11609915B2 patent drawing

AI summary

The present disclosure relates to method for responding to a query requesting an intersection being performed. The method includes receiving a query referencing a first set, a second set, and a desired quantile related to the first set from among a plurality of quantiles; generating a data structure including a bottom-k sketch of user identifiers (ids) of the first set and corresponding numerical values of the first data; partitioning the data structure into a plurality of sketches to correspond to the quantiles, respectively; determining an intersection of one of the sketches associated with the desired quantile and a sketch of the second set; and responding to the query based on the intersection.