Node Recovery Using Old Fragment Versions and Delete Logs
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
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
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.
Data Source
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.


