Hardware Aggregation Circuit for Database Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face inefficiencies in performing filter, project, grouping, and aggregation operations due to high data bottlenecks and instruction overhead, particularly in handling complex queries and large datasets.

Innovation Solution

The implementation of specialized hardware that generates bitvectors to indicate row satisfaction with predicates, allowing for bitwise operations to combine results and reduce data storage needs, enabling flexible and nonlinear predicate evaluation, and performing grouping and aggregation without global sorting, thus alleviating RAM I/O operations and random memory access issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional database management systems perform filter, project, grouping, and aggregation operations, then query processing is completed, but data bottlenecks and instruction overhead increase, reducing processing efficiency

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidinstruction overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces traditional mechanical instruction-based processing with a hardware circuit system that performs filter, project, grouping, and aggregation operations through dedicated logic circuits. This substitution eliminates instruction overhead and clock cycle dependencies, directly resolving the technical contradiction by improving query processing efficiency while reducing time loss through hardware-level parallel operations

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

2Quantity of substance

If traditional systems handle complex queries and large datasets, then comprehensive data processing is achieved, but data bottlenecks increase, limiting system performance

Engineering Contradiction:
Improvedata processing capacityVSAvoidprocessing throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the data processing system into specialized hardware circuits for different operations (filtering, projection, grouping, aggregation). Each circuit handles specific portions of the query processing independently, allowing parallel execution and eliminating data bottlenecks. This enables the system to handle large datasets with high throughput by dividing the processing workload across multiple dedicated hardware components

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If global sorting is performed for grouping and aggregation operations, then accurate grouping results are obtained, but random memory access issues and RAM I/O operations increase, reducing performance

Engineering Contradiction:
Improvegrouping accuracyVSAvoidmemory access efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent replaces the mechanical global sorting process with a hardware circuit system that performs grouping and aggregation operations through dedicated logic circuits. These circuits process data in a streamlined manner without requiring random memory access or extensive RAM I/O operations, thereby maintaining grouping accuracy while dramatically improving memory access efficiency and overall productivity

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

Data Source

PatentEP2885730B1Hardware implementation of the aggregation/group by operation: filter method
Publication Date: 2021.05.26 ORACLE INT CORP
  • EP2885730B1 patent drawingFigure 1
  • EP2885730B1 patent drawingFigure 2
  • EP2885730B1 patent drawingFigure 3A

AI summary

Techniques are described for performing grouping and aggregation operations. In an embodiment, a request is received to aggregate data grouped by a first column. In response to receiving the request, values are loaded from the first column into an input cache. The values include values, from the first column, from a set of rows. A filter unit is programmed with logic to perform a comparison between a particular value, from the first column of a first row, and values in the first column of a plurality of rows, of the set of rows. Based on the comparison, a predicate result is generated that identifies rows, within the plurality of rows, that have a valued in the first column that matches the particular value. An aggregate value for a second column is generated by aggregating values, from the second column, of each of the rows identified by the predicate result.