Distributed database system providing data and space management methodology
First Claim
1. in a distributed database system comprising a cluster of nodes and having an allocation page for tracking allocation and deallocation of data pages accessed by multiple nodes, the allocation page including a deallocation bit for tracking deallocation of a data page, a method for determining when to clear the deallocation bit during recovery from failure of a node while other nodes of the distributed database system remains online, the method comprising:
- during runtime operation of the distributed database system, generating log records recording allocation and deallocation of data pages required by the cluster of nodes, setting the deallocation bit during deallocation of a data page by a transaction, and clearing the deallocation bit after the transaction has committed;
during recovery of the distributed database system following a failure of a given node and while other nodes of the distributed database system remains online, determining ownership of the deallocation bit by identifying a particular log record corresponding to the deallocation bit set in the allocation page during deallocation of a given data page;
determining whether the deallocation of the given data page recorded in the particular log record committed prior to the failure; and
if the deallocation of the given data page committed prior to the failure and the ownership of the deallocation bit can be established to the particular log record, clearing the deallocation bit.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed database system providing data and space management methodology. In a distributed database system having an allocation page for tracking allocation and deallocation of data pages including a deallocation bit for tracking data page deallocation, a method for determining when to clear the deallocation bit during recovery comprises: during runtime operation, generating log records recording allocation and deallocation of data pages, setting the deallocation bit during deallocation of a data page by a transaction, and clearing the deallocation bit after the transaction has committed; during recovery following a failure, identifying a particular log record corresponding to the deallocation bit set during deallocation of a given data page; determining whether the deallocation of the given data page recorded in the particular log record committed prior to the failure; and if the deallocation of the given data page committed prior to the failure, clearing the deallocation bit.
-
Citations
30 Claims
-
1. in a distributed database system comprising a cluster of nodes and having an allocation page for tracking allocation and deallocation of data pages accessed by multiple nodes, the allocation page including a deallocation bit for tracking deallocation of a data page, a method for determining when to clear the deallocation bit during recovery from failure of a node while other nodes of the distributed database system remains online, the method comprising:
-
during runtime operation of the distributed database system, generating log records recording allocation and deallocation of data pages required by the cluster of nodes, setting the deallocation bit during deallocation of a data page by a transaction, and clearing the deallocation bit after the transaction has committed; during recovery of the distributed database system following a failure of a given node and while other nodes of the distributed database system remains online, determining ownership of the deallocation bit by identifying a particular log record corresponding to the deallocation bit set in the allocation page during deallocation of a given data page; determining whether the deallocation of the given data page recorded in the particular log record committed prior to the failure; and if the deallocation of the given data page committed prior to the failure and the ownership of the deallocation bit can be established to the particular log record, clearing the deallocation bit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for tracking allocation and deallocation of database pages in a distributed database system having a plurality of database servers sharing access to data pages, the system comprising:
-
an allocation page for tracking allocation and deallocation of data pages in the database system, the allocation page including a deallocation bit for tracking deallocation of a data page, an allocation module for setting the deallocation bit during deallocation of a data page by a transaction, and clearing the deallocation bit after the transaction has committed during runtime operation of the distributed database system; a log module for generating log records recording allocation and deallocation of data pages during runtime operation; and a recovery module for identifying, during recovery from failure of a given database server and while other database servers of the distributed database system remains online, ownership of the deallocation bit by determining a particular log record corresponding to the deallocation bit set in the allocation page during deallocation of a given data page, clearing the deallocation bit if the deallocation of the given data page recorded in the particular log record committed prior to the failure and the ownership of the deallocation bit can be established to the particular log record, and redoing the deallocation and performing any necessary undo action if the deallocation was not committed prior to failure. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. In a distributed database system including a plurality of servers sharing access to data, an improved method for post-commit processing of transactions, the method comprising:
-
maintaining an allocation page timestamp on an allocation page which allocation page timestamp is updated when pages are deallocated; when data pages are deallocated during operation of the distributed database system, setting a deallocation bit on the allocation page; creating log records identifying the deallocated data pages and the allocation page timestamp before and after the deallocation; during database recovery operations following a failure of a given server and while other servers of the distributed database system remain online, determining whether to perform post-commit processing for a committed transaction based on examining the log records to determine if the data page deallocation committed and whether ownership of the deallocation bit can be established to a given log record as a result of the data page deallocation being reflected in that given log record; and performing any post-commit processing determined to be necessary to return the database to a consistent state. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification