Database concurrency control using time warp
Concurrency control in a distributed database refers to mechanisms which permit multiple transactions to operate on the database simultaneously while ensuring that the database appears consistent to each transaction. Problems which need to be addressed include avoiding or recovering from deadlocked transactions and making transactions operate on a consistent database atomically. Considerable research has been done in this area and concurrency control mechanisms based on two-phase locking and two-phase commit [Hammer80], timestamps [Rosenkrantz78] [Thomas79], multiversion data objects [Reed78] and conflict analysis [Bernstein80a] [Bernstein80b] have been proposed. Each approach offers different advantages and incurs different costs. In this paper we investigate an optimistic algorithm for synchronising distributed database transactions that is based on Time Warp (TW) described by Jefferson [Jefferson85]. The database is assumed to consist of a set of long lived abstract data objects that are operated upon concurrently by a changing set of short lived objects, i.e. transactions. First, a brief outline of the TW algorithm is given, then the characteristics of a concurrency control (CC) algorithm based on TW is presented and finally, we discuss problems and advantages of this CC algorithm, and experience with a particular implementation.