Horizontal Aggregation in Relational Database Management Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems produce unwieldy vertical outputs for group-by operations, making it difficult to understand and analyze large datasets in applications like OLAP and data mining, requiring significant effort to summarize detailed aggregation outputs.

Innovation Solution

Implementing horizontal aggregation, where multiple aggregate values are arranged in a two-dimensional matrix format, allowing outputs of grouping and aggregate operations to be more easily understood and analyzed, using the HAGG() function to compute aggregates based on specified grouping and sub-grouping columns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If conventional vertical aggregation output format is used, then complete aggregation results are produced, but the output becomes difficult to understand and analyze when dealing with large datasets

Engineering Contradiction:
Improvecompleteness of aggregation resultsVSAvoidease of understanding and analyzing output
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent transforms the conventional vertical aggregation output (one aggregate value per row) into a horizontal aggregation output format where multiple aggregate values are arranged in a two-dimensional matrix structure. This dimensionality change allows the same aggregation results to be presented in a format that is more suitable for OLAP and data mining applications, improving both understandability and analytical efficiency without losing any information.

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

2Quantity of substance

If detailed aggregation outputs are produced for large datasets, then comprehensive analysis data is available, but significant time and effort are required to summarize the outputs

Engineering Contradiction:
Improveamount of aggregation dataVSAvoidtime to summarize aggregation outputs
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs aggregation operations in advance and stores the results in a horizontal format that is pre-suited for analytical applications. By pre-computing and pre-formatting the aggregation results horizontally during the database query execution, the system eliminates the need for subsequent manual or automated summarization processes, thereby saving significant time and effort in data analysis workflows.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If conventional group-by operations are performed on very large relational tables, then aggregation results are generated, but the output produces a large number of rows that are unwieldy

Engineering Contradiction:
Improveaggregation computation efficiencyVSAvoidcomplexity of output structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple aggregate values into the same output row by arranging them in a horizontal format. Instead of producing separate rows for each aggregate value, the system combines multiple aggregation results (such as sum, average, count, min, max for different grouping columns) into a single horizontal record, thereby reducing the total number of output rows and simplifying the overall output structure while maintaining computational efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8712993B1Horizontal aggregations in a relational database management system
Publication Date: 2014.04.29 TERADATA US INC
  • US8712993B1 patent drawing
  • US8712993B1 patent drawing
  • US8712993B1 patent drawing

AI summary

A database system is able to receive a query containing a horizontal aggregate function. In response to the query containing the horizontal aggregate function, aggregate values are produced in a horizontal format. In general, the query can contain both horizontal (new) aggregate functions and vertical (standard) aggregate functions.