Node Recovery Using Old Fragment Versions and Delete Logs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for node recovery in distributed databases face challenges with large fragments, requiring write transactions to be stopped and risking log overflow, leading to inefficiencies and potential system disruptions.

Innovation Solution

A method utilizing an old version of a fragment, updated by scanning and copying changed records from an up-to-date version, with a delete log managing deletions, allowing continuous write transactions during recovery and minimizing log size by only logging delete transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the copy method is used to recover a node by copying fragments from other nodes, then the recovered node will be up to date, but write transactions must be stopped during the recovery process to avoid inconsistencies

Engineering Contradiction:
Improvedata consistencyVSAvoidtransaction throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The invention segments the recovery process into two independent phases: first restoring the old version of the fragment from backup storage, then applying log records to bring it up to date. This segmentation allows write transactions to continue on the new version while recovery proceeds on the old version, resolving the contradiction between data consistency and transaction throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention performs preliminary action by restoring the old version of the fragment from backup storage before the node failure occurred. This old version serves as a starting point that can be updated with log records while write transactions continue on the new version, eliminating the need to stop transactions during recovery.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If log records are kept for all transactions to enable recovery, then the recovering node can be brought up to date, but the log size grows very large and may overflow

Engineering Contradiction:
Improverecovery completenessVSAvoidlog size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The invention extracts only the necessary log records (inserts, updates, and deletes that occurred after the backup was taken) from the complete transaction log. By taking out only the relevant log records needed to bring the old version up to date, the log size is minimized while still ensuring recovery completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The invention applies partial action by selectively applying only those log records that are necessary to bring the old version up to date, rather than applying all log records. This partial application of log records reduces the log size required while maintaining recovery completeness.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If all log records are executed on the recovering node to bring it up to date, then the node will be current, but write transactions must be stopped during the recovery process

Engineering Contradiction:
Improvedata currencyVSAvoidtransaction throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The invention segments the database version into an old version (being recovered) and a new version (handling transactions). Write transactions are directed to the new version while log records are applied to the old version in the background, allowing both data currency and transaction throughput to be maintained simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention introduces a new version of the fragment as an intermediary between the recovering node and write transactions. This new version allows transactions to proceed while the old version is being updated with log records, serving as a mediator that enables both recovery and continuous transactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If the copy method is used to transfer records one at a time, then the recovered node will be accurate, but the recovery process becomes very slow for large fragments

Engineering Contradiction:
Improvefragment accuracyVSAvoidrecovery speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The invention performs preliminary action by restoring the complete old version of the fragment from backup storage in one operation rather than copying records one at a time. This preliminary restoration provides an accurate baseline that can then be updated with log records, significantly speeding up recovery while maintaining fragment accuracy.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7945538B2Method and arrangements for node recovery
Publication Date: 2011.05.17 ORACLE AMERICAN INC
  • US7945538B2 patent drawing
  • US7945538B2 patent drawing
  • US7945538B2 patent drawing

AI summary

The present invention relates to a method and arrangements for node recovery particularly suitable for recovery involving large database fragments. The method for node recovery according to the present invention makes use of an old version of a fragment in a failed node (114). The old version is brought up to date by means of scanning an up to date version of the fragment in another node and copying parts of the fragment (117), which have changed since the creation of the old version, to the recovering node. A delete log is utilized in order to take deletions, which have taken place since the creation of the old version, into account in the recovery of the failed node (116). An advantage of the method for node recovery according to the present invention is that it does not require write transactions to be stopped during the recovery process.