Database management system with efficient version control
First Claim
Patent Images
1. A database system, comprising:
- a database containing physical content items; and
a processor creating a pending content item from a committed content item for a write transaction and providing a second read transaction read access only to the committed content item while providing the write transaction read and write access to the pending content item and ownership of both the committed content item and the pending content item, the processor creating a fake delete of the committed content item by flagging the committed content item as deleted when the write transaction commits the pending content item while the committed content item is still being accessed by the second read transaction and transferring ownership of the committed content item to the second read transaction causing the second read transaction to defer deallocation of the committed content item and then causing immediate deallocation of the committed content item when the read transaction finishes accessing the committed content item.
5 Assignments
0 Petitions
Accused Products
Abstract
A two copy versioning scheme is proposed. The scheme provides efficient implementation for a high read load database and eliminates read dependencies. The versioning scheme provides efficient implementation for transactions executing under ANSI READ COMMITTED isolation, and is extensible to serializable isolation. The two-copy versioning scheme is garbage free meaning that all versions of data records are used during execution and is adapted to index scanning operations. A “deferred delete” scheme allows read transactions to complete data deallocation operations. Statements that require “snapshots” are efficiently supported.
-
Citations
24 Claims
-
1. A database system, comprising:
-
a database containing physical content items; and a processor creating a pending content item from a committed content item for a write transaction and providing a second read transaction read access only to the committed content item while providing the write transaction read and write access to the pending content item and ownership of both the committed content item and the pending content item, the processor creating a fake delete of the committed content item by flagging the committed content item as deleted when the write transaction commits the pending content item while the committed content item is still being accessed by the second read transaction and transferring ownership of the committed content item to the second read transaction causing the second read transaction to defer deallocation of the committed content item and then causing immediate deallocation of the committed content item when the read transaction finishes accessing the committed content item. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium containing code that when executed operates as part of a database management system, the computer-readable medium comprising:
-
code for managing a database containing physical content items; code for creating a pending content item from a committed content item for a write transaction; code for providing a read transaction access to the committed content item while providing the write transaction access to the pending content item; code for flagging the committed content item as deleted when the write transaction commits the pending content item; code for deferring deallocation of the committed content item until the read transaction finishes accessing the committed content item; and code for deallocating a version-list as if the delete of the committed content item was actually performed irrespective of what other transactions are reading the committed content item while at the same time maintaining an allocation bit for the committed content item in a state that prevents the committed content item from being recycled by the processor. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A database management system, comprising:
-
means for managing a database containing physical content items; means for creating a pending content item from a committed content item for a write transaction; means for providing a read transaction access to the committed content item while providing the write transaction access to the pending content item; means for flagging the committed content item as deleted when the write transaction commits the pending content item; and means for deferring deallocation of the committed content item until the read transaction finishes accessing the committed content item; means for incrementing a reference count each time a read transaction accesses the committed content item and decrementing the reference count each time the read transaction finishes accessing the committed content item; and means for deallocating the committed content item when the committed content item has been previously marked for deletion and the read transaction decrements the reference count to zero. - View Dependent Claims (17, 18, 19)
-
-
20. A method for managing a database, comprising:
-
managing the database containing physical content items; creating a pending content item from a committed content item for a write transaction; providing a read transaction access to the committed content item while providing the write transaction read and write access to the pending content item and control over both the committed content item and the pending content item; flagging the committed content item as deleted when the write transaction commits the pending content item even though the committed content item is not currently available for deletion and still being accessed by the read transaction, the flagging of the committed content item transferring deallocation control of the committed content item from the write transaction to the read transaction; and deferring deallocation of the committed content item until the read transaction finishes accessing the committed content item. - View Dependent Claims (21, 22, 23, 24)
-
Specification