Probabilistic Cardinality Estimation for Join Path Discovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data warehouse and OLAP systems face challenges in automatically identifying analytically useful relationships between data columns, especially those not explicitly defined, which can hinder the generation of effective analytical queries.

Innovation Solution

The use of probabilistic data structures, such as hyperloglog, loglog, and bloom filter techniques, to estimate field coincidence between columns by forming probabilistic counting structures and calculating cardinality, allowing for the identification of join paths and relationships based on estimated field coincidence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated query generation uses explicitly defined schema information only, then query generation is straightforward, but analytically useful relationships are missed

Engineering Contradiction:
Improveautomated query generation capabilityVSAvoidanalytically useful relationships
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system performs self-service by automatically discovering join relationships between columns through probabilistic cardinality estimation, without requiring explicit user input or pre-defined schema information. The algorithm independently analyzes column data to identify potential join paths, enabling the system to find relationships that would otherwise be unknown to the user.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces probabilistic counting structures (hyperloglog, loglog, bloom filters) as intermediaries to estimate cardinality and detect field coincidence between columns. These probabilistic data structures serve as mediators that enable relationship discovery without requiring complete schema information or user expertise, bridging the gap between available data and analytical insights.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If traditional cardinality estimation methods are used to identify join paths, then relationship detection is possible, but memory consumption is excessive

Engineering Contradiction:
Improvefield coincidence estimation accuracyVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the parameter of cardinality estimation from exact counting to probabilistic approximation. By accepting a controlled level of estimation error in exchange for dramatically reduced memory usage, the system can process large datasets that would be impossible to analyze with traditional exact counting methods. The probabilistic nature allows memory-efficient representation of column data.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system uses disposable probabilistic data structures that can be created and discarded efficiently. These temporary structures (hyperloglog, bloom filters) are built in memory for estimation purposes and then discarded, avoiding the need to store complete column data permanently. This approach enables memory-efficient relationship discovery by using cheap, temporary computational artifacts.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Measurement precision

If user supplies detailed data structure information, then analytical query generation is accurate, but the process is time-consuming and complex

Engineering Contradiction:
Improvequery generation accuracyVSAvoidinformation provision time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system eliminates the need for user-provided schema information by performing self-service relationship discovery. The probabilistic cardinality estimation algorithm automatically analyzes column data to identify join paths, replacing the manual information-gathering process with automated discovery that requires no user input while maintaining relationship detection accuracy.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary probabilistic cardinality estimation on column data to pre-identify potential join relationships before query generation. This preliminary action of estimating field coincidence allows the system to prepare relationship information in advance, eliminating the need for users to manually provide detailed structural information during the query generation process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10831759B2Efficient determination of join paths via cardinality estimation
Publication Date: 2020.11.10 AMAZON TECH INC
  • US10831759B2 patent drawing
  • US10831759B2 patent drawing
  • US10831759B2 patent drawing

AI summary

A probabilistic counting structure such as a hyperloglog may be formed during a table scan for each of a selected set of columns. The columns may be selected based on an initial estimate of relatedness, which may be based on data types of the respective columns. An estimated cardinality of an intersection or union of columns may be formed based on an intersection of the probabilistic data structures. A join path may be determined based on the estimated cardinality of an intersection or union of the columns.