Multiple version database concurrency control system
AssigneeInternational Business Machines Corporation
InventorsRaymond A. Lorie, Chandrasekaran Mohan, Mir H. Pirahesh
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsRaymond A. Lorie, Chandrasekaran Mohan, Mir H. Pirahesh
Estimating the term…
An improved concurrency control system for application to a distributed concurrent transaction and query processing system using multi-version database records to overcome delays arising from lock conflicts. Read-only queries are afforded a consistent "stable state" of the database during the life of the query. Updating transactions requiring locks can proceed without waiting for the termination of long queries. At least two database versions are necessary, although availability of more versions permits long read-only queries to phase-out over time without forcing new queries to use aged "stable-state" data and without roll-back. Read-only queries can be terminated and converted to locking transactions to permit an update of the "stable state" database version before the queries would normally terminate. A novel record key structure having a plurality of substructures corresponding to the several database versions is used to access database records. Rapid selection of proper record version and efficient version tracking and updating is effected using several bit-mapped transaction index tables.
In a computer-implemented concurrent transaction and readonly query processing system in which a plurality N of versions of a database are maintained during a present version period (v), said database including a plurality of data records that are updated by said transactions and read by said queries, a plurality of versions of each of said plurality of data records being distributed among said database versions, each said database version (i) consisting essentially of said data records existing at the beginning of the corresponding said version period (i), each said version period (i) being the time interval between one said database version (i) and the next subsequent said database version (i+1), said database versions including a present database version (v), a present stable database version (v-1) and an oldest database version (v-N+1), wherein N is a positive integer greater than 2, a method for concurrency control comprising the unordered steps of:
In a computer-implemented concurrent transaction and read-only query processing system in which at least two versions of a database are maintained during a present version period, said database including a plurality of data records that are updated by said transactions and read by said queries, at least two versions of each data record of said plurality of data records being distributed among said database versions, each said database version(i) consisting essentially of said data records existing at the beginning of a corresponding said version period (i), each said version period (i) being the time interval between one said database version (i) and the next subsequent said database version (i+1), said versions including a present version and a stable version, a method for concurrency control comprising the underordered steps of:
In a distributed computer-implemented concurrent transaction and query processing system having a plurality of nodes in each of which are maintained portions of up to N versions of a distributed database, said distributed database including a plurality of data records distributed among said nodes, each data record of said plurality of data records being updated by said transactions and read by said queries, a plurality of versions of each said data record being distributed among said database versions, each said database version (i) at each node consisting essentially of the version (i) of said data records existing at said each node at the beginning of a corresponding said version period (i) for each said node, each said version period (i) for said each node being the time interval between one said database version (i) and the next subsequent said database version (i+1) for said each node, said database versions including a present database version (v), a present stable database version (v-1) and an oldest database version (v-N+2), said nodes having both original and received transactions and queries, wherein N is a positive integer greater than 2, a method for concurrency control comprising the unordered steps of:
A computer-implemented concurrent transaction and query processing system comprising:
A computer-implemented concurrent transaction and query processing system comprising:
Dependencies are inferred from the claim text.