Database Block Restoration via Remote Key-Value Backup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems require restoring the entire data set before resuming operations after a failure, leading to significant downtime and costs, especially in large data warehouse systems that perform incremental backups or rely on transaction logs for reconstruction.

Innovation Solution

Implementing a distributed data warehouse system that uses a remote key-value durable storage system for incremental backups, allowing for selective restoration of data blocks on demand, enabling the system to continue accepting queries without waiting for the entire data set to be restored, by streaming in backup copies of lost or corrupted data blocks from the remote storage system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire data set is restored from backup before resuming operations, then data integrity is ensured, but system downtime increases significantly

Engineering Contradiction:
Improvedata integrityVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the data restoration process into individual block-level operations rather than restoring the entire data set at once. Each corrupted block is identified and restored independently from backup storage, allowing the system to resume operations with intact blocks while recovering damaged ones progressively.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial restoration by recovering only the specific corrupted blocks that are identified through checksum verification, rather than restoring the complete data set. This selective approach minimizes restoration time while ensuring data integrity for the blocks that actually need recovery.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If incremental backups are used to reduce backup time, then backup efficiency improves, but restoration complexity increases due to multiple restore operations

Engineering Contradiction:
Improvebackup efficiencyVSAvoidrestoration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system pre-calculates and stores checksums for all data blocks during the backup process. This preliminary action enables quick identification of corrupted blocks during restoration without requiring complex analysis of incremental backup chains, simplifying the restore operation while maintaining backup efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses checksum verification as feedback to identify which specific blocks are corrupted and need restoration. This feedback mechanism allows the system to selectively restore only the necessary blocks from incremental backups, reducing restoration complexity compared to restoring entire incremental chains.

Inventive Principle:
Principle #23Feedback

3Reliability

If transaction logs are traced to reconstruct system state, then data accuracy is maintained, but restoration time increases significantly

Engineering Contradiction:
Improvedata accuracyVSAvoidrestoration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and verifies data block integrity using pre-stored checksums independent of transaction log analysis. By separating the integrity verification process from transaction log tracing, the system can quickly identify corrupted blocks without performing time-consuming log replay operations to reconstruct system state.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11475038B2Automatic repair of corrupted blocks in a database
Publication Date: 2022.10.18 AMAZON TECH INC
  • US11475038B2 patent drawing
  • US11475038B2 patent drawing
  • US11475038B2 patent drawing

AI summary

A distributed data warehouse system maintains data blocks on behalf of clients, and stores primary and secondary copies of data blocks on different disks or nodes in a cluster. The data warehouse system may back up data blocks in a key-value backup storage system. In response to a query targeting a data block previously stored in the cluster, the data warehouse system may determine whether a consistent, uncorrupted copy of the data block is available in the cluster (e.g., by applying a consistency check). If not (e.g., if a disk or node failed), the data warehouse system may automatically initiate an operation to restore the data block from the backup storage system, using a unique identifier of the data block to access a backup copy. The target data may be returned in a query response prior to restoring primary and secondary copies of the data block in the cluster.