DATABASE MANAGEMENT SYSTEM WITH EFFICIENT VERSION CONTROL
First Claim
1. A method for processing data, comprising:
- creating a pending content item from a committed content item for a first transaction;
providing a second transaction read access to the committed content item while providing the first transaction read/write access to the pending content item;
flagging the committed content item as deleted when the first transaction commits the pending content item; and
deferring deallocation of the committed content item until the second transaction finishes accessing the committed content item.
1 Assignment
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.
74 Citations
23 Claims
-
1. A method for processing data, comprising:
-
creating a pending content item from a committed content item for a first transaction;
providing a second transaction read access to the committed content item while providing the first transaction read/write access to the pending content item;
flagging the committed content item as deleted when the first transaction commits the pending content item; and
deferring deallocation of the committed content item until the second transaction finishes accessing the committed content item. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer readable medium having stored thereon computer-executable instructions that, when executed by a processor:
-
create a pending content item from a committed content item for a first transaction;
provide a second transaction read access to the committed content item while providing the first transaction read/write access to the pending content item;
flag the committed content item as deleted when the first transaction commits the pending content item; and
defer deallocation of the committed content item until the second transaction finishes accessing the committed content item. - View Dependent Claims (11, 12)
-
-
13. A method, comprising:
-
receiving a request to sort a set of physical content items;
creating a set of logical tuples that contain address values pointing to corresponding physical tuples in a table, the table containing a first set of data records identifying a current sorted order for the set of physical tuples and a second set of data records identifying a desired sorted order for the set of physical tuples;
creating a copy of the logical tuples; and
sorting the copy of the logical tuples according to the second set of data records. - View Dependent Claims (14, 15, 16)
-
-
17. An apparatus, comprising:
-
one or more processors;
a memory coupled to the one or more processors having stored thereon computer-executable instructions that, when executed by a processor;
receive a request to sort a set of physical content items;
create a set of logical tuples that contain address values pointing to corresponding physical tuples in a table, the table containing a first set of data records identifying a current sorted order for the set of physical tuples and a second set of data records identifying a desired sorted order for the set of physical tuples;
create a copy of the logical tuples; and
sort the copy of the logical tuples according to the second set of data records. - View Dependent Claims (18, 19)
-
-
20. A method comprising:
-
performing a first operation that creates a logical tuple and a committed content item;
creating a first index entry for the first operation that causes the logical tuple to point to the committed content item;
performing a second operation that creates a pending content item from the committed content item;
creating a second index entry for the second operation that causes a read associated with the second operation to skip the first index entry and use the second index entry, the second index entry then causing the logical tuple to point to the pending content item. - View Dependent Claims (21, 22, 23)
-
Specification