Retroactive Backup Snapshots for Database Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data backup methods, particularly for customer relationship management (CRM) systems, face challenges in generating transactionally consistent backups efficiently, as they often require lengthy full backups and struggle with managing snapshots within storage quotas.

Innovation Solution

A method and apparatus for generating transactionally consistent backups of databases by periodically querying for updates, storing them in a journal, and updating a database copy to ensure consistency, while also managing snapshot quotas and frequencies to optimize storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full backup is performed to ensure data consistency, then data integrity is improved, but backup time and storage resources are consumed

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

Solution Approach 1:

The backup process is segmented into multiple snapshots taken at different time points. Instead of performing a single full backup, the system creates incremental snapshots that capture changes at specific intervals, reducing the time required for each individual backup operation while maintaining overall data consistency through the sequence of snapshots.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by creating base snapshots before actual backup operations. These base snapshots serve as starting points for subsequent incremental backups, allowing the system to build upon existing data rather than restarting from scratch, thereby reducing backup time while ensuring consistency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple snapshots are created for disaster recovery, then data restoration capability is improved, but storage space is consumed

Engineering Contradiction:
Improvedisaster recovery capabilityVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system implements a snapshot management mechanism that discards old snapshots when storage quotas are exceeded. By automatically removing the oldest snapshots and retaining only the most recent ones within the quota limit, the system maintains sufficient disaster recovery capability while optimizing storage space utilization.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The snapshot retention policy is dynamic rather than static. The system adjusts which snapshots to keep based on current storage conditions and recovery needs, allowing flexible management of storage resources while ensuring adequate backup history for disaster recovery scenarios.

Inventive Principle:
Principle #15Dynamics

3Reliability

If periodic queries are sent to capture updates, then data consistency is improved, but system resources are consumed

Engineering Contradiction:
Improvetransactional consistencyVSAvoidsystem resource efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system employs periodic queries at predetermined time intervals to capture database updates. By scheduling these queries at optimal intervals rather than continuously, the system maintains transactional consistency through regular snapshots while minimizing the impact on system resources and avoiding excessive resource consumption.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20230222038A1Continuous Data Protection Using Retroactive Backup Snapshots
Publication Date: 2023.07.13 SALESFORCE INC
  • US20230222038A1 patent drawing
  • US20230222038A1 patent drawing
  • US20230222038A1 patent drawing

AI summary

Methods, storage systems and computer program products create a transactionally consistent backup of a database by generating, during a time period beginning with a first time and ending with a second time, a copy of the database including multiple tables. During the time period, queries that request updates to the tables are periodically generated and conveyed to a software system managing the database, responses including updates to the tables are received responsively to the periodic queries, and the received updates are stored to a journal. A set of the updates not stored in the copy are identified, in the journal, and copy of the database is updated with the updates so as to ensure that the copy includes the transactionally consistent backup of the database.