Predicate Evaluation Algorithm for Database Join Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face inefficiencies in operations like joining, sorting, and searching due to the need to evaluate all elements of two data sets against a predicate, leading to high computational complexity and inefficiencies, especially with large data sets.

Innovation Solution

A method that partitions each data set into sub-groups, evaluates the probability of predicate satisfaction using boundary elements, and recursively refines sub-groups until base case sub-groups are reached, allowing for parallel processing across multiple computing cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all elements of both data sets are evaluated against the predicate function, then complete accuracy is achieved, but computational complexity becomes prohibitive with large data sets

Engineering Contradiction:
Improvepredicate evaluation accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides data sets into sorted sub-groups and partitions them into blocks, evaluating only boundary elements first to identify promising sub-group pairings. This segmentation reduces the number of elements requiring full predicate evaluation while maintaining accuracy through systematic refinement of candidate pairs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary evaluation of boundary elements before evaluating internal elements. By sorting data and assessing boundary conditions first, the system identifies and eliminates non-promising sub-group pairings early in the process, avoiding unnecessary computational work on elements that cannot satisfy the predicate.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a nested loop join algorithm is used to ensure all element pairs are compared, then completeness of results is guaranteed, but processing time becomes excessive for large data sets

Engineering Contradiction:
Improveresult completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the exhaustive comparison process into hierarchical levels: first comparing boundary elements of sorted sub-groups, then refining to internal elements only for promising pairs. This segmentation maintains result completeness while dramatically reducing processing time by eliminating unnecessary comparisons early in the evaluation hierarchy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary sorting of data sets and preliminary evaluation of boundary elements before conducting full predicate evaluation. This preliminary action establishes an ordered structure that enables efficient identification of candidate pairs, ensuring no valid matches are missed while minimizing the number of expensive full evaluations required.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If data sets are sorted and processed using merge join, then processing efficiency is improved, but the algorithm becomes blocking and cannot be parallelized

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidparallel processing capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the data set into independently sortable sub-groups that can be processed in parallel. Each computing core can sort and evaluate its assigned sub-groups independently, eliminating the blocking nature of traditional merge join while maintaining the efficiency benefits of sorted processing through subsequent pairing of results.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential merge join processing to a multi-dimensional parallel architecture where multiple computing cores independently process different sub-group pairings. This dimensional change from single-threaded to multi-threaded processing maintains sorting efficiency while enabling parallel execution across multiple cores.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Speed

If hash join is used to achieve fast lookup, then processing speed is greatly improved, but the algorithm is constrained by available memory size

Engineering Contradiction:
Improvelookup speedVSAvoidmemory capacity requirement
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the data into sorted sub-groups that can be processed with reduced memory requirements. Instead of loading entire data sets into hash tables, the system processes smaller sorted segments, evaluating boundary elements first and only loading necessary portions into memory, thereby reducing memory capacity requirements while maintaining processing speed.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10963487B2Algorithm to apply a predicate to data sets
Publication Date: 2021.03.30 COMNISCIENT TECH LLC (D B A OPENSIGNAL)
  • US10963487B2 patent drawing
  • US10963487B2 patent drawing
  • US10963487B2 patent drawing

AI summary

The present invention relates to a method and apparatus for analysing a pair of data sets with respect to a predicate, the predicate having a predicate criterion, each data set comprising one or more elements sorted according to the predicate criterion. The invention comprises recursive partitioning of the data sets in a parallel manner across multiple computing cores until a base case is reached. The invention is particularly suited for carrying out join, filter and sort operations on large data sets within database management systems.