Database Corruption Recovery via Read Logging and Multi-Versioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database recovery systems face challenges in efficiently addressing data corruption caused by erroneous transactions, leading to prolonged outages and unnecessary de-commitment of valid transactions, as they often require restoring backups and rolling forward the database state, which is costly and disruptive.

Innovation Solution

The system implements a corruption recovery method that identifies and isolates initially corrupt data items and their dependencies, allowing transaction processing to continue by marking these items as invalid, using a transaction time database to maintain multiple versions of data and facilitate quick recovery without extensive outages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If media recovery is performed by restoring backup and rolling forward database state, then data corruption is removed, but database availability is seriously impaired due to long outage

Engineering Contradiction:
Improvedata integrityVSAvoiddatabase availability
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining read logs during normal transaction processing, recording which data items were read by each transaction. When corruption is detected, this pre-collected information enables immediate identification of affected transactions without requiring full database restoration, thus resolving the contradiction between data integrity and availability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system segments the database recovery problem by identifying and isolating only the specific transactions and data items affected by corruption, rather than recovering the entire database. By using read logs to trace corruption impact selectively, the system recovers only necessary portions, minimizing outage time while ensuring data integrity

Inventive Principle:
Principle #1Segmentation

2Reliability

If point in time recovery is performed to remove corrupting transaction effects, then data corruption is eliminated, but hundreds or thousands of valid transactions are de-committed and must be re-executed

Engineering Contradiction:
Improvedata integrityVSAvoidtransaction throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies local quality by differentiating between corrupt and valid transactions using read logs. Instead of uniformly de-committing all transactions after corruption detection, the system selectively identifies only those transactions that actually read corrupt data items. This localized approach preserves valid transactions, maintaining productivity while ensuring data integrity through targeted recovery

Inventive Principle:
Principle #3Local quality

3Difficulty of detecting and measuring

If read logs are maintained to track data items read by transactions, then corruption impact can be precisely identified, but log storage requirements and processing overhead increase

Engineering Contradiction:
Improvecorruption detection precisionVSAvoidsystem complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The read log mechanism serves multiple functions: it enables corruption detection, identifies affected transactions, and supports recovery operations. By making this single data structure multi-functional, the system achieves precise corruption detection without proportionally increasing complexity, as the same infrastructure supports multiple critical operations

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8386440B2Database corruption recovery systems and methods
Publication Date: 2013.02.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8386440B2 patent drawing
  • US8386440B2 patent drawing
  • US8386440B2 patent drawing

AI summary

The subject invention pertains to data store corruption recovery. More specifically, the invention concerns systems and methods for identifying corrupt data in a manner that prevents de-committing or removal of valid or consistent transactions from a database. This can be accomplished at least in part by logging the identities of data items that a transaction reads. Furthermore, the subject invention provides for employment of a multi-version (or transaction-time) database to reduce significantly reduce any down time or database unavailability caused by a corrupt transaction and associated corrupt data items. Accordingly, no backups need to be installed and only updates by the original corrupt transaction and transactions that read corrupt data need to be de-committed or removed.