Storage-Side Filtering for Distributed Hash Joins

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed database systems are costly and complex to deploy and maintain, particularly in 'shared nothing' and 'shared disk' models, due to the need for extensive glue logic and cache coherency management, which can lead to inefficient data transfer and computational resource usage during hash join operations.

Innovation Solution

Implement storage-side filtering at the storage nodes to reduce data transfer by using bloom filters, allowing only filtered data that satisfies the join predicate to be sent to the query engine, thereby reducing communication bandwidth and computational resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed database systems use shared nothing or shared disk models, then data storage capacity and access performance are improved, but system complexity and deployment cost increase due to extensive glue logic and cache coherency management

Engineering Contradiction:
Improvedata access performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the hash join operation from the query engine and moves it to the storage layer. This separation allows the storage layer to independently handle filtering operations using bloom filters, reducing the complexity of glue logic needed for coordinating join operations across distributed nodes while maintaining high data access performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces bloom filters as an intermediary data structure at the storage layer. These filters act as a mediator between the query engine and stored data, enabling efficient pre-filtering of join candidates before data transfer, thus reducing cache coherency management requirements while preserving access performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If hash join operations are performed at the query engine, then join accuracy is ensured, but data transfer volume and network bandwidth consumption increase

Engineering Contradiction:
Improvejoin accuracyVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent performs preliminary filtering of join candidates at the storage layer using bloom filters before data is transferred to the query engine. This preliminary action eliminates non-matching records in advance, ensuring that only potential join candidates are transferred over the network, thus maintaining join accuracy while significantly reducing bandwidth consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial filtering at the storage layer using bloom filters, which provide probabilistic rather than deterministic matching. This partial action reduces data transfer volume by filtering out clearly non-matching records, while the query engine performs complete verification on the reduced dataset, balancing accuracy requirements with bandwidth efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If all data is transferred to the query engine for processing, then complete query accuracy is achieved, but computational resource usage and processing time increase

Engineering Contradiction:
Improvequery accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the query processing workflow into two distinct phases: a filtering phase at the storage layer using bloom filters, and a verification phase at the query engine. This segmentation allows computationally intensive filtering operations to be distributed across storage nodes in parallel, reducing central processing time while maintaining overall query accuracy through subsequent verification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary filtering of join candidates at the storage layer before data reaches the query engine. By pre-processing and eliminating non-matching records at the storage layer, the query engine receives a significantly reduced dataset requiring less computational time for verification, thus reducing total processing time while preserving query accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12443599B1Storage-side filtering for performing hash joins
Publication Date: 2025.10.14 AMAZON TECH INC
  • US12443599B1 patent drawing
  • US12443599B1 patent drawing
  • US12443599B1 patent drawing

AI summary

Storage-side filtering may be implemented for performing hash join operations with respect to data stored in distributed data storage. When a query to a database stored in a distributed data store is received, a hash join operation may be identified for performing the query. As part of performing the hash join operation, a query engine may cause storage nodes in the distributed data storing data for the database to filter data before sending the data to the query engine according to a join predicate for the hash join operation. A result of the query may then be provided to a user, using the filtered data provided from the storage nodes.