Database Query Progress Indicator with Real-Time Refinement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems provide inadequate progress indicators for query execution due to inaccurate optimizer estimates, especially under heavy system loading conditions, leading to unreliable feedback for users on query completion times.

Innovation Solution

A progress indicator mechanism that divides the query plan into pipelined segments, using initial estimates from the optimizer and refining them with real-time data on input processing and system load to provide a more accurate and continuously updated estimate of query execution time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If the optimizer's estimate of query running time is used as the progress indicator, then the implementation is simple, but the accuracy of the progress indicator deteriorates under heavy system loading

Engineering Contradiction:
Improvesimplicity of progress indicator implementationVSAvoidaccuracy of progress indicator
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The patent implements feedback mechanisms by continuously monitoring actual query execution progress and comparing it with the optimizer's initial estimates. The system adjusts the progress indicator based on real-time feedback from actual data processing rates, system load conditions, and intermediate results, thereby improving accuracy while maintaining implementation feasibility through iterative refinement rather than complete redesign

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary action by establishing multiple fallback estimation methods before the query execution problem arises. The system pre-configures alternative progress calculation approaches (such as row-count-based estimates, byte-processing estimates, and time-based extrapolation) that can be activated when the primary optimizer estimate proves inaccurate, ensuring accurate progress indication is ready in advance for heavy loading scenarios

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If real-time updates of progress indicator are provided frequently, then the accuracy and responsiveness improve, but the system loading and processing overhead increase

Engineering Contradiction:
Improveresponsiveness of progress indicatorVSAvoidquery execution efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements periodic action by updating the progress indicator at strategically determined intervals rather than continuously. The system monitors query execution and triggers progress updates based on milestones such as completion of intermediate results, processing of specific data volumes, or elapsed time thresholds. This periodic update approach maintains user awareness of query progress while minimizing disruptions to query execution efficiency

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent applies dynamics by making the update frequency adaptive rather than fixed. The system dynamically adjusts when to update the progress indicator based on current system conditions, query complexity, and remaining execution time. During high-load periods or critical execution phases, updates are spaced further apart to minimize overhead, while during lighter phases or when accuracy is paramount, updates occur more frequently, optimizing the balance between responsiveness and productivity

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8255388B1Providing a progress indicator in a database system
Publication Date: 2012.08.28 TERADATA US INC
  • US8255388B1 patent drawing
  • US8255388B1 patent drawing
  • US8255388B1 patent drawing

AI summary

A database system is capable of processing a query and providing a progress indicator of the processing of the query based on at least a first cost factor. Initially, an estimate is set for the first cost factor. During processing of the query, the estimate of the first cost factor is updated to enable refinement of the progress indicator.