Aggregate UDF Row Packing for Shared Nothing Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In shared nothing architecture systems, regression analysis is hindered by slow data access and inefficient processing of large datasets, particularly when multiple rows of data are required for business calculations, leading to sluggish communication between nodes and performance issues with oversized rows and VARBYTE variable overhead.

Innovation Solution

The implementation of an aggregate User-Defined Function (UDF) processing method that initializes intermediate storage structures across nodes, merges YearWeek data, and processes multiple rows simultaneously, reducing the need for VARBYTE packing and oversized row complications, thereby enhancing performance through the AGR_INIT, AGR_DETAIL, AGR_COMBINE, and AGR_FINAL phases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple rows of data are accessed across nodes in a shared nothing architecture, then regression analysis can be performed with comprehensive data, but data communication between nodes becomes sluggish and processing speed decreases

Engineering Contradiction:
Improvecompleteness of regression dataVSAvoiddata communication speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent combines multiple rows of data into a single oversized row structure, allowing multiple data records to be processed together in a single operation. This merging approach enables comprehensive regression analysis data to be gathered and processed as unified structures, reducing the number of separate data access operations needed across nodes while maintaining data completeness for reliable regression results

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces VARBYTE (variable byte) data types to pack multiple data values into a single column, effectively adding a dimension of data compression. This allows multiple rows worth of data to be represented in a more compact form, reducing the volume of data that needs to be communicated between nodes while preserving all necessary information for regression analysis

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

2Quantity of substance

If data is packed into VARBYTE variables to reduce row size, then storage efficiency improves, but processing overhead increases due to packing and unpacking requirements

Engineering Contradiction:
Improvedata storage efficiencyVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs data packing into VARBYTE variables in advance during data preparation and storage phases. By pre-packing the data before it needs to be processed for regression analysis, the system eliminates the need for complex real-time packing operations during query execution. The overhead is shifted to an earlier stage where data is more static, reducing the processing complexity during actual analysis operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediate storage structures that hold pre-packaged VARBYTE data between the raw data storage and the regression processing stages. These intermediaries prepare and stage the packed data in advance, acting as a buffer that simplifies the interface between storage and processing systems, thereby reducing the overall processing complexity during regression operations

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If conventional tabular UDF methods are used for processing, then data processing is straightforward, but processing throughput is slow and setup requirements are extensive

Engineering Contradiction:
Improvesimplicity of processing methodVSAvoidprocessing throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the regression processing into distinct phases (AGR_INIT, AGR_DETAIL, AGR_COMBINE, AGR_FINAL) that can be executed in parallel across multiple nodes. This segmentation allows the system to maintain straightforward processing logic within each phase while achieving high throughput through parallel execution, overcoming the limitations of conventional sequential tabular UDF methods

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic data row packing that adapts to the specific regression analysis requirements. Rather than using fixed rigid table structures, the system dynamically packs and unpacks data rows based on the actual needs of each regression operation, allowing for optimized processing throughput while maintaining ease of operation through automated adaptation

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8781919B2Data row packing apparatus, systems, and methods
Publication Date: 2014.07.15 TERADATA US INC
  • US8781919B2 patent drawing
  • US8781919B2 patent drawing
  • US8781919B2 patent drawing

AI summary

Apparatus, systems, and methods may operate to receive a designation of multiple rows to supply data to a single user defined function, which is made available in a structured query language SELECT statement. Further activities may include retrieving the data from at least one storage medium, packing each of the multiple rows having a common key into a single row, and transforming the data from a first state into a second state by applying the single function to the data using a single access module processor. Other apparatus, systems, and methods are disclosed.