Query Decomposition for Scalable Continuous Data Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database systems are inadequate for processing continuous data streams due to their inability to handle unbounded data sets, lacking the necessary processing flexibility for modern applications such as sensor data, financial tickers, and network monitoring, which require scalable and efficient querying mechanisms.

Innovation Solution

A method is introduced to classify queries as fully stateful, semi-stateful, or stateless, and distribute them across a cluster of virtual machines for parallel execution, using a partial aggregator and global aggregator to compute results efficiently, enabling linear scalability in complex event processing systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional database systems are used to process continuous data streams, then data storage and querying capabilities are maintained, but the system cannot handle unbounded data sets and lacks processing flexibility for modern applications

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidability to handle unbounded data sets
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The query processing system is segmented into multiple independent components: query decomposition module that breaks queries into sub-queries, distributed query execution module that executes sub-queries across multiple nodes, and result aggregation module that combines results. This segmentation enables the system to handle unbounded data streams by processing data in manageable chunks across distributed nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements dynamic query execution by continuously adapting to incoming data streams. Queries are executed in a continuous manner rather than batch processing, with the system dynamically adjusting to varying data rates and stream characteristics. This dynamic execution model provides the flexibility needed for modern applications while maintaining reliability on unbounded data sets.

Inventive Principle:
Principle #15Dynamics

2Productivity

If queries are executed on continuous unbounded data streams, then processing capability is improved, but system scalability becomes limited without proper decomposition

Engineering Contradiction:
Improvecontinuous query processing capabilityVSAvoidsystem scalability
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Queries are decomposed into multiple sub-queries that can be executed in parallel across distributed nodes. The decomposition module analyzes the query structure and breaks it down into independent sub-queries that operate on different portions of the data stream, enabling linear scalability as more nodes are added to the system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from single-node sequential query execution to multi-node parallel execution by adding the spatial dimension of distribution. Sub-queries are distributed across multiple nodes in the cluster, and results are aggregated from multiple sources, effectively using dimensional expansion to achieve scalability while maintaining high productivity.

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

3Productivity

If query decomposition is implemented for scalability, then processing throughput increases, but query classification complexity increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidquery classification complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary classification of queries into stateful and stateless categories before decomposition. This preliminary action simplifies the overall process by handling stateless queries directly without complex decomposition, while only applying decomposition logic to stateful queries that require it, thereby reducing overall classification complexity while maintaining high throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The query classification mechanism uses parameter-based differentiation to simplify complexity management. By identifying key parameters that distinguish stateful from stateless queries, the system applies different processing paths based on these parameters, reducing the overall classification complexity while enabling efficient throughput optimization through selective decomposition.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11720581B2Query decomposition for scalability of continuous query processing
Publication Date: 2023.08.08 ORACLE INT CORP
  • US11720581B2 patent drawing
  • US11720581B2 patent drawing
  • US11720581B2 patent drawing

AI summary

Systems and methods for query decomposition for scalability of continuous query processing are disclosed. In some examples, it is determined whether a query is fully stateful. If it is, the query may be divided into two functions, an aggregate function and a global function. The aggregate functions may be distributed across multiple distributed nodes and executed in parallel. The global function may then receive the results from the distributed nodes and join the results to achieve the fully stateful result.