Unbundled Storage Engine Logical Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database management system (DBMS) recovery operations require significant resources and become infeasible as DBMS characteristics evolve, necessitating more efficient recovery techniques.

Innovation Solution

The implementation of enhanced logical recovery techniques using an unbundled storage engine with a transaction component (TC) and data component (DC), where TC handles logical transactions independently of DC, and delta records are saved to construct a dirty page table (DPT) to filter out unnecessary redo operations during recovery, reducing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional recovery approaches (ARIES) are used, then recovery reliability is maintained, but resource consumption increases significantly

Engineering Contradiction:
Improverecovery reliabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The storage engine is segmented into two independent components: a Transaction Component (TC) that handles logical transactions and a Data Component (DC) that handles data services. This segmentation allows each component to manage its own recovery processes independently, reducing the overall resource consumption while maintaining recovery reliability through specialized functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dirty page table (DPT) is extracted as a separate data structure from the traditional recovery process. The DPT is constructed by the DC independently and used to filter redo operations, separating the recovery decision-making process from the execution process and reducing resource consumption during recovery operations.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If every data page is fetched to determine if redo operations are needed, then recovery accuracy is improved, but time consumption increases

Engineering Contradiction:
Improverecovery accuracyVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The Data Component periodically constructs and maintains the dirty page table (DPT) during normal operation, preparing recovery information in advance. When recovery is needed, the DPT is already available to quickly identify which data pages require fetching, eliminating the need to fetch all pages and significantly reducing recovery time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The DPT provides feedback information about which data pages are dirty and need to be fetched during recovery. This feedback mechanism allows the system to make informed decisions about page fetching, avoiding unnecessary I/O operations and reducing time consumption while ensuring accurate recovery by only fetching necessary pages.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If the Transaction Component sends all operations to the Data Component, then operational simplicity is maintained, but recovery efficiency decreases

Engineering Contradiction:
Improveoperational simplicityVSAvoidrecovery efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system is segmented into TC and DC components with clear division of responsibilities. The TC handles logical transaction processing and sends operations to the DC, while the DC manages data services and recovery processes. This segmentation maintains operational simplicity at the TC level while enabling efficient recovery processing at the DC level through specialized functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The DC acts as an intermediary between the TC and the database storage system. It receives operations from the TC, uses the DPT to filter necessary redo operations, and manages the actual data page fetching and updating. This intermediary role allows the TC to remain operationally simple while the DC handles the complexity of efficient recovery processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8930321B2Logical recovery with unbundled transaction services
Publication Date: 2015.01.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8930321B2 patent drawing
  • US8930321B2 patent drawing
  • US8930321B2 patent drawing

AI summary

This patent application relates to enhanced logical recovery techniques for redo recovery operations of a system with an unbundled storage engine. These techniques can be implemented by utilizing an enhanced logical recovery approach in which a dirty page table (DPT) is constructed based on information logged during normal execution. The unbundled storage engine can include a transaction component (TC) that is architecturally independent of a data component (DC). These techniques can enhance redo recovery operations by mitigating the resources needed to determine whether previously executed operations sent from the TC to the DC are to be repeated in response to a recovery-initiating event. This can include using the DPT to avoid fetching every data page corresponding to every previously executed operation received by the DC during recovery and/or pre-fetching data pages and/or index pages that correspond to PIDs in the DPT.