Augmented Database Drivers for Automatic Write Retry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed databases face challenges in handling failures during write operations, leading to potential data loss and inconsistency, as they require client applications to manage retries for network errors and primary node unavailability.

Innovation Solution

A distributed database system with a dynamic schema architecture that includes augmented drivers to automatically retry write operations by re-transmitting commands to a primary node after errors, using a unique transaction identifier and waiting for a period before retrying, thus eliminating the need for client-side failure handling logic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional distributed databases use eventual consistency model with primary node architecture, then scalability and redundancy are improved, but reliability and consistency deteriorate due to failure handling requirements

Engineering Contradiction:
ImprovescalabilityVSAvoidconsistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements automatic failure resolution where the database daemon autonomously detects write operation failures and re-executes them without requiring client application intervention. This self-service mechanism resolves the contradiction by maintaining eventual consistency while preserving scalability, as the primary node architecture remains unchanged but gains automatic fault tolerance.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The database daemon continuously monitors write operation outcomes and implements feedback loops to detect failures. When a write operation fails, the system receives feedback about the failure state and automatically triggers re-execution, thereby improving reliability and consistency while maintaining the scalable primary node architecture.

Inventive Principle:
Principle #23Feedback

2Reliability

If client applications manually handle write operation failures, then reliability can be improved through retries, but device complexity and ease of operation worsen due to required client-side failure handling logic

Engineering Contradiction:
Improvefailure resolutionVSAvoidclient-side logic
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The failure handling logic is extracted from the client application and relocated to the database daemon running on the server side. This extraction resolves the contradiction by improving reliability through centralized failure management while reducing client application complexity, as clients no longer need to implement retry logic or handle write operation failures.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The database daemon acts as an intermediary between the client application and the primary node. It intercepts write operations, monitors their execution, and automatically retries failed operations, thereby improving reliability without requiring complex client-side logic. The daemon mediates the interaction, shielding clients from failure handling complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If write operations are automatically retried after failures, then reliability improves, but loss of time increases due to retry delays

Engineering Contradiction:
Improvewrite operation completionVSAvoidretry delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements dynamic retry behavior where the database daemon adapts its retry strategy based on the specific failure conditions and system state. Rather than using fixed retry intervals, the daemon can adjust retry timing and attempts dynamically, improving reliability while minimizing time loss by avoiding unnecessary delays when failures are transient.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary checks and preparations before retrying write operations. The database daemon assesses the failure cause and system state beforehand, and only initiates retries when conditions are favorable, thereby improving reliability while reducing unnecessary retry delays and time loss.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10866868B2Systems and methods for optimization of database operations
Publication Date: 2020.12.15 MONGODB INC
  • US10866868B2 patent drawing
  • US10866868B2 patent drawing
  • US10866868B2 patent drawing

AI summary

In various embodiments, the system includes augmented database drivers that are configured to automatically retry execution of write operations if a failure is encountered. In some embodiments, a database daemon is configured to manage the database functionality for a respective database node (e.g., primary or secondary node). Retrying execution of write operations allows the drivers to automatically retry certain write operations a threshold number of times if, for example, a network error is encountered, or if a healthy primary node is not available.