Unbiased Space-Saving Sketch for Disaggregated Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data sketches face challenges in efficiently computing sums with arbitrary filter conditions and identifying frequent items in disaggregated data sets, often resulting in inaccurate and resource-intensive solutions.

Innovation Solution

The Unbiased Space-Saving data sketch addresses these challenges by providing unbiased estimates and efficiently processing disaggregated subset sum estimation and frequent item problems, using a method that allocates bins for key values and counter values, and updates them probabilistically to handle arbitrary filter conditions and queries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If sampling methods such as priority sampling are used to answer many questions about the original data, then the ability to answer broad questions is improved, but the space required increases significantly

Engineering Contradiction:
Improveability to answer questionsVSAvoidspace
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The data structure is segmented into multiple levels: buckets that group items, and within each bucket, a list of sampled items. This hierarchical segmentation allows the system to answer queries about different granularities (individual items vs. aggregate statistics) using the same underlying structure, thereby improving versatility without linearly increasing space requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested structure where buckets contain lists of items, and the overall data structure contains multiple buckets. This nesting allows compact representation: frequently occurring items are stored at higher levels (buckets) while less frequent items are stored at lower levels (lists within buckets), achieving space-efficient storage that supports multiple query types.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Quantity of substance

If sketches are designed to answer specific classes of questions with minimal memory, then space efficiency is improved, but the range of answerable questions is restricted

Engineering Contradiction:
ImprovememoryVSAvoidrange of questions
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The data structure serves multiple functions: it can answer frequency queries for individual items, aggregate statistics for groups of items, and support various sampling operations. The same bucket-and-list structure is used for all these operations, making the system universal and multi-functional without requiring separate specialized structures for each query type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The data structure is dynamic in that it adapts its behavior based on the query type. When answering frequency questions, it retrieves from individual item lists; when answering aggregate questions, it combines data from multiple buckets. This dynamic adaptability allows the same structure to efficiently handle a broad range of questions with minimal memory.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If pre-aggregation is performed to compute per unit metrics before applying sketches, then estimation accuracy is improved, but the computational cost increases significantly

Engineering Contradiction:
ImproveaccuracyVSAvoidcomputational efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary sampling during the data ingestion phase, storing sampled items in buckets as they arrive. This preliminary action creates a compressed representation that can be queried later without requiring expensive re-processing of the original data, thus maintaining accuracy while improving computational efficiency for subsequent queries.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of pre-aggregating all data into comprehensive summaries, the system creates sampled copies (buckets) of the data that retain essential statistical properties. These copies are sufficient for answering most queries with acceptable accuracy, avoiding the computational burden of full pre-aggregation while maintaining measurement precision for the sampled population.

Inventive Principle:
Principle #26Copying

4Ease of manufacture

If uniform random sampling is used for disaggregated subset sum estimation, then implementation simplicity is improved, but accuracy on skewed data deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidaccuracy
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The sampling approach uses local quality by treating different data regions differently: hot buckets (with high-frequency items) are sampled with higher probability and given more storage capacity, while cold buckets are sampled less intensively. This local differentiation improves accuracy for skewed data by allocating resources according to local data characteristics rather than applying uniform sampling across all data.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10642810B2Unbiased space-saving data sketches for estimating disaggregated subset sums and estimating frequent items
Publication Date: 2020.05.05 TABLEAU SOFTWARE INC
  • US10642810B2 patent drawing
  • US10642810B2 patent drawing
  • US10642810B2 patent drawing

AI summary

A process creates a data sketch for a data set with many rows. A user selects data fields from the data source. The process allocates storage for N bins, where each bin has storage space for a key value and an associated counter value (which is initialized to zero). The process sequentially accesses the rows from the data source (e.g., as a stream). For each row, the process computes a respective key value using data values for the selected data fields. When the respective key value matches a key value for a respective bin, the process increments the counter value for the respective bin. Otherwise, the process identifies a respective bin with a smallest counter value c. The process increments the counter value of the respective bin, and with probability 1/(1+c), replaces the key value of the respective bin with the respective key value.