Parallel Multidimensional Database Slice Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multidimensional database computing environments face inefficiencies in calculating and aggregating data due to sequential processing, which limits speed and scalability, especially when dealing with large datasets and complex queries.

Innovation Solution

The introduction of parallel calculation support in multidimensional database environments allows users to specify parallel threads for executing calculations and aggregations, utilizing variables across threads and combining results post-execution, enabling simultaneous processing of tasks across multiple threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential processing is used for calculations and aggregations in multidimensional database, then system complexity remains manageable, but processing speed and productivity deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the calculation and aggregation tasks into multiple independent slices that can be processed in parallel. Each slice represents a partitioned portion of the multidimensional data that can be calculated separately, allowing simultaneous execution across multiple threads while maintaining manageable complexity through modular task organization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a parallel processing dimension by utilizing multiple threads to execute calculations simultaneously. This transforms the single-threaded sequential execution model into a multi-threaded parallel model, adding temporal parallelism as a new dimension to the processing architecture

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

2Productivity

If parallel threads are used for calculations, then processing speed improves, but managing variables and combining results across threads increases complexity

Engineering Contradiction:
Improvecalculation efficiencyVSAvoidthread management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces thread-local variables as intermediary storage mechanisms that allow each parallel thread to maintain its own state independently. These thread-local variables act as intermediaries between the parallel execution environment and the final results, enabling safe concurrent access without direct thread-to-thread communication or complex synchronization

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a results combination mechanism that automatically merges outputs from multiple parallel threads after execution. This combining step consolidates the distributed calculations back into a unified result set, managing the complexity of aggregation by providing a systematic approach to merging parallel outputs

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If sequential processing is used, then memory usage remains controlled, but scalability to large datasets deteriorates

Engineering Contradiction:
ImprovescalabilityVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments large datasets into smaller slices that can be processed in parallel across multiple threads. This segmentation allows the system to handle larger datasets by distributing them across available processing resources, improving scalability while controlling memory usage through localized processing of smaller data portions

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11797496B2System and method for parallel support of multidimensional slices with a multidimensional database
Publication Date: 2023.10.24 ORACLE INT CORP
  • US11797496B2 patent drawing
  • US11797496B2 patent drawing
  • US11797496B2 patent drawing

AI summary

A system and method is described for use with a multidimensional database computing environment to provide support for parallel calculation of multidimensional slices. Users are able to specify a set of slices and a number of parallel threads to employ. The multidimensional database environment generates tasks that include calculations and/or aggregations, which are able to be executed by the system in parallel. Also described herein are mechanisms of utilizing variables within the calculations performed by respective threads, and combining thread variables after execution.