Stream Warehouse Execution Track Scheduling for Data Freshness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Streaming data warehouses experience performance degradation due to conventional resource allocation techniques, leading to data staleness and undesirable delays in processing update jobs from multiple continuous data streams.

Innovation Solution

The method involves allocating multiple execution tracks with assigned processor and memory resources, sorting update jobs based on priorities and freshness, and dispatching them to available tracks to prevent preemptive interruptions, ensuring atomic operations and reducing staleness by prioritizing high-priority jobs and separating combined low-priority jobs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional resource allocation techniques are used to process update jobs from multiple continuous data streams, then the system can handle data streams, but performance degradation occurs leading to data staleness

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata freshness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments update jobs into different priority levels (high-priority and low-priority) and processes them through separate execution paths. High-priority jobs are executed immediately when resources are available, while low-priority jobs are batched and executed periodically, preventing performance degradation and maintaining data freshness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The resource allocation strategy dynamically adjusts based on job priorities and system state. The system allocates resources preferentially to high-priority update jobs, allowing flexible adaptation to varying data stream conditions and maintaining optimal performance without rigid conventional allocation rules.

Inventive Principle:
Principle #15Dynamics

2Productivity

If update jobs are processed simultaneously from multiple data streams, then processing throughput increases, but performance degradation and data staleness occur

Engineering Contradiction:
Improveprocessing throughputVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments the processing pipeline by priority levels, allowing high-priority jobs to bypass queues and execute immediately. This segmentation enables simultaneous processing of multiple data streams while preventing time loss through prioritized execution paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system continuously monitors data freshness and processing status, using feedback to adjust resource allocation and execution scheduling. This feedback mechanism ensures that processing delays are detected and corrected, maintaining optimal throughput without time loss.

Inventive Principle:
Principle #23Feedback

3Reliability

If atomic operations are enforced on execution tracks, then data consistency is maintained, but resource allocation flexibility is reduced

Engineering Contradiction:
Improvedata consistencyVSAvoidresource allocation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments resources into dedicated execution tracks associated with specific tables or data streams. Each track maintains atomic operations for its associated data, ensuring consistency while the overall system maintains flexibility through multi-track parallel processing and priority-based resource allocation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8898673B2Methods, systems, and products for stream warehousing
Publication Date: 2014.11.25 AT&T INTELLECTUAL PROPERTY I L P
  • US8898673B2 patent drawing
  • US8898673B2 patent drawing
  • US8898673B2 patent drawing

AI summary

Methods, systems, and products schedule updates to stream warehouses. A plurality of execution tracks are allocated in memory, with each execution track assigned a portion of utilization of a processor and a proportionate portion of the memory. A home track is also defined in the plurality of execution tracks. When the home track is unavailable, then a different track in the plurality of execution tracks is selected, and a database update job is dispatched to the different track.