Parallel Multidimensional Database Slice Processing
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If parallel threads are used for calculations, then processing speed improves, but managing variables and combining results across threads increases 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
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
3Productivity
If sequential processing is used, then memory usage remains controlled, but scalability to large datasets deteriorates
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
Data Source
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.


