Hierarchical Query Plan Generation for Multidimensional Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional multidimensional database query processing methods face exponential increases in computing resources and memory requirements due to the number of dimensions, leading to inefficiencies and practical limits on query handling capacity.
Innovation Solution
A hierarchical query plan generation method that uses recursive analysis to identify dependencies and form subqueries, arranging them in a tree structure for efficient processing, reducing redundancy and computational expense by breaking down queries into subqueries and operations based on dimensional granularity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional iterative query processing methods are used to handle multidimensional database queries, then query capability and dimensionality are improved, but computing resources and memory requirements increase exponentially
Solution Approach 1:
The patent segments the query processing into multiple passes, where each pass handles a specific aspect of the query (e.g., identifying dimensions, determining granularity, generating subqueries). This segmentation prevents the exponential resource consumption by breaking down the complex multidimensional query into manageable sequential steps, each with controlled resource usage.
Solution Approach 2:
The patent performs preliminary analysis in early passes to identify query components, dimensions, and data granularity before actual data retrieval and processing. By pre-planning the query execution path and identifying all required subqueries and operations in advance, the system avoids redundant computations and resource waste during execution.
2Adaptability or versatility
If the number of dimensions in multidimensional database queries increases, then query complexity and analytical capability are improved, but processing and memory requirements expand exponentially
Solution Approach 1:
The patent segments the dimensional space by identifying and processing each dimension separately through multiple analysis passes. Each pass focuses on specific dimensional aspects (e.g., identifying dimensions, determining granularity for each dimension), which prevents the exponential complexity from overwhelming the system by handling dimensions in a structured, incremental manner.
Solution Approach 2:
The patent introduces a temporal dimension to query processing by using multiple sequential passes, where each pass operates at a different stage of query analysis. This transforms the complex simultaneous processing of multiple dimensions into a series of simpler sequential operations, effectively managing dimensionality through time-based separation.
3Productivity
If conventional iterative approaches are used to decompose queries into subqueries, then query processing is achieved, but redundancy and computational expense are injected into the process
Solution Approach 1:
The patent performs preliminary identification of all query components, dimensions, and required operations in early passes before generating the final query plan. This preliminary analysis ensures that the subsequent query execution follows an optimized path without redundant computations, as all necessary subqueries and operations are predetermined in the planning phase.
Solution Approach 2:
The patent uses feedback from each analysis pass to inform and optimize subsequent passes. Information gathered about query structure, dimension relationships, and data granularity feeds into the next pass, allowing the system to refine its approach and avoid redundant processing in later stages.
Data Source
AI summary
A multidimensional database query engine processes a query request by forming a logical plan of subqueries for retrieving and assembling the data called for by the query request. A multi-pass analysis identifies a granularity of facts needed to fulfill the query request. A recursive analysis parses the query request and identifies components comprising the full query request. The analysis derives a subquery from each component, and identifies dependencies on other subqueries. The subqueries are arranged in a tree structure based on the dependencies. The tree represents subqueries as nodes, with query operations denoted by parent nodes for the dependent subqueries. The result is a hierarchical tree of subqueries associated based on operations between the subqueries and dependent subqueries descending from their parent subqueries.


