Hashed Memory-Bank Storage for Rapid Database Joins

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems perform join functions and supply aggregation statistics in a suboptimal fashion.

Innovation Solution

Data from two or more columns of the build side of the database table are stored across multiple memory banks, allowing parallel access and processing through engines like Field Programmable Gate Arrays or Application Specific Integrated Circuits, with key columns hashed to assign rows to memory banks and compute aggregation statistics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is stored in traditional sequential memory structures, then data storage is simple, but database join functions and aggregation statistics computation are slow

Engineering Contradiction:
Improvedatabase join function speedVSAvoiddata storage structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the build side table data into multiple independent memory banks, with each bank storing a portion of the hashed key data. This segmentation enables parallel access by multiple engines simultaneously, dramatically improving database join function speed while managing complexity through structured organization of the segmented data across banks.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data is accessed sequentially from a single memory location, then memory access is simple, but parallel processing capability is limited

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidmemory access structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a new dimension of parallelism by organizing data across multiple independent memory banks that can be accessed simultaneously by different engines. The hash function maps build side keys to specific memory banks, creating a distributed memory architecture that enables true parallel processing while maintaining manageable access patterns through the hash-based routing mechanism.

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

3Productivity

If all build side data is loaded into memory for rapid access, then join function speed improves, but memory usage increases

Engineering Contradiction:
Improvejoin function execution speedVSAvoidmemory resources required
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the build side table data across multiple memory banks, allowing selective loading of only the necessary portions into memory based on the specific join operation being performed. This segmentation enables the system to maintain rapid access speeds for the active data while avoiding the need to load entire large tables into memory simultaneously, thus optimizing memory resource utilization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12423307B1System and method for storing data for, and providing, rapid database join functions and aggregation statistics
Publication Date: 2025.09.23 YELLOWBRICK DATA INC
  • US12423307B1 patent drawing
  • US12423307B1 patent drawing
  • US12423307B1 patent drawing

AI summary

A system and method processes join requests via independently running engines. A build side table to be joined is allocated among high speed memories of the engines. Each row of a probe side are allocated to the engine likely to have build side data corresponding to the row, and the engine then performs the join. Aggregation statistics may be computed by distributing the information across the engines.