Publication Number

US-8296271-B1

Patent

Publication Date

2012-10-23

Expiration Date

2025-03-28


Abstract

A method and system for data recovery in a parallel database system in which data stored in the database has been corrupted by a transaction or operation. Transaction log files corresponding to each node of the parallel database are scanned to determine an operation that caused the corruption of the stored data. Information corresponding to the corrupted data before the operation causing the corruption is then generated based on the scanned transaction log. The operation responsible for corrupting the data is then rolled back, and the corrupted data is replaced with the original data stored in the database prior to the corruption.

Core Innovation

The invention is a method and system for data recovery in a parallel database system where data stored in the database has been corrupted by a transaction or operation. It involves scanning transaction log files corresponding to each node of the parallel database to identify the operation that caused the corruption. Information corresponding to the corrupted data before the operation is generated from the logs, the operation causing the corruption is rolled back, and the corrupted data is replaced with the original data stored prior to corruption.

The problem being solved relates to inefficiencies and limitations in traditional data recovery techniques for parallel database systems. Conventional roll-forward recovery requires restoring entire database table-spaces from backups and rolling forward all transactions, which is inefficient, especially when only a subset of data is corrupted due to user or application errors. Such traditional methods do not allow fine-grained recovery at the transaction or row level and are not suitable for large databases or data warehouses where rapid recovery is necessary.

The invention addresses the lack of mature tools for managing recovery in parallel databases by providing transaction-selective rollback. It leverages information in transaction logs and database catalogs to undo specific erroneous transactions without requiring a full restore and roll-forward. This approach enables recovery of fine-grained database objects, such as individual rows, and allows the database administrator to choose the best recovery points, thereby optimizing data recovery in parallel database systems.

Claims Coverage

The patent claims recite a method, system, and computer program product for data recovery in a parallel database involving scanning transaction logs, identifying corrupting operations, and performing rollback to restore original data. The claims include one independent method claim, one independent system claim, and one independent computer-readable medium claim.

Transaction log scanning based on user-specified parameters

The system scans transaction log files from multiple nodes in a parallel database using user input parameters including user identification, location, time, and operation to retrieve transactions associated with data corruption.

Identification and rollback of corrupting transactions

Determining operations responsible for data corruption by analyzing transaction logs, generating information representing original data before the corrupting operation, and modifying corrupted data to correspond to the original data by rolling back specified transactions.

User interface for transaction selection and rollback management

Providing an interface to display operations performed on corrupted data based on scanning parameters, enabling user selection of the corrupting operation, and coordinating rollback of selected transactions to restore data.

Integration of catalog and backup history scanning

Scanning additional sources such as database catalog nodes and backup history files containing transaction log information to enhance identification and rollback of corrupting operations.

The independent claims collectively cover a computer-implemented method, a system, and a computer-readable medium directed to selective rollback-based recovery in a parallel database. The inventive features focus on scanning distributed transaction logs using specific parameters, identifying and rolling back erroneous transactions, interfacing with the user for operation selection, and supporting additional log sources to optimize data recovery.

Stated Advantages

Enables rapid recovery of corrupted table data without needing to restore from tape or other external backup media.

Allows for transaction-selective rollback to undo only erroneous transactions rather than restoring the entire database or table-space.

Provides the ability to recover fine-grained database objects such as individual rows within tables.

Offers database administrators decision logic and interface to choose optimal or multiple recovery points for rollback.

Documented Applications

Recovering corrupted or lost data in parallel database systems, such as large data warehouses, by rolling back specific erroneous transactions instead of performing full roll-forward recovery from backups.

Undoing user or application errors like unintended deletion, insertion, or modification of data within parallel or non-parallel relational databases (e.g., DB2, Oracle, SQL Server, Sybase).

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.