Consistent Backups Using Local Node Clocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data backup systems for large-scale databases face challenges in achieving causal consistency during backups, leading to interruptions in production systems and inefficiencies due to the need for central coordination, clock skew issues, and the inability to handle distributed systems effectively.

Innovation Solution

A consistent data backup system that uses a central coordinator to broadcast a backup time to nodes, allowing each node to perform backups based on its local clock, ensuring causal consistency by blocking updates for a duration that accounts for maximum clock skew, and utilizing transaction logs to create point-in-time backups without interrupting production systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If scan-based backup solutions are used to backup database data, then backup capability is provided, but production workloads are interrupted and read throughput is reduced due to resource competition

Engineering Contradiction:
Improvebackup capabilityVSAvoidread throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The backup system segments the database into multiple independent partitions that can be backed up concurrently. Each partition is backed up by a separate backup thread without requiring global locks, allowing production workloads to continue on other partitions. This eliminates the resource competition that reduces read throughput while maintaining backup capability.

Inventive Principle:
Principle #1Segmentation

2Reliability

If centralized coordination is used to ensure causal consistency during backups, then consistency is achieved, but system complexity increases and performance decreases

Engineering Contradiction:
Improvecausal consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each storage node autonomously determines when to perform backups using its local wall-clock time, without requiring centralized coordination. The system achieves causal consistency through self-service mechanisms where nodes independently block updates for durations accounting for maximum clock skew, eliminating complex centralized scheduling while maintaining consistency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the approach from centralized time coordination to using local wall-clock times with compensation for clock skew. By adjusting backup timing parameters based on maximum expected clock skew between nodes, the system achieves causal consistency without centralized coordination, reducing system complexity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If scan-based solutions are used for backups, then data can be copied to storage, but the backup process takes too much time and interrupts customer workflow

Engineering Contradiction:
Improvebackup completenessVSAvoidbackup duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The database is divided into multiple partitions that can be backed up in parallel by different threads. This segmentation allows the backup process to complete much faster than sequential scanning while ensuring complete data capture through coordinated partition-level backups with update blocking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by blocking updates on each partition before the backup scan begins, and maintains this blocking until the backup is complete. This preliminary and continuous action ensures backup completeness without requiring lengthy sequential scanning, as the blocking duration is minimized through parallel processing.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If local clocks are used for backup timing without coordination, then system efficiency improves, but causal consistency cannot be guaranteed due to clock skew

Engineering Contradiction:
Improvesystem efficiencyVSAvoidcausal consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system adjusts the backup timing parameters by blocking updates for durations that account for the maximum expected clock skew between nodes. This parameter adjustment ensures that even with unsynchronized local clocks, the backup captures all relevant updates maintainin g causal consistency while preserving system efficiency through decentralized operation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10621049B1Consistent backups based on local node clock
Publication Date: 2020.04.14 AMAZON TECH INC
  • US10621049B1 patent drawing
  • US10621049B1 patent drawing
  • US10621049B1 patent drawing

AI summary

Disclosed are systems and methods for generating consistent backups. A central coordinator informs each node storing a partition of the time to perform a backup. At the designated time, each node blocks updates for a corresponding time interval measured by its local clock. Each node performs the backup operation according to its own local clock. Consistent backups may be generated in spite of clock skew between the local clocks as long as the time interval is at least as long as a maximum local clock skew (among the nodes performing the backup). In some systems the maximum local clock skew may be reduced, by a round-trip update latency from a client, for example.