Dynamic Query Execution Model with Checkpoint Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems are inflexible and inefficient, as they require fixed and static assignments of computing resources for query execution, leading to prolonged execution times and resource wastage in case of errors or dynamic changes in resource availability.

Innovation Solution

A dynamic query execution model that scales out parallel query parts to additional computing resources, coordinated by a parent query coordinator and fragment query coordinator, allowing for flexible assignment and reassignment of resources, and utilizing shared file queues for continuous scanning and materialized results to enhance processing speed and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If fixed and static assignments of computing resources are used for query execution, then resource allocation is simple and predictable, but query execution time increases and system flexibility decreases

Engineering Contradiction:
Improveresource assignment complexityVSAvoidquery execution speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic resource assignment where computing resources are allocated based on real-time query requirements and resource availability rather than fixed pre-assigned roles. The system can dynamically adjust the number and allocation of computing resources during query execution, allowing for optimized performance while maintaining manageable complexity through automated resource management mechanisms.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If fixed and static assignments of computing resources are used, then role assignments are predetermined, but the system cannot adapt to dynamic changes in resource availability or performance requirements

Engineering Contradiction:
Improveadaptability to resource changesVSAvoidresource management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system incorporates feedback mechanisms that continuously monitor resource availability, query progress, and performance metrics. Based on this feedback, the resource assignment system automatically adjusts allocations to accommodate dynamic changes in resource availability or performance requirements, enabling adaptability while managing complexity through closed-loop control.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent enables dynamic adjustment of computing resource assignments during query execution based on real-time conditions. The system can add, remove, or reassign resources as needed, transforming the static role assignment model into a dynamic one that responds to changing circumstances without requiring complex manual intervention.

Inventive Principle:
Principle #15Dynamics

3Reliability

If computing resources work together as a process group with fixed assignments, then coordination is straightforward, but the entire job must be re-performed if one resource encounters an error

Engineering Contradiction:
Improvefault toleranceVSAvoidtime for job re-execution
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the computing workload into independent segments or tasks that can be assigned to different computing resources. Each segment can be executed independently, and upon failure of one resource, only the affected segments need to be re-executed rather than the entire job. This segmentation approach significantly improves fault tolerance while reducing time loss from partial failures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements mechanisms to track and identify successfully completed portions of work, allowing failed segments to be discarded and re-executed without repeating successful operations. This selective recovery approach minimizes time loss by avoiding redundant execution of successful segments while maintaining reliability through continuous monitoring and error detection.

Inventive Principle:
Principle #34Discarding and recovering

4Productivity

If more computing resources are used to execute operations, then execution time is shortened, but resource allocation becomes more complex and costly

Engineering Contradiction:
Improveexecution speedVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies partial action by allocating only the necessary number of computing resources required for efficient query execution rather than always using maximum resources. The resource allocation is dynamically adjusted based on query complexity, data size, and available hardware capacity, achieving optimal execution speed while avoiding unnecessary complexity and cost associated with over-provisioning resources.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20240303238A1Checkpoints in batch file processing
Publication Date: 2024.09.12 SNOWFLAKE INC
  • US20240303238A1 patent drawing
  • US20240303238A1 patent drawing
  • US20240303238A1 patent drawing

AI summary

Embodiments of the present disclosure may provide a dynamic query execution model with fault tolerance and failure recovery techniques. Embodiments of the present disclosure may utilize checkpoints to map processed output files to their corresponding input files. Therefore, if an error occurs in processing one or more files, the system may only need to reschedule processing of selected file(s).