Dynamic, finite versioning for concurrent transaction and query processing
AssigneeInternational Business Machines Corporation
InventorsMing-Syan Chen, Kun-Lung Wu, Philip Shi-lung Yu
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsMing-Syan Chen, Kun-Lung Wu, Philip Shi-lung Yu
Estimating the term…
A dynamic, finite versioning scheme supports concurrent transaction and query processing in which there is no interference between transactions and queries and no quiescence of either transactions or queries for allowing queries to access a more up-to-date database. Only a finite number of logical versions are dynamically maintained on disk for a database page. Acquiring no locks, queries access appropriate query versions, according to their initiation times. Each corresponding query version of all the database pages constitutes a transaction-consistent, but perhaps slightly out-of-date, database snapshot. Through typical concurrency control mechanisms, different transactions access the most up-to-date versions, and their updates are allowed to be incrementally written into the database before they are committed. To save storage, a physical page copy may simultaneously represent multiple versions. The exact logical version(s) that a physical page copy represents changes dynamically and implicitly. A new mechanism using time-invariant and time-varying data structures is introduced to define query snapshots, to facilitate a new query snapshot to be taken without interrupting either the transaction or query processing, to identify dynamically appropriate versions for transaction and query accesses, and to allow efficient, on-the-fly garbage collection when it is recognized that only a single page copy is sufficient to represent the required logical versions.
In a data processing system supporting concurrent transaction and query processing of a database, a method performed by said data processing system for accessing said database in which there is no interference between transactions and queries and no quiescence of either transactions or queries for allowing queries to access a more up-to-date version of said database, wherein the logical versions that a physical page copy represents change implicitly over time said method comprising the steps of:
A data processing system supporting concurrent transaction and query processing of a database comprising:
Dependencies are inferred from the claim text.