Query Engine Stream Processing with Window Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in efficiently processing and querying large volumes of continuously collected data due to frequent query setups and tear-downs, leading to performance issues and overhead in data access and transfer.

Innovation Solution

Implementing a query engine that schedules and executes stream processing with window functions in a single long-standing query, pushing down processing to the data management layer and utilizing continuous queries to analyze data in real-time, reducing the need for repeated query setups and tear-downs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional database systems process continuous data with repeated query setups and tear-downs, then data access and transfer can be performed, but performance deteriorates and overhead increases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidquery setup and teardown overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements continuous queries that remain active and process data streams continuously without repeated setup and teardown. The query engine maintains persistent query contexts and processes incoming data tuples in a continuous manner, eliminating the overhead of repeatedly establishing and terminating queries while maintaining continuous data processing capability

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system performs preliminary actions by pre-compiling and optimizing query plans before data arrival, and by pre-establishing query contexts that can process incoming data streams. The query engine prepares processing frameworks in advance that can continuously handle data tuples without requiring repeated setup operations

Inventive Principle:
Principle #10Preliminary action

2Productivity

If stream processing is implemented with continuous queries, then query overhead is reduced, but system complexity increases

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidquery engine architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a specialized query engine as an intermediary layer between the database system and data streams. This query engine component handles the complexity of continuous query processing, window function computations, and stream data management, isolating the complexity from the rest of the database system while providing efficient continuous processing capabilities

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the processing architecture by separating continuous query processing from traditional batch processing. The query engine is divided into specialized components for stream ingestion, window function evaluation, and result generation, allowing each segment to be optimized independently while managing overall system complexity

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If window functions are used for stream processing, then complex stream processing tasks are supported, but processing overhead increases

Engineering Contradiction:
Improvestream processing capabilityVSAvoidprocessing computational resources
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent merges window function computations with the continuous query processing pipeline, eliminating separate computation passes. The query engine integrates window function evaluation directly into the stream processing flow, allowing window computations to be performed incrementally as data tuples arrive rather than requiring separate batch processing operations

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs partial actions by computing window functions incrementally based on available data tuples within time windows. Rather than waiting for complete data sets or performing full recomputations, the query engine computes partial window results progressively as data arrives, reducing overall computational overhead while maintaining versatility

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8661014B2Stream processing by a query engine
Publication Date: 2014.02.25 SNOWFLAKE INC
  • US8661014B2 patent drawing
  • US8661014B2 patent drawing
  • US8661014B2 patent drawing

AI summary

A database system executes a method that receives, at a query engine in the database system, a continuous stream of data. The query engine continuously analyzes the continuous stream of data with window functions in a single long-standing query.