Automated Query Retry System for Database Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database management systems are costly, resource-intensive, and susceptible to data loss during power outages or disasters, and they struggle with query execution failures due to intermittent faults and software regressions.

Innovation Solution

The implementation of automated query retry systems in database platforms that analyze query failures to distinguish between intermittent faults and software regressions, allowing for targeted retry attempts on different software versions and execution nodes to identify and resolve issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional database management systems are used, then data storage and access capabilities are provided, but the systems are costly, resource-intensive, and susceptible to data loss during power outages or disasters

Engineering Contradiction:
Improvedata loss preventionVSAvoidinfrastructure requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an automated query retry system that acts as an intermediary between the query execution system and failure conditions. When a query fails due to intermittent faults, the retry system automatically re-executes the query without requiring complex infrastructure changes or manual intervention, thereby preventing data loss while maintaining system simplicity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary classification of query failures into intermittent faults versus software regressions before retrying. By analyzing failure patterns in advance and only retrying queries classified as intermittent faults, the system prevents unnecessary retries that could worsen software regression issues while still protecting against data loss from transient failures

Inventive Principle:
Principle #10Preliminary action

2Reliability

If automated query retry is implemented, then query reliability is enhanced, but the system must distinguish between intermittent faults and software regressions

Engineering Contradiction:
Improvequery execution successVSAvoidfailure type classification
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the failure analysis process into distinct components: failure detection, failure classification (intermittent fault vs. software regression), and conditional retry decision-making. This segmentation allows the system to handle each aspect separately, making the overall complex task of distinguishing failure types more manageable through modular analysis

Inventive Principle:
Principle #1Segmentation

3Reliability

If queries are retried on different software versions and execution nodes, then system errors are identified, but the complexity of managing multiple versions and nodes increases

Engineering Contradiction:
Improveerror identification accuracyVSAvoidsoftware version management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system changes parameters such as software version and execution node when retrying queries, but only after classifying the failure as potentially retryable. This parameter variation allows the system to identify whether failures are due to specific version bugs or node issues, improving error identification accuracy while managing complexity through conditional parameter changes rather than universal multi-version deployment

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11669427B2Query-attempt processing in a database environment
Publication Date: 2023.06.06 SNOWFLAKE INC
  • US11669427B2 patent drawing
  • US11669427B2 patent drawing
  • US11669427B2 patent drawing

AI summary

Disclosed herein are embodiments of systems and methods for query-attempt processing in a database environment. In an embodiment, a database platform receives a query, and operates a first query manager of the database platform to manage a first attempt to execute the query. Based on determining that the attempt to execute the query was unsuccessful, the database platform identifies a second query manager of the database platform as implementing a same version of the database platform as the first query manager, and operates the second query manager to manage a first retry attempt to execute the query.