Incremental Hash Collision Tables Using Bloom Filters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hash collisions in relational databases require complex data structures and additional processing overhead, reducing the efficiency of hashing operations and increasing storage needs.

Innovation Solution

The implementation of incremental build functionality for hash collision tables using Bloom filters and resolution dictionaries to efficiently manage hash collisions, allowing for probabilistic determination of element presence and reducing processing overhead by incrementally updating data structures without rebuilding from scratch.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex data structures are used to resolve hash collisions, then hash collision resolution capability is improved, but storage overhead and processing overhead increase

Engineering Contradiction:
Improvehash collision resolution capabilityVSAvoiddata structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a Bloom filter as an intermediary data structure between the hash table and collision resolution mechanisms. The Bloom filter probabilistically determines whether elements exist in the hash table before full collision resolution is performed, acting as a mediator that filters out non-colliding elements and reduces the burden on complex collision resolution structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces traditional mechanical collision resolution methods (such as chaining or open addressing with complex probes) with a probabilistic filtering mechanism using Bloom filters. This substitution reduces the mechanical complexity of collision resolution by using bitwise operations and probabilistic membership testing instead of direct structural manipulation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If complex data structures are used to resolve hash collisions, then hash collision resolution capability is improved, but processing overhead increases

Engineering Contradiction:
Improvehash collision resolution capabilityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by using the Bloom filter to perform a preliminary, partial check for element existence before initiating full collision resolution procedures. This partial filtering action eliminates many non-colliding elements early in the process, reducing the overall processing overhead required for complete collision resolution.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The Bloom filter performs preliminary filtering before actual hash collision resolution is needed. By pre-computing and storing bit patterns for elements in the hash table, the system prepares in advance to quickly determine whether new elements are likely to collide, reducing processing overhead during actual operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If incremental build functionality is used for hash collision tables, then processing overhead is reduced, but implementation complexity increases

Engineering Contradiction:
Improveprocessing overheadVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The incremental build mechanism uses preliminary action by pre-computing Bloom filter bit patterns for elements as they are inserted into the hash table. Rather than rebuilding the entire collision table when collisions occur, the system performs preliminary filtering using the Bloom filter, reducing processing overhead while managing implementation complexity through staged updates.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10565205B2Incrementally building hash collision tables
Publication Date: 2020.02.18 SAP SE
  • US10565205B2 patent drawing
  • US10565205B2 patent drawing
  • US10565205B2 patent drawing

AI summary

Disclosed herein are system, method, and computer program product embodiments for incrementally building hash collision tables. In some embodiments, hashes and hash collision tables may be used to improve efficiency of relational operations, such as those used in relational databases. An embodiment operates by determining hash collisions between data entries, then storing newly determined hash values corresponding to collisions in a hash collision table. The storing can be done incrementally, without needing to rebuild hash tables or hash collision tables for all data entries.