Abstract
This paper presents an approach for processing long-duration database transactions with high concurrency degree. The basic idea is based on the use of a repository which stores the data items that can be exposed before the associated transaction commits. The management of the repository is described. Since we allow a transaction to read and update the early exposed data items, if the data items are invalidated we have to rollback the transactions that have read these data items. In order to reduce the cost of rollback, a partial rollback mechanism is proposed. Further, transactions that have read the early exposed data may commit earlier than the corresponding uncommitted transactions. We describe the commit decision rule to determine whether earlier commitment can be allowed, by which the system throughput can be increased.