[go: up one dir, main page]

WO2019171133A1 - Grouping dependent database transactions for recovery - Google Patents

Grouping dependent database transactions for recovery Download PDF

Info

Publication number
WO2019171133A1
WO2019171133A1 PCT/IB2018/051456 IB2018051456W WO2019171133A1 WO 2019171133 A1 WO2019171133 A1 WO 2019171133A1 IB 2018051456 W IB2018051456 W IB 2018051456W WO 2019171133 A1 WO2019171133 A1 WO 2019171133A1
Authority
WO
WIPO (PCT)
Prior art keywords
transactions
transaction
log
group
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2018/051456
Other languages
French (fr)
Inventor
Pratik Sharma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to PCT/IB2018/051456 priority Critical patent/WO2019171133A1/en
Publication of WO2019171133A1 publication Critical patent/WO2019171133A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp

Definitions

  • ARIES will first do the Analysis phase to determine the point in the log at which to start the Redo pass (from the most recent check point taken by the Database Recovery Service), to determine (a conservative superset of the) pages in the buffer pool that were dirty at the time of the crash (by looking up in the dirty page table maintained by the Buffer Manager), to identify transactions that were active at the time of the crash (by looking up in the transaction table maintained by the Transaction Manager) and must be undone. Then in the Redo phase our Database Recovery Service reapplies the updates of all transactions, committed or otherwise. Further, if a transaction was aborted before the crash and its updates were undone, as indicated by Compensation Log Records (A compensation log record is written just before the change recorded in an update log record U is undone.
  • Recovery Service begins with the transaction table constructed in the Analysis phase, which identifies all transactions active at the time of the crash, and includes the Log Sequence Number of the most recent log record (the last Log Sequence Number field) for each such transaction. All actions of such transactions must be undone, and further, these actions will be undone in the reverse of the order in which they appear in the log. Similarly our Database Recovery Service will check for the timestamp and Log Sequence Number of the first transaction in the group of dependent transactions (this action will be carried for all active groups of dependent transactions by looping through the active transaction group identifiers or for groups of dependent transactions whose all transactions are not committed).
  • Our Database Recovery Service will scan the log from the record with the Log Sequence Number and timestamp for the first transaction in the transaction group identifier to look for more actions of the transactions in the same group with the help of transaction group identifier and further, these actions will be undone in the reverse of the order in which they appear in the log.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Here we have a group of database transactions that are dependent on each other. Our Database service in the cloud gives the client application the option to provide a Transaction Group identifier which follows Write-Ahead Log Protocol will log the transaction details like Log Sequence Number for transaction, transaction identifier, etc. as well as the Transaction Group identifier. The Database service can also log information like timestamp of the first transaction in the Dependent Database Transactions Group along with its Log Sequence Number which makes it easier to search during recovery. Our Database Recovery Service following Algorithms for Recovery and Isolation Exploiting Semantics (ARIES) will do the Analysis phase, Redo phase and finally Undo phase in which it will delete actions of all transactions in the group of dependent transactions whose all transactions are not committed.

Description

Grouping Dependent Database Transactions for Recovery
In this invention we have a group of database transactions that are dependent on each other (also may be these transactions must be in predefined order). Our Database service in the cloud gives the client application the option to provide a Transaction Group identifier which follows Write-Ahead Log Protocol will log the transaction details like Log Sequence Number for transaction, transaction identifier, etc. as well as the Transaction Group identifier. The Database service can also log information like timestamp of the first transaction in the Dependent Database Transactions Group along with its Log Sequence Number which makes it easier to search during recovery. Now let us suppose that there were five such transactions in a group and four transactions have occurred with of course their details logged too along with their unique Transaction Group identifier. Suddenly there is a system crash. Our Database Recovery Service following Algorithms for Recovery and Isolation Exploiting Semantics
(ARIES) will first do the Analysis phase to determine the point in the log at which to start the Redo pass (from the most recent check point taken by the Database Recovery Service), to determine (a conservative superset of the) pages in the buffer pool that were dirty at the time of the crash (by looking up in the dirty page table maintained by the Buffer Manager), to identify transactions that were active at the time of the crash (by looking up in the transaction table maintained by the Transaction Manager) and must be undone. Then in the Redo phase our Database Recovery Service reapplies the updates of all transactions, committed or otherwise. Further, if a transaction was aborted before the crash and its updates were undone, as indicated by Compensation Log Records (A compensation log record is written just before the change recorded in an update log record U is undone. Such an undo can happen during normal system execution when a transaction is aborted or during recovery from a crash), the actions described in the Compensation Log Records are also reapplied. Now in the Undo phase our Database Recovery Service unlike other two phases scans backward from the end of the log. The goal of this phase to undo the actions of all active transactions at the time of the crash as well as undo the actions all committed transactions in a group of dependent transactions where one or more transactions in the group have not been committed (Uncommitted transactions might or might not be active at the time of system crash). Our Database
Recovery Service begins with the transaction table constructed in the Analysis phase, which identifies all transactions active at the time of the crash, and includes the Log Sequence Number of the most recent log record (the last Log Sequence Number field) for each such transaction. All actions of such transactions must be undone, and further, these actions will be undone in the reverse of the order in which they appear in the log. Similarly our Database Recovery Service will check for the timestamp and Log Sequence Number of the first transaction in the group of dependent transactions (this action will be carried for all active groups of dependent transactions by looping through the active transaction group identifiers or for groups of dependent transactions whose all transactions are not committed). Our Database Recovery Service will scan the log from the record with the Log Sequence Number and timestamp for the first transaction in the transaction group identifier to look for more actions of the transactions in the same group with the help of transaction group identifier and further, these actions will be undone in the reverse of the order in which they appear in the log.

Claims

Claims Following is the claim for this invention: -
1. In this invention we have a group of database transactions that are
dependent on each other (also may be these transactions must be in predefined order). Our Database service in the cloud gives the client application the option to provide a Transaction Group identifier which follows Write- Ahead Log Protocol will log the transaction details like Log Sequence Number for transaction, transaction identifier, etc. as well as the Transaction Group identifier. The Database service can also log information like timestamp of the first transaction in the Dependent Database Transactions Group along with its Log Sequence Number which makes it easier to search during recovery. Now let us suppose that there were five such transactions in a group and four transactions have occurred with of course their details logged too along with their unique Transaction Group identifier. Suddenly there is a system crash. Our Database Recovery Service following Algorithms for Recovery and Isolation Exploiting Semantics (ARIES) will first do the Analysis phase to determine the point in the log at which to start the Redo pass (from the most recent check point taken by the Database Recovery Service), to determine (a conservative superset of the) pages in the buffer pool that were dirty at the time of the crash (by looking up in the dirty page table maintained by the Buffer Manager), to identify transactions that were active at the time of the crash (by looking up in the transaction table maintained by the Transaction Manager) and must be undone. Then in the Redo phase our Database Recovery Service reapplies the updates of all transactions, committed or otherwise. Further, if a transaction was aborted before the crash and its updates were undone, as indicated by Compensation Log Records (A compensation log record is written just before the change recorded in an update log record U is undone. Such an undo can happen during normal system execution when a transaction is aborted or during recovery from a crash), the actions described in the Compensation Log Records are also reapplied. Now in the Undo phase our Database Recovery Service unlike other two phases scans backward from the end of the log. The goal of this phase to undo the actions of all active transactions at the time of the crash as well as undo the actions all committed transactions in a group of dependent transactions where one or more transactions in the group have not been committed (Uncommitted transactions might or might not be active at the time of system crash).
Our Database Recovery Service begins with the transaction table constructed in the Analysis phase, which identifies all transactions active at the time of the crash, and includes the Log Sequence Number of the most recent log record (the last Log Sequence Number field) for each such transaction. All actions of such transactions must be undone, and further, these actions will be undone in the reverse of the order in which they appear in the log. Similarly our Database Recovery Service will check for the timestamp and Log Sequence Number of the first transaction in the group of dependent transactions (this action will be carried for all active groups of dependent transactions by looping through the active transaction group identifiers or for groups of dependent transactions whose all transactions are not committed). Our Database Recovery Service will scan the log from the record with the Log
Sequence Number and timestamp for the first transaction in the transaction group identifier to look for more actions of the transactions in the same group with the help of transaction group identifier and further, these actions will be undone in the reverse of the order in which they appear in the log. The above novel technique of providing recovery functionality for group of dependent transactions is the claim for this invention.
PCT/IB2018/051456 2018-03-07 2018-03-07 Grouping dependent database transactions for recovery Ceased WO2019171133A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IB2018/051456 WO2019171133A1 (en) 2018-03-07 2018-03-07 Grouping dependent database transactions for recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2018/051456 WO2019171133A1 (en) 2018-03-07 2018-03-07 Grouping dependent database transactions for recovery

Publications (1)

Publication Number Publication Date
WO2019171133A1 true WO2019171133A1 (en) 2019-09-12

Family

ID=67846942

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2018/051456 Ceased WO2019171133A1 (en) 2018-03-07 2018-03-07 Grouping dependent database transactions for recovery

Country Status (1)

Country Link
WO (1) WO2019171133A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928890A (en) * 2019-11-08 2020-03-27 广州华多网络科技有限公司 Data storage method and device, electronic equipment and computer readable medium
CN114936113A (en) * 2022-04-26 2022-08-23 北京科杰科技有限公司 Task avalanche recovery method and device, electronic equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280611A (en) * 1991-11-08 1994-01-18 International Business Machines Corporation Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type
US9772911B2 (en) * 2015-03-27 2017-09-26 International Business Machines Corporation Pooling work across multiple transactions for reducing contention in operational analytics systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280611A (en) * 1991-11-08 1994-01-18 International Business Machines Corporation Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type
US9772911B2 (en) * 2015-03-27 2017-09-26 International Business Machines Corporation Pooling work across multiple transactions for reducing contention in operational analytics systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928890A (en) * 2019-11-08 2020-03-27 广州华多网络科技有限公司 Data storage method and device, electronic equipment and computer readable medium
CN110928890B (en) * 2019-11-08 2023-01-24 广州华多网络科技有限公司 Data storage method and device, electronic equipment and computer readable storage medium
CN114936113A (en) * 2022-04-26 2022-08-23 北京科杰科技有限公司 Task avalanche recovery method and device, electronic equipment and storage medium
CN114936113B (en) * 2022-04-26 2023-07-21 北京科杰科技有限公司 Task avalanche recovery method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
US11921748B1 (en) Method and apparatus for using representations of blocks of data when continuously comparing two databases which are actively being kept synchronized
US7991745B2 (en) Database log capture that publishes transactions to multiple targets to handle unavailable targets by separating the publishing of subscriptions and subsequently recombining the publishing
US8140495B2 (en) Asynchronous database index maintenance
Brewer CAP twelve years later: How the" rules" have changed
EP2657859B1 (en) Ensuring database log recovery consistency
EP2410442B1 (en) Optimizing search for insert-only databases and write-once data storage
US10572508B2 (en) Consistent query execution in hybrid DBMS
US20230214362A1 (en) Database Syncing
US9092475B2 (en) Database log parallelization
US11709821B2 (en) Tracking change data in a database
US7076508B2 (en) Method, system, and program for merging log entries from multiple recovery log files
US11698917B1 (en) Method for replacing a currently operating data replication engine in a bidirectional data replication environment without application downtime and while preserving target database consistency, and by using audit trail tokens that provide a list of active transactions
US7849111B2 (en) Online incremental database dump
EP3876105A1 (en) Efficient methods and systems for consistent read in record-based multi-version concurrency control
EP1465085A2 (en) Transactionally consistent change tracking for databases
US9183245B2 (en) Implicit group commit when writing database log entries
US20040034699A1 (en) Managing data integrity using a filter condition
US5862318A (en) System for generating a gapless series of identity values
US9128969B2 (en) Columnwise storage of point data
US10459804B2 (en) Database rollback using WAL
WO2019171133A1 (en) Grouping dependent database transactions for recovery
CN106991606A (en) transaction data processing method and device
CN107967279A (en) The data-updating method and device of distributed data base
CN104391945B (en) The treating method and apparatus of database file data directory
US20040236744A1 (en) Method for ensuring referential integrity in highly concurrent datbase environments

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18908909

Country of ref document: EP

Kind code of ref document: A1