Versioned Protection Groups for Unlimited Database Backtrack

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database systems are limited in their ability to provide an unlimited backtrack window, as they can only store a finite amount of redo log data within fixed-size protection groups, restricting the duration for which databases can be restored to a prior state.

Innovation Solution

The implementation of versioned protection groups allows for the creation of new versions of protection groups when they approach their size limit, enabling the storage of an unlimited amount of redo logs and backtrack data across multiple fixed-size groups, thereby providing an unlimited backtrack window.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If fixed-size protection groups are used to store redo log data, then storage structure is simple and manageable, but the backtrack window is limited to a finite duration

Engineering Contradiction:
Improvebacktrack window durationVSAvoidprotection group management complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The system divides the protection group storage into multiple fixed-size segments (protection groups) that can be independently managed. Each protection group has a version identifier, allowing the system to segment the redo log storage into manageable units while collectively providing unlimited backtrack capability through versioned chains of protection groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-allocates multiple versions of protection groups in advance, creating a versioned chain structure before the backtrack operation is needed. When a backtrack is required, the system can immediately switch to the appropriate pre-created version without needing to reconstruct the entire protection group chain during the restore operation.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If redo log data is stored indefinitely for unlimited backtrack, then backtrack flexibility is improved, but storage space consumption increases

Engineering Contradiction:
Improvebacktrack flexibilityVSAvoidstorage space consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system extracts only the necessary portions of redo log data into versioned protection groups. By using versioning, the system extracts and retains only the unique changes between versions, avoiding redundant storage of identical data across all time periods while still enabling unlimited backtrack capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system automatically discards older versions of protection groups when newer versions are created, recovering storage space. The versioned structure allows the system to discard redundant data while maintaining the ability to recover any previous state by retaining version metadata and essential redo log information.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11341001B1Unlimited database change capture for online database restores
Publication Date: 2022.05.24 AMAZON TECH INC
  • US11341001B1 patent drawing
  • US11341001B1 patent drawing
  • US11341001B1 patent drawing

AI summary

Techniques are described for enabling a relational database service of a cloud provider network to provide online restore or “backtrack” capabilities that are unlimited in terms of an amount of time in the past to which a database can be restored. Database systems typically provide restoration capabilities that allow users to undo or revert to a prior state of the database. Restoring a database to a prior state can be useful in many different scenarios. For example, a user might restore a database to remove or rollback errors introduced into a database as a result of inadvertent changes to data or to a schema of the data stored in the database. As another example, database administrators or other users can use restore operations as part of testing modifications to a database schema when developing applications or other tools that use the database.