Query Decomposition Tree for Database Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face limitations in processing large or complex queries, which can lead to system crashes or significant performance degradation, particularly in fields like life sciences that require intricate database operations.

Innovation Solution

The method involves decomposing a primary query into logically related conditional groups, generating secondary queries for each group, executing these queries, combining their results using logical relationships, and returning the combined results as the final query outcome, thereby managing resource usage and avoiding system overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a complex database query is executed directly, then the query can retrieve the required data, but the database system performance deteriorates significantly or the system crashes

Engineering Contradiction:
Improvequery execution capabilityVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides a complex query into multiple smaller sub-queries organized in a query decomposition tree. Each node in the tree represents a sub-query with specific conditions, and the results are progressively combined to form the final query result. This segmentation prevents any single query from overwhelming the database system resources while maintaining the ability to execute complex data retrieval operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If query size limits are imposed to prevent system crashes, then system reliability is maintained, but the ability to execute complex queries is reduced

Engineering Contradiction:
Improvesystem stabilityVSAvoidquery complexity handling
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

By segmenting complex queries into smaller sub-queries that each fall within system size limits, the patent enables the execution of highly complex overall queries while maintaining individual query simplicity. The query decomposition tree structure allows systematic breakdown of complex conditions into manageable fragments that can be processed sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to query execution by processing queries in multiple stages rather than simultaneously. The query decomposition tree enables execution to proceed level-by-level, with results from one level feeding into the next, effectively transforming a single complex operation into a sequence of simpler operations over time.

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

3Reliability

If query complexity constraints are applied to prevent resource exhaustion, then system reliability improves, but query functionality is limited

Engineering Contradiction:
Improveresource managementVSAvoidquery execution capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent automatically segments complex queries into smaller sub-queries with specific condition groups, managing resource consumption at each decomposition level. This segmentation maintains system reliability by preventing resource exhaustion while preserving the user's ability to execute complex queries through the hierarchical query decomposition tree structure.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8965918B2Decomposed query conditions
Publication Date: 2015.02.24 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8965918B2 patent drawing
  • US8965918B2 patent drawing
  • US8965918B2 patent drawing

AI summary

A method, article of manufacture and apparatus for decomposing an initial query into smaller conditional groups for execution on a database is disclosed. A separate database query may be generated for each of the conditional groups, and the results of executing these separate database queries may be combined and returned as the result of the initial query. Typically, the initial query may be decomposed because it is otherwise too large and/or too complex to be executed directly.